diff mbox series

arm64: dts: rockchip: fix probe of analog sound card on rock-3a

Message ID 20230115211553.445007-1-jonas@kwiboo.se
State Accepted
Commit 1104693cdfcd337e73ab585a225f05445ff7a864
Headers show
Series arm64: dts: rockchip: fix probe of analog sound card on rock-3a | expand

Commit Message

Jonas Karlman Jan. 15, 2023, 9:15 p.m. UTC
The following was observed on my Radxa ROCK 3 Model A board:

  rockchip-pinctrl pinctrl: pin gpio1-9 already requested by vcc-cam-regulator; cannot claim for fe410000.i2s
  ...
  platform rk809-sound: deferred probe pending

Fix this by supplying a board specific pinctrl with the i2s1 pins used
by pmic codec according to the schematic [1].

[1] https://dl.radxa.com/rock3/docs/hw/3a/ROCK-3A-V1.3-SCH.pdf

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 2 ++
 1 file changed, 2 insertions(+)

Comments

Michael Riesch Jan. 16, 2023, 8:41 a.m. UTC | #1
Hi Jonas,

On 1/15/23 22:15, Jonas Karlman wrote:
> The following was observed on my Radxa ROCK 3 Model A board:
> 
>   rockchip-pinctrl pinctrl: pin gpio1-9 already requested by vcc-cam-regulator; cannot claim for fe410000.i2s
>   ...
>   platform rk809-sound: deferred probe pending
> 
> Fix this by supplying a board specific pinctrl with the i2s1 pins used
> by pmic codec according to the schematic [1].
> 
> [1] https://dl.radxa.com/rock3/docs/hw/3a/ROCK-3A-V1.3-SCH.pdf
> 
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>

Makes sense to me, but...

> ---
>  arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
> index 00d873a03cfe..a149c8b83f94 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
> @@ -573,6 +573,8 @@ &i2s0_8ch {
>  };
>  
>  &i2s1_8ch {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>;

... shouldn't this include i2s1m0_mclk as well?

For some reason this has been omitted in the pinctrl defined in
rk356x.dtsi. But then rk356x.dtsi also claims
 - both i2s1m0_sdo1 and i2s1m0_sdi3
 - both i2s1m0_sdo2 and i2s1m0_sdi2
 - both i2s1m0_sdo3 and i2s1m0_sdi1
which are mapped to the same respective pins. Therefore it seems that
there might be something wrong with this pinctrl altogether.

Cc: Nicolas Frattaroli, maybe he can provide some clarification.

Best regards,
Michael

>  	rockchip,trcm-sync-tx-only;
>  	status = "okay";
>  };
Jonas Karlman Jan. 16, 2023, 9:29 a.m. UTC | #2
Hi Michael,

On 2023-01-16 09:41, Michael Riesch wrote:
> Hi Jonas,
> 
> On 1/15/23 22:15, Jonas Karlman wrote:
>> The following was observed on my Radxa ROCK 3 Model A board:
>>
>>    rockchip-pinctrl pinctrl: pin gpio1-9 already requested by vcc-cam-regulator; cannot claim for fe410000.i2s
>>    ...
>>    platform rk809-sound: deferred probe pending
>>
>> Fix this by supplying a board specific pinctrl with the i2s1 pins used
>> by pmic codec according to the schematic [1].
>>
>> [1] https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdl.radxa.com%2Frock3%2Fdocs%2Fhw%2F3a%2FROCK-3A-V1.3-SCH.pdf&data=05%7C01%7C%7Cb09a8096d417409ca0c108daf79d85f2%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638094553170941885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=upix1Lqcu1y5vYkPtcB5Ao5TA04brBcecCS0LX2ipe4%3D&reserved=0
>>
>> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
> 
> Makes sense to me, but...
> 
>> ---
>>   arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>> index 00d873a03cfe..a149c8b83f94 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>> @@ -573,6 +573,8 @@ &i2s0_8ch {
>>   };
>>   
>>   &i2s1_8ch {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>;
> 
> ... shouldn't this include i2s1m0_mclk as well?

i2s1m0_mclk is already included in the pmic/rk809 pinctrl, so it was omitted from the i2s1_8ch pinctrl.

Best regards,
Jonas

> 
> For some reason this has been omitted in the pinctrl defined in
> rk356x.dtsi. But then rk356x.dtsi also claims
>   - both i2s1m0_sdo1 and i2s1m0_sdi3
>   - both i2s1m0_sdo2 and i2s1m0_sdi2
>   - both i2s1m0_sdo3 and i2s1m0_sdi1
> which are mapped to the same respective pins. Therefore it seems that
> there might be something wrong with this pinctrl altogether.
> 
> Cc: Nicolas Frattaroli, maybe he can provide some clarification.
> 
> Best regards,
> Michael
> 
>>   	rockchip,trcm-sync-tx-only;
>>   	status = "okay";
>>   };
Michael Riesch Jan. 16, 2023, 3:23 p.m. UTC | #3
Hi Jonas,

On 1/16/23 10:29, Jonas Karlman wrote:
> Hi Michael,
> 
> On 2023-01-16 09:41, Michael Riesch wrote:
>> Hi Jonas,
>>
>> On 1/15/23 22:15, Jonas Karlman wrote:
>>> The following was observed on my Radxa ROCK 3 Model A board:
>>>
>>>    rockchip-pinctrl pinctrl: pin gpio1-9 already requested by
>>> vcc-cam-regulator; cannot claim for fe410000.i2s
>>>    ...
>>>    platform rk809-sound: deferred probe pending
>>>
>>> Fix this by supplying a board specific pinctrl with the i2s1 pins used
>>> by pmic codec according to the schematic [1].
>>>
>>> [1]
>>> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdl.radxa.com%2Frock3%2Fdocs%2Fhw%2F3a%2FROCK-3A-V1.3-SCH.pdf&data=05%7C01%7C%7Cb09a8096d417409ca0c108daf79d85f2%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638094553170941885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=upix1Lqcu1y5vYkPtcB5Ao5TA04brBcecCS0LX2ipe4%3D&reserved=0
>>>
>>> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
>>
>> Makes sense to me, but...
>>
>>> ---
>>>   arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 2 ++
>>>   1 file changed, 2 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>> b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>> index 00d873a03cfe..a149c8b83f94 100644
>>> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>> @@ -573,6 +573,8 @@ &i2s0_8ch {
>>>   };
>>>     &i2s1_8ch {
>>> +    pinctrl-names = "default";
>>> +    pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0
>>> &i2s1m0_sdo0>;
>>
>> ... shouldn't this include i2s1m0_mclk as well?
> 
> i2s1m0_mclk is already included in the pmic/rk809 pinctrl, so it was
> omitted from the i2s1_8ch pinctrl.

ah ok! In this case:

Acked-by: Michael Riesch <michael.riesch@wolfvision.net>

Best regards,
Michael

> 
> Best regards,
> Jonas
> 
>>
>> For some reason this has been omitted in the pinctrl defined in
>> rk356x.dtsi. But then rk356x.dtsi also claims
>>   - both i2s1m0_sdo1 and i2s1m0_sdi3
>>   - both i2s1m0_sdo2 and i2s1m0_sdi2
>>   - both i2s1m0_sdo3 and i2s1m0_sdi1
>> which are mapped to the same respective pins. Therefore it seems that
>> there might be something wrong with this pinctrl altogether.
>>
>> Cc: Nicolas Frattaroli, maybe he can provide some clarification.
>>
>> Best regards,
>> Michael
>>
>>>       rockchip,trcm-sync-tx-only;
>>>       status = "okay";
>>>   };
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
index 00d873a03cfe..a149c8b83f94 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
@@ -573,6 +573,8 @@  &i2s0_8ch {
 };
 
 &i2s1_8ch {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>;
 	rockchip,trcm-sync-tx-only;
 	status = "okay";
 };