On Wednesday 13 May 2009 16:05:49 ext Mark Brown wrote:
On Wed, May 13, 2009 at 03:57:09PM +0300, Peter Ujfalusi wrote:
Mark: About the power up and down sequences in the soc-dapm.c file: are they written in stone, or is it possible to make some - I think - minor modification to the sequences?
The change you've made is to power the amplifiers down after the mixers. That's going to cause problems on other systems - the result is going to be that the amplifiers end up amplifying any noise the mixers make on the way down which isn't good. There's bits of the sequence that can be fairly readily reordered but I'd worry about that particular change.
That is why I'm a bit nervous when I need to touch the core... It has been working fine for all other codes so far. In the twl4030 codec case, the playback involves the following chain in DAPM domain:
Headset, PreDrive, Carkit, Earpiece: DAC -> PGA -> Mixer -> output pin.
Handsfree: DAC -> PGA -> Mux -> output pin.
While for example the WM9713 has it in this way: DAC -> Mixer -> PGA -> output pin
While I was looking at the sequences, I wonder why the mux and mixer handled in a differently?
I mean, that in power up the order is (simplified): mux -> dac -> mixer -> pga
in power down: pga -> mixer -> dac -> mux
Is it possible to add several SND_SOC_DAPM_PRE to the DAPM routing? For example to the HeadsetL, HeadsetR, HandsFreeL and HandsFreeR? How does it than would work? If this is possible, than I can handle the correct power up/down sequences required for the twl4030 codec.