mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 11:41:29 -04:00
ASoC: tlv320adcx140: add channel sum control
Add control for channel summation. 3 modes are supported: 1. "Disabled": Normal operation 2. "2 Channel": Every two channels are summed and divided by 2 Out 1 <- (CH1 + CH2) / 2 Out 2 <- (CH1 + CH2) / 2 Out 3 <- (CH3 + CH4) / 2 Out 4 <- (CH3 + CH4) / 2 3. "4 Channel": Every four channels are summed and divided by 4 Out 1 <- (CH1 + CH2 + CH3 + CH4) / 4 Out 2 <- (CH1 + CH2 + CH3 + CH4) / 4 Out 3 <- (CH1 + CH2 + CH3 + CH4) / 4 Out 4 <- (CH1 + CH2 + CH3 + CH4) / 4 Signed-off-by: Emil Svendsen <emas@bang-olufsen.dk> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://patch.msgid.link/20260113-sound-soc-codecs-tvl320adcx140-v4-10-8f7ecec525c8@pengutronix.de Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
2219823f7d
commit
8a98e7f55f
@@ -222,6 +222,13 @@ static const struct snd_kcontrol_new decimation_filter_controls[] = {
|
||||
SOC_DAPM_ENUM("Decimation Filter", decimation_filter_enum),
|
||||
};
|
||||
|
||||
static const char * const channel_summation_text[] = {
|
||||
"Disabled", "2 Channel", "4 Channel"
|
||||
};
|
||||
|
||||
static SOC_ENUM_SINGLE_DECL(channel_summation_enum, ADCX140_DSP_CFG0, 2,
|
||||
channel_summation_text);
|
||||
|
||||
static const char * const pdmclk_text[] = {
|
||||
"2.8224 MHz", "1.4112 MHz", "705.6 kHz", "5.6448 MHz"
|
||||
};
|
||||
@@ -711,6 +718,8 @@ static const struct snd_kcontrol_new adcx140_snd_controls[] = {
|
||||
ADCX140_PHASE_CALIB_SWITCH("Phase Calibration Switch"),
|
||||
|
||||
SOC_SINGLE("Biquads Per Channel", ADCX140_DSP_CFG1, 5, 3, 0),
|
||||
|
||||
SOC_ENUM("Channel Summation", channel_summation_enum),
|
||||
};
|
||||
|
||||
static int adcx140_reset(struct adcx140_priv *adcx140)
|
||||
|
||||
Reference in New Issue
Block a user