quick, quick, slow...

Submitted by lkcl
on December 18, 2006 - 11:39pm

argh.

things were going _so_ well on the htc sable (ipaq hw6915) and then i ran into suspend/resume hell for over a week, went to holland for another week, and i think i left the charger there, so i can't carry on until i find it.

in the mean-time, i've been playing with other devices: sound on the blueangel, which is hell, and the s3c2442-based htc hermes, which is hell. all in all, i don't feel like i've actually achieved anything, for over two weeks. and it's pissing me off.

three years ago, i bashed my head against the texas instruments tsc2200 touchscreen for nearly twelve weeks, and it was terribly exasperating. this is fairly similar.

sound on the blueangel we've been chasing for eighteen months. the UDA1380 data sheet says that you need to enable some sort of PLL clock because SYSCLK is enabled by default, and the interpolator (speaker-side) is independent of the ADC (mic-side) and has its own clock system. whilst doing a reset, these clocks need to be running.

unfortunately, on the blueangel, the microphone is connected to the PXA 263's i2s bus, and the speaker is connected to the PXA 263's ssp bus - and never the twain shall meet.

this means that you can have audio sampling clocked at a different sample rate from the playback, and it also saves power because if you're not recording from the mic (and you've switched the mic over from the UDA1380 and direct onto the GSM radio module) then you don't need the UDA1380 for anything, and can switch it off.

likewise, if you want to record what someone is saying on the phone, then you can switch on the UDA1380... you get the idea: it's horrendously complex.

fortunately, the car audio kit is disabled on the blueangel, otherwise that would make a combination of about seven different audio sources. as it is, there are about sixteen GPIO pins dedicated specifically to audio - and the blueangel is a _simple_ device (you should see what cr2 has to deal with, on the htc universal: the AK4641 is totally maxed out and pushed to the limit, functionality-wise, with headphone, headset, two microphones, FOUR speakers,
bluetooth _and_ car-kit as options - and the AK4641 can route _anything_ to _anything_...)

and in amongst the sixteen or so GPIOs for the blueangel, i have to locate not only the one that is connected to the UDA1380's codec reset, but also i have to work out the sequence of clock initialisations - where there are at least three to five clocks involved, three of which are on the infamous ASIC3, and then there's i2s initialisation and also ssp initialisation.

three weeks so far, and i'm giving serious consideration to packing it all in,
but simple stubborn pride has stopped me from doing that so far.

well - again, it's late. i really should sit and think about i can usefully spend the next two to three weeks on. and it might not involve linux kernel hacking.

it's been a while - I know

Magician user (not verified)
on
March 4, 2008 - 8:02pm

... so did you get the UDA1380 to work - or did you pack it in?

:-)

Regards,
Chris

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.