summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/max9867.c
diff options
context:
space:
mode:
authorPavel Dobias <dobias@2n.cz>2020-05-20 10:19:03 +0300
committerMark Brown <broonie@kernel.org>2020-05-20 17:48:19 +0300
commit80b9fa4dead406f9a0aef5b364eb237872986c2c (patch)
treec6bf2cd97dfe045e81f98adeb400496e2151ce43 /sound/soc/codecs/max9867.c
parentaf53d5738cb0fd61da0bc3f5a884df7af237d20d (diff)
downloadlinux-80b9fa4dead406f9a0aef5b364eb237872986c2c.tar.xz
ASoC: max9867: add mono playback switch
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>
Diffstat (limited to 'sound/soc/codecs/max9867.c')
-rw-r--r--sound/soc/codecs/max9867.c4
1 files changed, 3 insertions, 1 deletions
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;
}