On Thursday 19 March 2009 07:44:23 ext Joonyoung Shim wrote: > Hi, my thunderbird progrem breaked down, so i send from gmail > > > The reason to have the VALUE_ENUM for the audio path selection is that > > according to the TRM only one of the paths can be enabled at the time. > > It's not true. I tested playback about Predrive Right audio path(My target > is not connected with Predriver Left) > The AudioL2 and AudioR2 was enabled and i played audio wav file of three > type following; > 1. wav file recorded only left channel > 2. wav file recorded only right channel > 3. wav file recorded left and right channel > The result is that all was sounded. If the controller is mux, the case of 1 > or 2 haven't to sound. > > > While the voice path can be mixed with one of the audio paths (at least > > that is my understanding). > > So: > > AudioL*/AudioR* (DACL*/DACR*) = Mux > > Voice, AudioL/R* (DACL/R*) = Mix > > > > I think it would be better to leave the current VALUE_ENUMS for the audio > > path and add a switch for the Voice enable/disable for the outputs and > > route them through a mixer to the output. > > The mixer DAPM is suitable the structure of control registers(0x21, 0x22, > 0x25, 0x26, 0x27, 0x28) of path except Handsfree path because each bit for > path is switchable. > If we use the mixer DAPM, the switch DAPM for voice path doesn't need. > > > Probably than it makes sense to rename the "Earpice Mux" and friends to > > something like "Earpiece aduio Mux"... > > So we would have two controls per outputs: > > "Earpiece aduio Mux" (Off, DACL1, DACL2, DACR1) > > "Earpiece voice Switch" (on, off) > > and internally we can have "Earpiece output mixer", which mixes them > > together. I have given a try to your patch, although it does not work out of the box, but I can verify that you are indeed right. I have been also wondering about these mixer/mux controls for the outputs and the block diagrams in the TRM has MIX in these outputs, but in other places it hints that they are a mixture of mux and mixers. PS 01: you have been missing this part from your patch, which is needed for DAPM to power on the path: /* outputs */ {"OUTL", NULL, "ARXL2_APGA"}, {"OUTR", NULL, "ARXR2_APGA"}, - {"EARPIECE", NULL, "Earpiece Mux"}, - {"PREDRIVEL", NULL, "PredriveL Mux"}, - {"PREDRIVER", NULL, "PredriveR Mux"}, - {"HSOL", NULL, "HeadsetL Mux"}, - {"HSOR", NULL, "HeadsetR Mux"}, - {"CARKITL", NULL, "CarkitL Mux"}, - {"CARKITR", NULL, "CarkitR Mux"}, + {"EARPIECE", NULL, "Earpiece Mixer"}, + {"PREDRIVEL", NULL, "PredriveL Mixer"}, + {"PREDRIVER", NULL, "PredriveR Mixer"}, + {"HSOL", NULL, "HeadsetL Mixer"}, + {"HSOR", NULL, "HeadsetR Mixer"}, + {"CARKITL", NULL, "CarkitL Mixer"}, + {"CARKITR", NULL, "CarkitR Mixer"}, {"HFL", NULL, "HandsfreeL Mux"}, {"HFR", NULL, "HandsfreeR Mux"}, If you add this to your patch, I'll be happy to ack it. PS 02: I have hard time to get 'git am' to apply the patch: git am ../[PATCH\]\ ASoC\:\ twl4030\ -\ Add\ VDL\ path\ support.mbox fatal: cannot convert from ks_c_5601-1987 to utf-8 Does anyone know how to handle this? -- Péter _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel