Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1244407 > unrolled thread

[PATCH] arm: dts: Fix audio card detection on peach boards

Started byAlim Akhtar <alim.akhtar@samsung.com>
First post2015-10-12 08:40 +0200
Last post2015-10-12 14:30 +0200
Articles 6 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] arm: dts: Fix audio card detection on peach boards Alim Akhtar <alim.akhtar@samsung.com> - 2015-10-12 08:40 +0200
    Re: [PATCH] arm: dts: Fix audio card detection on peach boards Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2015-10-12 08:50 +0200
      Re: [PATCH] arm: dts: Fix audio card detection on peach boards Sylwester Nawrocki <s.nawrocki@samsung.com> - 2015-10-12 11:30 +0200
        Re: [PATCH] arm: dts: Fix audio card detection on peach boards Alim Akhtar <alim.akhtar@samsung.com> - 2015-10-12 14:30 +0200
        Re: [PATCH] arm: dts: Fix audio card detection on peach boards Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2015-10-12 15:00 +0200
      Re: [PATCH] arm: dts: Fix audio card detection on peach boards Alim Akhtar <alim.akhtar@samsung.com> - 2015-10-12 14:30 +0200

#1244407 — [PATCH] arm: dts: Fix audio card detection on peach boards

FromAlim Akhtar <alim.akhtar@samsung.com>
Date2015-10-12 08:40 +0200
Subject[PATCH] arm: dts: Fix audio card detection on peach boards
Message-ID<qiEW6-7G0-11@gated-at.bofh.it>
Since the merge of 2fad972 ("ARM: dts: Add mclk entry for Peach boards"),
sound card detection is broken on peach boards and gives below errors:

[    3.630457] max98090 7-0010: MAX98091 REVID=0x51
[    3.634233] max98090 7-0010: use default 2.8v micbias
[    3.640985] snow-audio sound: HiFi <-> 3830000.i2s mapping ok
[    3.645307] max98090 7-0010: Invalid master clock frequency
[    3.650824] snow-audio sound: ASoC: Peach-Pi-I2S-MAX98091 late_probe() failed: -22
[    3.658914] snow-audio sound: snd_soc_register_card failed (-22)
[    3.664366] snow-audio: probe of sound failed with error -22

This patch adds missing assigned-clocks and assigned-clock-parents for
pmu_system_controller node which is used as "mclk" for audio codec.

Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
Fixes: 2fad972 ("ARM: dts: Add mclk entry for Peach boards")
Cc: <stable@vger.kernel.org>
---
 arch/arm/boot/dts/exynos5420-peach-pit.dts |    5 +++++
 arch/arm/boot/dts/exynos5800-peach-pi.dts  |    5 +++++
 2 files changed, 10 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index 8f4d76c..525a93a 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -1056,5 +1056,10 @@
 	timeout-sec = <32>;
 };
 
+&pmu_system_controller {
+	assigned-clocks = <&pmu_system_controller 0>;
+	assigned-clock-parents =  <&clock CLK_FIN_PLL>;
+};
+
 #include "cros-ec-keyboard.dtsi"
 #include "cros-adc-thermistors.dtsi"
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index 7d5b386..411de8f 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -1019,5 +1019,10 @@
 	timeout-sec = <32>;
 };
 
+&pmu_system_controller {
+	assigned-clocks = <&pmu_system_controller 0>;
+	assigned-clock-parents =  <&clock CLK_FIN_PLL>;
+};
+
 #include "cros-ec-keyboard.dtsi"
 #include "cros-adc-thermistors.dtsi"
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1244411

FromKrzysztof Kozlowski <k.kozlowski@samsung.com>
Date2015-10-12 08:50 +0200
Message-ID<qiF5M-7Ss-9@gated-at.bofh.it>
In reply to#1244407
On 12.10.2015 15:26, Alim Akhtar wrote:
> Since the merge of 2fad972 ("ARM: dts: Add mclk entry for Peach boards"),

Please switch to longer SHA abbreviation:
$ git config core.abbrev 12

> sound card detection is broken on peach boards and gives below errors:
> 
> [    3.630457] max98090 7-0010: MAX98091 REVID=0x51
> [    3.634233] max98090 7-0010: use default 2.8v micbias
> [    3.640985] snow-audio sound: HiFi <-> 3830000.i2s mapping ok
> [    3.645307] max98090 7-0010: Invalid master clock frequency
> [    3.650824] snow-audio sound: ASoC: Peach-Pi-I2S-MAX98091 late_probe() failed: -22
> [    3.658914] snow-audio sound: snd_soc_register_card failed (-22)
> [    3.664366] snow-audio: probe of sound failed with error -22
> 
> This patch adds missing assigned-clocks and assigned-clock-parents for
> pmu_system_controller node which is used as "mclk" for audio codec.
> 
> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
> Fixes: 2fad972 ("ARM: dts: Add mclk entry for Peach boards")
> Cc: <stable@vger.kernel.org>
> ---
>  arch/arm/boot/dts/exynos5420-peach-pit.dts |    5 +++++
>  arch/arm/boot/dts/exynos5800-peach-pi.dts  |    5 +++++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
> index 8f4d76c..525a93a 100644
> --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
> +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
> @@ -1056,5 +1056,10 @@
>  	timeout-sec = <32>;
>  };
>  
> +&pmu_system_controller {

Please put the node in alphabetical order.

> +	assigned-clocks = <&pmu_system_controller 0>;
> +	assigned-clock-parents =  <&clock CLK_FIN_PLL>;

I might be missing something here but isn't the first clock of
pmu_system_controller already a CLK_FIN_PLL? So you are reparenting the
FIN_PLL to FIN_PLL?

In the same time there is doubled space character after '='.

> +};
> +
>  #include "cros-ec-keyboard.dtsi"
>  #include "cros-adc-thermistors.dtsi"
> diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
> index 7d5b386..411de8f 100644
> --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
> +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
> @@ -1019,5 +1019,10 @@
>  	timeout-sec = <32>;
>  };
>  
> +&pmu_system_controller {
> +	assigned-clocks = <&pmu_system_controller 0>;
> +	assigned-clock-parents =  <&clock CLK_FIN_PLL>;

Ditto.

Best regards,
Krzysztof


> +};
> +
>  #include "cros-ec-keyboard.dtsi"
>  #include "cros-adc-thermistors.dtsi"
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1244517

FromSylwester Nawrocki <s.nawrocki@samsung.com>
Date2015-10-12 11:30 +0200
Message-ID<qiHAC-38y-1@gated-at.bofh.it>
In reply to#1244411
On 12/10/15 08:47, Krzysztof Kozlowski wrote:
>> diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
>> > index 8f4d76c..525a93a 100644
>> > --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
>> > +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
>> > @@ -1056,5 +1056,10 @@
>> >  	timeout-sec = <32>;
>> >  };
>> >  
>> > +&pmu_system_controller {
>
> Please put the node in alphabetical order.
> 
>> > +	assigned-clocks = <&pmu_system_controller 0>;
>> > +	assigned-clock-parents =  <&clock CLK_FIN_PLL>;
>
> I might be missing something here but isn't the first clock of
> pmu_system_controller already a CLK_FIN_PLL? So you are reparenting the
> FIN_PLL to FIN_PLL?

No, it's not, the first PMU consumer clock is indeed CLK_FIN_PLL,
but pmu_system_controller is also a clock provider.  The first output
clock of pmu_system_controller is CLKOUT, it's a composite mux and
gate clock (registered in drivers/clk/samsung /clk-exynos-clkout.c).
So  the above dts change is selecting an external oscillator input of
the CLKOUT mux, i.e. it will route 24 MHz clock signal from the external
oscillator to the CLKOUT output pin, to which audio CODEC is connected
on peach-pit AFAICS.

-- 
Regards,
Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1244642

FromAlim Akhtar <alim.akhtar@samsung.com>
Date2015-10-12 14:30 +0200
Message-ID<qiKoN-7fZ-1@gated-at.bofh.it>
In reply to#1244517
Hi Sylwester,

On 10/12/2015 02:48 PM, Sylwester Nawrocki wrote:
> On 12/10/15 08:47, Krzysztof Kozlowski wrote:
>>> diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
>>>> index 8f4d76c..525a93a 100644
>>>> --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
>>>> +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
>>>> @@ -1056,5 +1056,10 @@
>>>>   	timeout-sec = <32>;
>>>>   };
>>>>
>>>> +&pmu_system_controller {
>>
>> Please put the node in alphabetical order.
>>
>>>> +	assigned-clocks = <&pmu_system_controller 0>;
>>>> +	assigned-clock-parents =  <&clock CLK_FIN_PLL>;
>>
>> I might be missing something here but isn't the first clock of
>> pmu_system_controller already a CLK_FIN_PLL? So you are reparenting the
>> FIN_PLL to FIN_PLL?
>
> No, it's not, the first PMU consumer clock is indeed CLK_FIN_PLL,
> but pmu_system_controller is also a clock provider.  The first output
> clock of pmu_system_controller is CLKOUT, it's a composite mux and
> gate clock (registered in drivers/clk/samsung /clk-exynos-clkout.c).
> So  the above dts change is selecting an external oscillator input of
> the CLKOUT mux, i.e. it will route 24 MHz clock signal from the external
> oscillator to the CLKOUT output pin, to which audio CODEC is connected
> on peach-pit AFAICS.
>
Thanks for your explanation, indeed master clock of codec is
connected to XCLKOUT on peach boards.
Will send v2 addressing Kezysztof's other comments.

Regards,
Alim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1244667

FromKrzysztof Kozlowski <k.kozlowski@samsung.com>
Date2015-10-12 15:00 +0200
Message-ID<qiKRQ-7QK-21@gated-at.bofh.it>
In reply to#1244517
W dniu 12.10.2015 o 18:18, Sylwester Nawrocki pisze:
> On 12/10/15 08:47, Krzysztof Kozlowski wrote:
>>> diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
>>>> index 8f4d76c..525a93a 100644
>>>> --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
>>>> +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
>>>> @@ -1056,5 +1056,10 @@
>>>>  	timeout-sec = <32>;
>>>>  };
>>>>  
>>>> +&pmu_system_controller {
>>
>> Please put the node in alphabetical order.
>>
>>>> +	assigned-clocks = <&pmu_system_controller 0>;
>>>> +	assigned-clock-parents =  <&clock CLK_FIN_PLL>;
>>
>> I might be missing something here but isn't the first clock of
>> pmu_system_controller already a CLK_FIN_PLL? So you are reparenting the
>> FIN_PLL to FIN_PLL?
> 
> No, it's not, the first PMU consumer clock is indeed CLK_FIN_PLL,
> but pmu_system_controller is also a clock provider. 

Oh yes, indeed it is. Thanks for pointing me in right direction.

Best regards,
Krzysztof

> The first output
> clock of pmu_system_controller is CLKOUT, it's a composite mux and
> gate clock (registered in drivers/clk/samsung /clk-exynos-clkout.c).
> So  the above dts change is selecting an external oscillator input of
> the CLKOUT mux, i.e. it will route 24 MHz clock signal from the external
> oscillator to the CLKOUT output pin, to which audio CODEC is connected
> on peach-pit AFAICS.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1244643

FromAlim Akhtar <alim.akhtar@samsung.com>
Date2015-10-12 14:30 +0200
Message-ID<qiKoO-7fZ-27@gated-at.bofh.it>
In reply to#1244411
Hello Kezysztof
Thanks for your review.

On 10/12/2015 12:17 PM, Krzysztof Kozlowski wrote:
> On 12.10.2015 15:26, Alim Akhtar wrote:
>> Since the merge of 2fad972 ("ARM: dts: Add mclk entry for Peach boards"),
>
> Please switch to longer SHA abbreviation:
> $ git config core.abbrev 12
>
ok, will do thanks
>> sound card detection is broken on peach boards and gives below errors:
>>
>> [    3.630457] max98090 7-0010: MAX98091 REVID=0x51
>> [    3.634233] max98090 7-0010: use default 2.8v micbias
>> [    3.640985] snow-audio sound: HiFi <-> 3830000.i2s mapping ok
>> [    3.645307] max98090 7-0010: Invalid master clock frequency
>> [    3.650824] snow-audio sound: ASoC: Peach-Pi-I2S-MAX98091 late_probe() failed: -22
>> [    3.658914] snow-audio sound: snd_soc_register_card failed (-22)
>> [    3.664366] snow-audio: probe of sound failed with error -22
>>
>> This patch adds missing assigned-clocks and assigned-clock-parents for
>> pmu_system_controller node which is used as "mclk" for audio codec.
>>
>> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
>> Fixes: 2fad972 ("ARM: dts: Add mclk entry for Peach boards")
>> Cc: <stable@vger.kernel.org>
>> ---
>>   arch/arm/boot/dts/exynos5420-peach-pit.dts |    5 +++++
>>   arch/arm/boot/dts/exynos5800-peach-pi.dts  |    5 +++++
>>   2 files changed, 10 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
>> index 8f4d76c..525a93a 100644
>> --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
>> +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
>> @@ -1056,5 +1056,10 @@
>>   	timeout-sec = <32>;
>>   };
>>
>> +&pmu_system_controller {
>
> Please put the node in alphabetical order.
>
ok
>> +	assigned-clocks = <&pmu_system_controller 0>;
>> +	assigned-clock-parents =  <&clock CLK_FIN_PLL>;
>
> I might be missing something here but isn't the first clock of
> pmu_system_controller already a CLK_FIN_PLL? So you are reparenting the
> FIN_PLL to FIN_PLL?
>
> In the same time there is doubled space character after '='.
>
will remove

>> +};
>> +
>>   #include "cros-ec-keyboard.dtsi"
>>   #include "cros-adc-thermistors.dtsi"
>> diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
>> index 7d5b386..411de8f 100644
>> --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
>> +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
>> @@ -1019,5 +1019,10 @@
>>   	timeout-sec = <32>;
>>   };
>>
>> +&pmu_system_controller {
>> +	assigned-clocks = <&pmu_system_controller 0>;
>> +	assigned-clock-parents =  <&clock CLK_FIN_PLL>;
>
> Ditto.
>
> Best regards,
> Krzysztof
>
>
>> +};
>> +
>>   #include "cros-ec-keyboard.dtsi"
>>   #include "cros-adc-thermistors.dtsi"
>>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web