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.