brcm2708: update to latest patches from RPi foundation
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0358-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0358-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch b/target/linux/brcm2708/patches-4.19/950-0358-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch
new file mode 100644 (file)
index 0000000..1d57237
--- /dev/null
@@ -0,0 +1,40 @@
+From 0962637c67a56c1ae42ccb14c9e71c62f4aa1403 Mon Sep 17 00:00:00 2001
+From: Annaliese McDermond <nh6z@nh6z.net>
+Date: Wed, 3 Apr 2019 21:01:54 -0700
+Subject: [PATCH] ASoC: tlv320aic32x4: Add Switch for Setting Common
+ Mode Voltage
+
+commit 44ceee847e27c828f2f1ef4e400e6bc0c8d04de3 upstream.
+
+Add a switch for setting common mode voltage.  This can allow
+for higher drive levels on the amplifier outputs.
+
+Signed-off-by: Annaliese McDermond <nh6z@nh6z.net>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+---
+ sound/soc/codecs/tlv320aic32x4.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/sound/soc/codecs/tlv320aic32x4.c
++++ b/sound/soc/codecs/tlv320aic32x4.c
+@@ -242,6 +242,12 @@ static DECLARE_TLV_DB_SCALE(tlv_driver_g
+ /* -12dB min, 0.5dB steps */
+ static DECLARE_TLV_DB_SCALE(tlv_adc_vol, -1200, 50, 0);
++static const char * const lo_cm_text[] = {
++      "Full Chip", "1.65V",
++};
++
++static SOC_ENUM_SINGLE_DECL(lo_cm_enum, AIC32X4_CMMODE, 3, lo_cm_text);
++
+ static const struct snd_kcontrol_new aic32x4_snd_controls[] = {
+       SOC_DOUBLE_R_S_TLV("PCM Playback Volume", AIC32X4_LDACVOL,
+                       AIC32X4_RDACVOL, 0, -0x7f, 0x30, 7, 0, tlv_pcm),
+@@ -255,6 +261,7 @@ static const struct snd_kcontrol_new aic
+                       AIC32X4_HPRGAIN, 6, 0x01, 1),
+       SOC_DOUBLE_R("LO DAC Playback Switch", AIC32X4_LOLGAIN,
+                       AIC32X4_LORGAIN, 6, 0x01, 1),
++      SOC_ENUM("LO Playback Common Mode Switch", lo_cm_enum),
+       SOC_DOUBLE_R("Mic PGA Switch", AIC32X4_LMICPGAVOL,
+                       AIC32X4_RMICPGAVOL, 7, 0x01, 1),