mbox series

[0/5] DT fixes for Rockchip RK809 audio codec support

Message ID 20240619-rk809-fixes-v1-0-fa93bc5313f4@collabora.com
Headers show
Series DT fixes for Rockchip RK809 audio codec support | expand

Message

Cristian Ciocaltea June 19, 2024, 11:23 a.m. UTC
Rockchip RK809 MFD provides a RK817 compatible audio codec, supported by
the rk817_codec driver.

This patch series fixes a few issues identified by dtbs_check for the
boards making use of the codec: rk3566-quartz64-b, k3566-roc-pc,
rk3568-evb1-v10, rk3568-lubancat-2, rk3568-odroid-m1, rk3568-rock-3a.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
Cristian Ciocaltea (5):
      dt-bindings: mfd: rk809: Use correct compatible in the example
      dt-bindings: mfd: rk809: Add missing audio codec properties
      arm64: dts: rockchip: Fix mic-in-differential usage on rk3568-rock-3a
      arm64: dts: rockchip: Fix mic-in-differential usage on rk3566-roc-pc
      arm64: dts: rockchip: Fix mic-in-differential usage on rk3568-evb1-v10

 .../devicetree/bindings/mfd/rockchip,rk809.yaml    | 38 ++++++++++++++++++----
 arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts     |  2 +-
 arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts   |  2 +-
 arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts    |  2 +-
 4 files changed, 34 insertions(+), 10 deletions(-)
---
base-commit: 6906a84c482f098d31486df8dc98cead21cce2d0
change-id: 20240619-rk809-fixes-1e330758e1ff

Comments

Jonas Karlman June 19, 2024, 12:22 p.m. UTC | #1
Hi Cristian,

On 2024-06-19 13:23, Cristian Ciocaltea wrote:
> The 'mic-in-differential' DT property supported by the RK809/RK817 audio
> codec driver is actually valid if prefixed with 'rockchip,':
> 
>   DTC_CHK arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dtb
>   rk3568-rock-3a.dtb: pmic@20: codec: 'mic-in-differential' does not match any of the regexes: 'pinctrl-[0-9]+'
> 	from schema $id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml#
> 
> Make use of the correct property name.
> 
> Fixes: a84ffd2ef1ff ("arm64: dts: rockchip: Fix mic-in-differential usage on rock-3a")
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> ---
>  arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
> index ebdedea15ad1..0b54dfe92d6e 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
> @@ -533,7 +533,7 @@ regulator-state-mem {
>  		};
>  
>  		codec {
> -			mic-in-differential;
> +			rockchip,mic-in-differential;

If I understand the schematics correctly, only one wire is connected so
this board cannot really use differential signaling, and this should
probably instead be dropped.

Regards,
Jonas

>  		};
>  	};
>  };
>
Cristian Ciocaltea June 19, 2024, 12:56 p.m. UTC | #2
Hi Jonas,

On 6/19/24 3:22 PM, Jonas Karlman wrote:
> Hi Cristian,
> 
> On 2024-06-19 13:23, Cristian Ciocaltea wrote:
>> The 'mic-in-differential' DT property supported by the RK809/RK817 audio
>> codec driver is actually valid if prefixed with 'rockchip,':
>>
>>   DTC_CHK arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dtb
>>   rk3568-rock-3a.dtb: pmic@20: codec: 'mic-in-differential' does not match any of the regexes: 'pinctrl-[0-9]+'
>> 	from schema $id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml#
>>
>> Make use of the correct property name.
>>
>> Fixes: a84ffd2ef1ff ("arm64: dts: rockchip: Fix mic-in-differential usage on rock-3a")
>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
>> ---
>>  arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>> index ebdedea15ad1..0b54dfe92d6e 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>> @@ -533,7 +533,7 @@ regulator-state-mem {
>>  		};
>>  
>>  		codec {
>> -			mic-in-differential;
>> +			rockchip,mic-in-differential;
> 
> If I understand the schematics correctly, only one wire is connected so
> this board cannot really use differential signaling, and this should
> probably instead be dropped.

Thanks for pointing this out, I will drop it in v2.

Regards,
Cristian
Cristian Ciocaltea June 21, 2024, 1:23 a.m. UTC | #3
On 6/19/24 3:56 PM, Cristian Ciocaltea wrote:
> Hi Jonas,
> 
> On 6/19/24 3:22 PM, Jonas Karlman wrote:
>> Hi Cristian,
>>
>> On 2024-06-19 13:23, Cristian Ciocaltea wrote:
>>> The 'mic-in-differential' DT property supported by the RK809/RK817 audio
>>> codec driver is actually valid if prefixed with 'rockchip,':
>>>
>>>   DTC_CHK arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dtb
>>>   rk3568-rock-3a.dtb: pmic@20: codec: 'mic-in-differential' does not match any of the regexes: 'pinctrl-[0-9]+'
>>> 	from schema $id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml#
>>>
>>> Make use of the correct property name.
>>>
>>> Fixes: a84ffd2ef1ff ("arm64: dts: rockchip: Fix mic-in-differential usage on rock-3a")
>>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
>>> ---
>>>  arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>> index ebdedea15ad1..0b54dfe92d6e 100644
>>> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>> @@ -533,7 +533,7 @@ regulator-state-mem {
>>>  		};
>>>  
>>>  		codec {
>>> -			mic-in-differential;
>>> +			rockchip,mic-in-differential;
>>
>> If I understand the schematics correctly, only one wire is connected so
>> this board cannot really use differential signaling, and this should
>> probably instead be dropped.
> 
> Thanks for pointing this out, I will drop it in v2.

I've also checked the schematics which indicate the PMIC RK809 CODEC
receives both MIC1_INN and MIC1_INP signals; the former comes from the
Jack input, while the latter is generated by the SLM42Q3AT MEMS Microphone.

However, I'm not sure the Mic presence on the board is dependent on the
HW revision - on REV V1.3 the "NC_" prefix under U24 component label
suggests it is not connected.  So maybe we should keep the property?!

Cristian
Jonas Karlman June 21, 2024, 6:58 a.m. UTC | #4
Hi Cristian,

On 2024-06-21 03:23, Cristian Ciocaltea wrote:
> On 6/19/24 3:56 PM, Cristian Ciocaltea wrote:
>> Hi Jonas,
>>
>> On 6/19/24 3:22 PM, Jonas Karlman wrote:
>>> Hi Cristian,
>>>
>>> On 2024-06-19 13:23, Cristian Ciocaltea wrote:
>>>> The 'mic-in-differential' DT property supported by the RK809/RK817 audio
>>>> codec driver is actually valid if prefixed with 'rockchip,':
>>>>
>>>>   DTC_CHK arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dtb
>>>>   rk3568-rock-3a.dtb: pmic@20: codec: 'mic-in-differential' does not match any of the regexes: 'pinctrl-[0-9]+'
>>>> 	from schema $id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml#
>>>>
>>>> Make use of the correct property name.
>>>>
>>>> Fixes: a84ffd2ef1ff ("arm64: dts: rockchip: Fix mic-in-differential usage on rock-3a")
>>>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
>>>> ---
>>>>  arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>>> index ebdedea15ad1..0b54dfe92d6e 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>>> @@ -533,7 +533,7 @@ regulator-state-mem {
>>>>  		};
>>>>  
>>>>  		codec {
>>>> -			mic-in-differential;
>>>> +			rockchip,mic-in-differential;
>>>
>>> If I understand the schematics correctly, only one wire is connected so
>>> this board cannot really use differential signaling, and this should
>>> probably instead be dropped.
>>
>> Thanks for pointing this out, I will drop it in v2.
> 
> I've also checked the schematics which indicate the PMIC RK809 CODEC
> receives both MIC1_INN and MIC1_INP signals; the former comes from the
> Jack input, while the latter is generated by the SLM42Q3AT MEMS Microphone.
> 
> However, I'm not sure the Mic presence on the board is dependent on the
> HW revision - on REV V1.3 the "NC_" prefix under U24 component label
> suggests it is not connected.  So maybe we should keep the property?!

There is no such mic on the board, at least on the rev 1.3 that I have.

This prop should be used to indicate that the attached microphone uses
differential signaling, e.g. should have its two output signals
connected to both INP(+) and INN(-).

The SLM42Q3AT or the single wire from headphone jack indicate that a
single-ended microphone is/can be used/wired on this board.

The current use of non-working mic-in-differential was wrong, adding
the rockchip,mic-in-differential would change behavior and wrongly
describe hw of this board.

Regards,
Jonas

> 
> Cristian
Cristian Ciocaltea June 21, 2024, 10:06 p.m. UTC | #5
On 6/21/24 9:58 AM, Jonas Karlman wrote:
> Hi Cristian,
> 
> On 2024-06-21 03:23, Cristian Ciocaltea wrote:
>> On 6/19/24 3:56 PM, Cristian Ciocaltea wrote:
>>> Hi Jonas,
>>>
>>> On 6/19/24 3:22 PM, Jonas Karlman wrote:
>>>> Hi Cristian,
>>>>
>>>> On 2024-06-19 13:23, Cristian Ciocaltea wrote:
>>>>> The 'mic-in-differential' DT property supported by the RK809/RK817 audio
>>>>> codec driver is actually valid if prefixed with 'rockchip,':
>>>>>
>>>>>   DTC_CHK arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dtb
>>>>>   rk3568-rock-3a.dtb: pmic@20: codec: 'mic-in-differential' does not match any of the regexes: 'pinctrl-[0-9]+'
>>>>> 	from schema $id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml#
>>>>>
>>>>> Make use of the correct property name.
>>>>>
>>>>> Fixes: a84ffd2ef1ff ("arm64: dts: rockchip: Fix mic-in-differential usage on rock-3a")
>>>>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
>>>>> ---
>>>>>  arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 2 +-
>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>>>> index ebdedea15ad1..0b54dfe92d6e 100644
>>>>> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
>>>>> @@ -533,7 +533,7 @@ regulator-state-mem {
>>>>>  		};
>>>>>  
>>>>>  		codec {
>>>>> -			mic-in-differential;
>>>>> +			rockchip,mic-in-differential;
>>>>
>>>> If I understand the schematics correctly, only one wire is connected so
>>>> this board cannot really use differential signaling, and this should
>>>> probably instead be dropped.
>>>
>>> Thanks for pointing this out, I will drop it in v2.
>>
>> I've also checked the schematics which indicate the PMIC RK809 CODEC
>> receives both MIC1_INN and MIC1_INP signals; the former comes from the
>> Jack input, while the latter is generated by the SLM42Q3AT MEMS Microphone.
>>
>> However, I'm not sure the Mic presence on the board is dependent on the
>> HW revision - on REV V1.3 the "NC_" prefix under U24 component label
>> suggests it is not connected.  So maybe we should keep the property?!
> 
> There is no such mic on the board, at least on the rev 1.3 that I have.
> 
> This prop should be used to indicate that the attached microphone uses
> differential signaling, e.g. should have its two output signals
> connected to both INP(+) and INN(-).
> 
> The SLM42Q3AT or the single wire from headphone jack indicate that a
> single-ended microphone is/can be used/wired on this board.
> 
> The current use of non-working mic-in-differential was wrong, adding
> the rockchip,mic-in-differential would change behavior and wrongly
> describe hw of this board.

Thanks a lot for the clarifications! I dropped this in v2.

Regards,
Cristian