[alsa-devel] [PATCH] ASoC: twl4030 - Add VDL path support

Joonyoung Shim jy0922.shim at samsung.com
Tue Mar 24 12:00:40 CET 2009

Peter Ujfalusi 쓴 글:
> 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.

Yes, i missed it and will add it.
I will send new patch adding more controls for VDL path.


> 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?

Hmm, maybe this problem seems appear because of korean character encoding
of thunderbird, so i will use utf-8 character.


More information about the Alsa-devel mailing list