Update SC7280 machine driver for enabling external dmic bias supply,
which is required for villager evt boards.
Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
---
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)
--
2.7.4
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.
>> .....
>>
>> .....
>>
>> };
>>
>>