From 80b9fa4dead406f9a0aef5b364eb237872986c2c Mon Sep 17 00:00:00 2001
From: Pavel Dobias <dobias@2n.cz>
Date: Wed, 20 May 2020 09:19:03 +0200
Subject: [PATCH] ASoC: max9867: add mono playback switch
Git-commit: 80b9fa4dead406f9a0aef5b364eb237872986c2c
Patch-mainline: v5.8-rc1
References: jsc#SLE-16518
Add Mono Playback switch to codec controls which enables codec's
capability of mixing left and right channel at the DAC output.
Signed-off-by: Pavel Dobias <dobias@2n.cz>
Link: https://lore.kernel.org/r/20200520071904.15801-5-dobias@2n.cz
Signed-off-by: Mark Brown <broonie@kernel.org>
Acked-by: Takashi Iwai <tiwai@suse.de>
---
sound/soc/codecs/max9867.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sound/soc/codecs/max9867.c b/sound/soc/codecs/max9867.c
index 22e06a795042..f100070a59ca 100644
--- a/sound/soc/codecs/max9867.c
+++ b/sound/soc/codecs/max9867.c
@@ -79,6 +79,7 @@ static const struct snd_kcontrol_new max9867_snd_controls[] = {
SOC_ENUM("DSP Filter", max9867_filter),
SOC_ENUM("ADC Filter", max9867_adc_filter),
SOC_ENUM("DAC Filter", max9867_dac_filter),
+ SOC_SINGLE("Mono Playback Switch", MAX9867_IFC1B, 3, 1, 0),
};
/* Input mixer */
@@ -361,7 +362,8 @@ static int max9867_dai_set_fmt(struct snd_soc_dai *codec_dai,
}
regmap_write(max9867->regmap, MAX9867_IFC1A, iface1A);
- regmap_write(max9867->regmap, MAX9867_IFC1B, iface1B);
+ regmap_update_bits(max9867->regmap, MAX9867_IFC1B,
+ MAX9867_IFC1B_BCLK_MASK, iface1B);
return 0;
}
--
2.16.4