[alsa-devel] Configuring an audio path within ALSA

Patrick Lai plai at codeaurora.org
Wed Jun 27 07:27:50 CEST 2012

On 6/26/2012 12:52 AM, rashmi narayan wrote:
> Thank you Patrick .
> Currently my codec driver SGTL5000.c has the following audio map
> static const struct snd_soc_dapm_route audio_map[] = {
> {"ADC Mux", "LINE_IN", "LINE_IN"},
> {"ADC Mux", "MIC_IN", "MIC_IN"},
> {"ADC", NULL, "ADC Mux"},
> {"DAC Mux", "DAC", "DAC"},
> {"DAC Mux", "LINE_IN", "LINE_IN"},
> {"LO", NULL, "DAC"},
> {"HP", NULL, "DAC Mux"},
> {"LINE_OUT", NULL, "LO"},
> {"HP_OUT", NULL, "HP"},
> };
> This map does not have a link from ADC to DAC.
> You mention "After a set of ALSA mixer commands is issued to create a
> path from one end point to another end point" , how do we issue those
> commands? to create a link , currently my alsa mixer shows no option for
> a ADC to DAC select.

If you have widgets defined matching what you specify in audio_map, you
should see mixer command i.e "ADC Mux' base on audio map you have
given. Then you give amixer 'ADC Mux' 'LINE_IN', this would translate
to writing codec register to have ADC Mux take LINE_IN as input. Audio
map is defined base on your CODEC topology. I would not be able to
comment on how to enable CODEC loopback for your CODEC. However,
the audio map you provided above is kind of fishy. For example,
shouldn't DAC be sink instead of source
{"DAC", "DAC", "DAC MUX"} as opposed to {"DAC Mux", "DAC", "DAC"}

> -Rashmi

Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

More information about the Alsa-devel mailing list