ASoC: codecs: rk730: add support control "ADC SDO SEL TX" for capturing route

The 'ADCL ADCR DACL DACR' need to use 2ch/32bit format, for example:
arecord -Dhw:0,0 -c 2 -r 48000 -fs32_le -t raw /tmp/record_2ch32bit.pcm

Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Change-Id: I93cba43c4e18eee4d82819c6036667d0a427f0e5
This commit is contained in:
Xing Zheng
2025-03-31 10:39:19 +08:00
committed by Tao Huang
parent b63f278551
commit 2fe8584c3f

View File

@@ -143,6 +143,14 @@ static const struct snd_kcontrol_new rk730_out2_switch =
static SOC_ENUM_SINGLE_DECL(ana_ldo_volt_enum, RK730_LDO,
4, ana_ldo_volt_text);
static const char * const adc_sdo_sel_tx_text[] = {
"ADCL ADCR", "ADCL ADCR DACL DACR", "ADCL DACL", "ADCL DACR",
"ADCR DACL", "ADCR DACR", "DACL DACR",
};
static SOC_ENUM_SINGLE_DECL(adc_sdo_sel_tx_enum, RK730_DI2S_TXCR2,
5, adc_sdo_sel_tx_text);
static int rk730_pll_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
{
@@ -477,6 +485,7 @@ static const struct snd_kcontrol_new rk730_snd_controls[] = {
SOC_ENUM("Mic Bias Volt", micbias_volt_enum),
SOC_ENUM("DAC HPF Center Freq", dac_hfp_center_freq_enum),
SOC_ENUM("ADC CAPACITY TRIM", adc_capacity_trim_enum),
SOC_ENUM("ADC SDO SEL TX", adc_sdo_sel_tx_enum),
SOC_SINGLE("ADC Volume Bypass Switch", RK730_DTOP_VUCTL, 7, 1, 0),
SOC_SINGLE("DAC Volume Bypass Switch", RK730_DTOP_VUCTL, 6, 1, 0),
SOC_SINGLE("ADC Fade Switch", RK730_DTOP_VUCTL, 5, 1, 0),