[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