diff mbox series

[v2] ASoC: qcom: SC7280: Add support for external DMIC bias supply

Message ID 1659016789-9933-1-git-send-email-quic_srivasam@quicinc.com (mailing list archive)
State New, archived
Headers show
Series [v2] ASoC: qcom: SC7280: Add support for external DMIC bias supply | expand

Commit Message

Srinivasa Rao Mandadapu July 28, 2022, 1:59 p.m. UTC
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(+)

Comments

Mark Brown July 28, 2022, 2:22 p.m. UTC | #1
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.
Srinivasa Rao Mandadapu July 28, 2022, 4:09 p.m. UTC | #2
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",
             .....

             .....

};
Srinivas Kandagatla July 29, 2022, 8:39 a.m. UTC | #3
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
>              .....
> 
>              .....
> 
> };
> 
>
Srinivasa Rao Mandadapu July 29, 2022, 12:03 p.m. UTC | #4
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.
>>              .....
>>
>>              .....
>>
>> };
>>
>>
diff mbox series

Patch

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)