How to apply a SOC_DAPM_MUX if two there are two different input register for left and right channel?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello guys,

I have some trouble I want to implement a mux within the mixer application for the VIN source of my adc. Taking a look into the datasheet of the TI-PCM1863 adc I get the information that the VIN left register is at the 0x06 and the VIN right register is at the 0x07 address. Right now my code would look like this and here comes the problem it seems that there is only a SOC_ENUM_SINGLE_DECL or a SOC_ENUM_DOUBLE_DECL but no SOC_ENUM_DOUBLE_R_DECL because the DOUBLE_DECL only allows shiftl and shiftr as the input parameters but I would need a regl regr parameter. Is the only option to duplicate the code and define a VIN_L_MUX and a VIN_R_MUX?

static const char * const pcm1863_adc_vin_src[] = {
        "VIN1", "VIN2", "VIN3", "VIN4"
};

static SOC_ENUM_SINGLE_DECL(
        pcm1863_adc_vin_enum, PCM1863_ADC1_INPUT_SEL_L,
        PCM1863_SEL_L_SHIFT, pcm1863_vin_src);

static const struct snd_kcontrol_new pcm1863_adc_vin_mux =
        SOC_DAPM_ENUM("ADC VIN Source", pcm1863_adc_vin_enum);

static const struct snd_soc_dapm_widget pcm1863_dapm_widgets[] = {
        [...]
        SND_SOC_DAPM_MUX("ADC VIN Mux", SND_SOC_NOPM, 0, 0,
                                &pcm1863_adc_vin_mux),
};

- Sanj3k

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux