mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 17:48:58 +00:00
7d7aa2fd92
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
79 lines
2.5 KiB
Diff
79 lines
2.5 KiB
Diff
From 053938f67f73773152f70d89aa32e7893ee19694 Mon Sep 17 00:00:00 2001
|
|
From: b-ak <anur.bhargav@gmail.com>
|
|
Date: Wed, 9 Jan 2019 22:41:21 +0530
|
|
Subject: [PATCH] ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is
|
|
deprecated
|
|
|
|
commit 04d979d7a7bac2f645cd827ea37e5ffa5b4e1f97 upstream.
|
|
|
|
SND_SOC_DAPM_MICBIAS is deprecated, replace it with SND_SOC_DAPM_SUPPLY.
|
|
|
|
MICBIAS voltage wasn't supplied to the microphone with the older
|
|
SND_SOC_DAPM_MICBIAS widget, hence the microphone wouldn't work.
|
|
|
|
This patch fixes the problem.
|
|
|
|
Signed-off-by: b-ak <anur.bhargav@gmail.com>
|
|
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
---
|
|
sound/soc/codecs/tlv320aic32x4.c | 30 +++++++++++++++++++++++++++++-
|
|
sound/soc/codecs/tlv320aic32x4.h | 1 +
|
|
2 files changed, 30 insertions(+), 1 deletion(-)
|
|
|
|
--- a/sound/soc/codecs/tlv320aic32x4.c
|
|
+++ b/sound/soc/codecs/tlv320aic32x4.c
|
|
@@ -79,6 +79,32 @@ struct aic32x4_priv {
|
|
struct device *dev;
|
|
};
|
|
|
|
+static int mic_bias_event(struct snd_soc_dapm_widget *w,
|
|
+ struct snd_kcontrol *kcontrol, int event)
|
|
+{
|
|
+ struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
|
|
+
|
|
+ switch (event) {
|
|
+ case SND_SOC_DAPM_POST_PMU:
|
|
+ /* Change Mic Bias Registor */
|
|
+ snd_soc_component_update_bits(component, AIC32X4_MICBIAS,
|
|
+ AIC32x4_MICBIAS_MASK,
|
|
+ AIC32X4_MICBIAS_LDOIN |
|
|
+ AIC32X4_MICBIAS_2075V);
|
|
+ printk(KERN_DEBUG "%s: Mic Bias will be turned ON\n", __func__);
|
|
+ break;
|
|
+ case SND_SOC_DAPM_PRE_PMD:
|
|
+ snd_soc_component_update_bits(component, AIC32X4_MICBIAS,
|
|
+ AIC32x4_MICBIAS_MASK, 0);
|
|
+ printk(KERN_DEBUG "%s: Mic Bias will be turned OFF\n",
|
|
+ __func__);
|
|
+ break;
|
|
+ }
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+
|
|
static int aic32x4_get_mfp1_gpio(struct snd_kcontrol *kcontrol,
|
|
struct snd_ctl_elem_value *ucontrol)
|
|
{
|
|
@@ -450,7 +476,9 @@ static const struct snd_soc_dapm_widget
|
|
SND_SOC_DAPM_MUX("IN3_R to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0,
|
|
in3r_to_lmixer_controls),
|
|
|
|
- SND_SOC_DAPM_MICBIAS("Mic Bias", AIC32X4_MICBIAS, 6, 0),
|
|
+ SND_SOC_DAPM_SUPPLY("Mic Bias", AIC32X4_MICBIAS, 6, 0, mic_bias_event,
|
|
+ SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD),
|
|
+
|
|
|
|
SND_SOC_DAPM_OUTPUT("HPL"),
|
|
SND_SOC_DAPM_OUTPUT("HPR"),
|
|
--- a/sound/soc/codecs/tlv320aic32x4.h
|
|
+++ b/sound/soc/codecs/tlv320aic32x4.h
|
|
@@ -195,6 +195,7 @@ int aic32x4_remove(struct device *dev);
|
|
/* AIC32X4_MICBIAS */
|
|
#define AIC32X4_MICBIAS_LDOIN BIT(3)
|
|
#define AIC32X4_MICBIAS_2075V 0x60
|
|
+#define AIC32x4_MICBIAS_MASK GENMASK(6, 3)
|
|
|
|
/* AIC32X4_LMICPGANIN */
|
|
#define AIC32X4_LMICPGANIN_IN2R_10K 0x10
|