[PATCH v2] ASoC: qcom: SC7280: Add support for external DMIC bias supply
Update SC7280 machine driver for enabling external dmic bias supply, which is required for villager evt boards.
Signed-off-by: Srinivasa Rao Mandadapu quic_srivasam@quicinc.com --- Changes since v1: -- Replace dapm widget SND_SOC_DAPM_MIC with SND_SOC_DAPM_REGULATOR_SUPPLY. sound/soc/qcom/sc7280.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/sound/soc/qcom/sc7280.c b/sound/soc/qcom/sc7280.c index da7469a..4a60f34 100644 --- a/sound/soc/qcom/sc7280.c +++ b/sound/soc/qcom/sc7280.c @@ -356,6 +356,7 @@ static const struct snd_soc_ops sc7280_ops = { static const struct snd_soc_dapm_widget sc7280_snd_widgets[] = { SND_SOC_DAPM_HP("Headphone Jack", NULL), SND_SOC_DAPM_MIC("Headset Mic", NULL), + SND_SOC_DAPM_REGULATOR_SUPPLY("DMICVDD", 0, 0), };
static int sc7280_snd_platform_probe(struct platform_device *pdev)
On Thu, Jul 28, 2022 at 07:29:49PM +0530, Srinivasa Rao Mandadapu wrote:
Update SC7280 machine driver for enabling external dmic bias supply, which is required for villager evt boards.
+++ b/sound/soc/qcom/sc7280.c @@ -356,6 +356,7 @@ static const struct snd_soc_ops sc7280_ops = { static const struct snd_soc_dapm_widget sc7280_snd_widgets[] = { SND_SOC_DAPM_HP("Headphone Jack", NULL), SND_SOC_DAPM_MIC("Headset Mic", NULL),
- SND_SOC_DAPM_REGULATOR_SUPPLY("DMICVDD", 0, 0),
};
static int sc7280_snd_platform_probe(struct platform_device *pdev)
Don't you want to connect this to something? This won't do anything as-is. I can't see any references to DMICVDD which might be failing to resolve in the current sound/soc/qcom.
On 7/28/2022 7:52 PM, Mark Brown wrote: Thanks for your time Mark!!!
On Thu, Jul 28, 2022 at 07:29:49PM +0530, Srinivasa Rao Mandadapu wrote:
Update SC7280 machine driver for enabling external dmic bias supply, which is required for villager evt boards. +++ b/sound/soc/qcom/sc7280.c @@ -356,6 +356,7 @@ static const struct snd_soc_ops sc7280_ops = { static const struct snd_soc_dapm_widget sc7280_snd_widgets[] = { SND_SOC_DAPM_HP("Headphone Jack", NULL), SND_SOC_DAPM_MIC("Headset Mic", NULL),
SND_SOC_DAPM_REGULATOR_SUPPLY("DMICVDD", 0, 0), };
static int sc7280_snd_platform_probe(struct platform_device *pdev)
Don't you want to connect this to something? This won't do anything as-is. I can't see any references to DMICVDD which might be failing to resolve in the current sound/soc/qcom.
The connection is being done to "VA DMIC"through audio routing in board specific dts file.
Will post the changes once the main dts patches are landed.
Ex:-
&sound { DMICVDD-supply = <&pp1800_l2c>;
audio-routing = "IN1_HPHL", "HPHL_OUT", "IN2_HPHR", "HPHR_OUT", "AMIC1", "MIC BIAS1", "AMIC2", "MIC BIAS2", "VA DMIC0", "DMICVDD", "VA DMIC1", "DMICVDD", "VA DMIC2", "DMICVDD", "VA DMIC3", "DMICVDD", .....
.....
};
On 28/07/2022 17:09, Srinivasa Rao Mandadapu wrote:
On 7/28/2022 7:52 PM, Mark Brown wrote: Thanks for your time Mark!!!
On Thu, Jul 28, 2022 at 07:29:49PM +0530, Srinivasa Rao Mandadapu wrote:
Update SC7280 machine driver for enabling external dmic bias supply, which is required for villager evt boards. +++ b/sound/soc/qcom/sc7280.c @@ -356,6 +356,7 @@ static const struct snd_soc_ops sc7280_ops = { static const struct snd_soc_dapm_widget sc7280_snd_widgets[] = { SND_SOC_DAPM_HP("Headphone Jack", NULL), SND_SOC_DAPM_MIC("Headset Mic", NULL), + SND_SOC_DAPM_REGULATOR_SUPPLY("DMICVDD", 0, 0), }; static int sc7280_snd_platform_probe(struct platform_device *pdev)
Don't you want to connect this to something? This won't do anything as-is. I can't see any references to DMICVDD which might be failing to resolve in the current sound/soc/qcom.
The connection is being done to "VA DMIC"through audio routing in board specific dts file.
Will post the changes once the main dts patches are landed.
Ex:-
&sound { DMICVDD-supply = <&pp1800_l2c>;
audio-routing = "IN1_HPHL", "HPHL_OUT", "IN2_HPHR", "HPHR_OUT", "AMIC1", "MIC BIAS1", "AMIC2", "MIC BIAS2", "VA DMIC0", "DMICVDD", "VA DMIC1", "DMICVDD", "VA DMIC2", "DMICVDD", "VA DMIC3", "DMICVDD",
You should just use "vdd-micb" instead of DMICVDD. There is already a SUPPLY DAPM in lpass-va-macro codec.
--srini
.....
.....
};
On 7/29/2022 2:09 PM, Srinivas Kandagatla wrote:
Thanks for your time and valuable input Srini!!!
On 28/07/2022 17:09, Srinivasa Rao Mandadapu wrote:
On 7/28/2022 7:52 PM, Mark Brown wrote: Thanks for your time Mark!!!
On Thu, Jul 28, 2022 at 07:29:49PM +0530, Srinivasa Rao Mandadapu wrote:
Update SC7280 machine driver for enabling external dmic bias supply, which is required for villager evt boards. +++ b/sound/soc/qcom/sc7280.c @@ -356,6 +356,7 @@ static const struct snd_soc_ops sc7280_ops = { static const struct snd_soc_dapm_widget sc7280_snd_widgets[] = { SND_SOC_DAPM_HP("Headphone Jack", NULL), SND_SOC_DAPM_MIC("Headset Mic", NULL), + SND_SOC_DAPM_REGULATOR_SUPPLY("DMICVDD", 0, 0), }; static int sc7280_snd_platform_probe(struct platform_device *pdev)
Don't you want to connect this to something? This won't do anything as-is. I can't see any references to DMICVDD which might be failing to resolve in the current sound/soc/qcom.
The connection is being done to "VA DMIC"through audio routing in board specific dts file.
Will post the changes once the main dts patches are landed.
Ex:-
&sound { DMICVDD-supply = <&pp1800_l2c>;
audio-routing = "IN1_HPHL", "HPHL_OUT", "IN2_HPHR", "HPHR_OUT", "AMIC1", "MIC BIAS1", "AMIC2", "MIC BIAS2", "VA DMIC0", "DMICVDD", "VA DMIC1", "DMICVDD", "VA DMIC2", "DMICVDD", "VA DMIC3", "DMICVDD",
You should just use "vdd-micb" instead of DMICVDD. There is already a SUPPLY DAPM in lpass-va-macro codec.
--srini
Yes it's available in va macro. Will test with vdd-micb DAPM. if that works, I think we can drop this patch.
.....
.....
};
participants (3)
-
Mark Brown
-
Srinivas Kandagatla
-
Srinivasa Rao Mandadapu