[alsa-devel] [PATCH 3/3] ASoC: nau8810: add aux input control, available on NAU8812

Marco Felsch m.felsch at pengutronix.de
Fri Nov 15 17:08:19 CET 2019


From: Thomas Fehrenbacher <thomas.fehrenbacher at siedle.de>

This commit adds the support to control the aux-port on the nau8812
devices. We don't need to differentiate the aux-port registers since
those bitfields are set to '0' on the nau8810 devices [1,2].

[1] http://www.nuvoton.com/resource-files/NAU8810_Datasheet_Rev_2.8.pdf
[2] http://www.nuvoton.com/resource-files/NAU8812DatasheetRev2.7.pdf

Signed-off-by: Thomas Fehrenbacher <thomas.fehrenbacher at siedle.de>
[m.felsch at pengutronix.de: add commit message]
Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
---
 sound/soc/codecs/nau8810.c | 7 +++++++
 sound/soc/codecs/nau8810.h | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/sound/soc/codecs/nau8810.c b/sound/soc/codecs/nau8810.c
index a32a4a8d5f50..b1024d24d413 100644
--- a/sound/soc/codecs/nau8810.c
+++ b/sound/soc/codecs/nau8810.c
@@ -351,6 +351,9 @@ static const struct snd_kcontrol_new nau8810_snd_controls[] = {
 		NAU8810_DACOS_SFT, 1, 0),
 	SOC_SINGLE("ADC Oversampling Rate(128x) Switch", NAU8810_REG_ADC,
 		NAU8810_ADCOS_SFT, 1, 0),
+
+	SOC_SINGLE("AUX Input Enable Switch", NAU8810_REG_POWER1,
+		NAU8810_AUX_EN_SFT, 1, 0),
 };
 
 /* Speaker Output Mixer */
@@ -383,6 +386,8 @@ static const struct snd_kcontrol_new nau8810_inpga[] = {
 		NAU8810_NMICPGA_SFT, 1, 0),
 	SOC_DAPM_SINGLE("MicP Switch", NAU8810_REG_INPUT_SIGNAL,
 		NAU8810_PMICPGA_SFT, 1, 0),
+	SOC_DAPM_SINGLE("AUX Switch", NAU8810_REG_INPUT_SIGNAL,
+		NAU8810_AUXPGA_SFT, 1, 0),
 };
 
 /* Loopback Switch */
@@ -436,6 +441,7 @@ static const struct snd_soc_dapm_widget nau8810_dapm_widgets[] = {
 
 	SND_SOC_DAPM_INPUT("MICN"),
 	SND_SOC_DAPM_INPUT("MICP"),
+	SND_SOC_DAPM_INPUT("AUX"),
 	SND_SOC_DAPM_OUTPUT("MONOOUT"),
 	SND_SOC_DAPM_OUTPUT("SPKOUTP"),
 	SND_SOC_DAPM_OUTPUT("SPKOUTN"),
@@ -470,6 +476,7 @@ static const struct snd_soc_dapm_route nau8810_dapm_routes[] = {
 	{"Input PGA", NULL, "Mic Bias"},
 	{"Input PGA", "MicN Switch", "MICN"},
 	{"Input PGA", "MicP Switch", "MICP"},
+	{"Input PGA", "AUX Switch", "AUX"},
 
 	/* Digital Looptack */
 	{"Digital Loopback", "Switch", "ADC"},
diff --git a/sound/soc/codecs/nau8810.h b/sound/soc/codecs/nau8810.h
index 1ada31883dc6..7b5ecad173d3 100644
--- a/sound/soc/codecs/nau8810.h
+++ b/sound/soc/codecs/nau8810.h
@@ -69,6 +69,7 @@
 
 /* NAU8810_REG_POWER1 (0x1) */
 #define NAU8810_DCBUF_EN		(0x1 << 8)
+#define NAU8810_AUX_EN_SFT		6
 #define NAU8810_PLL_EN_SFT		5
 #define NAU8810_MICBIAS_EN_SFT	4
 #define NAU8810_ABIAS_EN		(0x1 << 3)
@@ -229,6 +230,7 @@
 /* NAU8810_REG_INPUT_SIGNAL (0x2C) */
 #define NAU8810_PMICPGA_SFT		0
 #define NAU8810_NMICPGA_SFT		1
+#define NAU8810_AUXPGA_SFT		2
 
 /* NAU8810_REG_PGAGAIN (0x2D) */
 #define NAU8810_PGAGAIN_SFT		0
-- 
2.20.1



More information about the Alsa-devel mailing list