* [PATCH 0/3] RZ/G3E: Fix dtbs_check failures
@ 2026-08-03 13:28 Tommaso Merciai
2026-08-03 13:28 ` [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency Tommaso Merciai
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Tommaso Merciai @ 2026-08-03 13:28 UTC (permalink / raw)
To: tomm.merciai
Cc: linux-renesas-soc, biju.das.jz, Tommaso Merciai, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
Dear All,
This series fix the following dtbs_check failures:
sound@13c00000 (renesas,r9a09g047-sound): Unevaluated properties
are not allowed ('clock-frequency' was unexpected)
i2c@14400800 (renesas,riic-r9a09g047): 'clock-frequency' is a
required property
Additionally, set the i2c1 clock frequency to 1 MHz in r9a09g047e57-smarc.dts.
Kind regards,
Tommaso
Tommaso Merciai (3):
ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout
clock-frequency
arm64: dts: renesas: r9a09g047: Add missing I2C clock-frequency
arm64: dts: renesas: r9a09g047e57-smarc: Set I2C1 clock frequency to 1
MHz
.../bindings/sound/renesas,r9a09g047-sound.yaml | 3 +++
arch/arm64/boot/dts/renesas/r9a09g047.dtsi | 9 +++++++++
arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts | 2 ++
3 files changed, 14 insertions(+)
--
2.54.0
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency
2026-08-03 13:28 [PATCH 0/3] RZ/G3E: Fix dtbs_check failures Tommaso Merciai
@ 2026-08-03 13:28 ` Tommaso Merciai
2026-08-03 13:32 ` Krzysztof Kozlowski
2026-08-03 13:28 ` [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add missing I2C clock-frequency Tommaso Merciai
2026-08-03 13:28 ` [PATCH 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Set I2C1 clock frequency to 1 MHz Tommaso Merciai
2 siblings, 1 reply; 15+ messages in thread
From: Tommaso Merciai @ 2026-08-03 13:28 UTC (permalink / raw)
To: tomm.merciai
Cc: linux-renesas-soc, biju.das.jz, Tommaso Merciai, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
r9a09g047e57-smarc.dts set clock-frequency for the audio_clkout output,
but the binding never declared it, so dtbs_check fails:
sound@13c00000 (renesas,r9a09g047-sound): Unevaluated properties
are not allowed ('clock-frequency' was unexpected)
clock-cells is fixed to 0, so only a single audio_clkout applies.
Fixes: a86fd3c20218 ("ASoC: dt-bindings: sound: Add DT binding for RZ/G3E sound")
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
---
.../devicetree/bindings/sound/renesas,r9a09g047-sound.yaml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
index d7fa16554698..6e2b2c93b4b7 100644
--- a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
+++ b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
@@ -42,6 +42,9 @@ properties:
"#clock-cells":
const: 0
+ clock-frequency:
+ description: for audio_clkout
+
"#address-cells":
const: 1
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add missing I2C clock-frequency
2026-08-03 13:28 [PATCH 0/3] RZ/G3E: Fix dtbs_check failures Tommaso Merciai
2026-08-03 13:28 ` [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency Tommaso Merciai
@ 2026-08-03 13:28 ` Tommaso Merciai
2026-08-03 13:33 ` Krzysztof Kozlowski
2026-08-03 13:28 ` [PATCH 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Set I2C1 clock frequency to 1 MHz Tommaso Merciai
2 siblings, 1 reply; 15+ messages in thread
From: Tommaso Merciai @ 2026-08-03 13:28 UTC (permalink / raw)
To: tomm.merciai
Cc: linux-renesas-soc, biju.das.jz, Tommaso Merciai, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
clock-frequency is a required property of the renesas,riic binding, but
it is not set in any of the I2C nodes, so dtbs_check fails on boards
that enable an I2C controller without providing a rate:
r9a09g047e57-smarc.dtb: i2c@14400800 (renesas,riic-r9a09g047):
'clock-frequency' is a required property
Add the standard mode rate (100 kHz) to all I2C nodes. Boards that
need a faster bus can still override it.
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
---
arch/arm64/boot/dts/renesas/r9a09g047.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
index 73757e8e2197..b9a707f04004 100644
--- a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
+++ b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
@@ -1538,6 +1538,7 @@ i2c0: i2c@14400400 {
interrupt-names = "tei", "ri", "ti", "spi", "sti",
"naki", "ali", "tmoi";
clocks = <&cpg CPG_MOD 0x94>;
+ clock-frequency = <100000>;
resets = <&cpg 0x98>;
power-domains = <&cpg>;
#address-cells = <1>;
@@ -1559,6 +1560,7 @@ i2c1: i2c@14400800 {
interrupt-names = "tei", "ri", "ti", "spi", "sti",
"naki", "ali", "tmoi";
clocks = <&cpg CPG_MOD 0x95>;
+ clock-frequency = <100000>;
resets = <&cpg 0x99>;
power-domains = <&cpg>;
#address-cells = <1>;
@@ -1580,6 +1582,7 @@ i2c2: i2c@14400c00 {
interrupt-names = "tei", "ri", "ti", "spi", "sti",
"naki", "ali", "tmoi";
clocks = <&cpg CPG_MOD 0x96>;
+ clock-frequency = <100000>;
resets = <&cpg 0x9a>;
power-domains = <&cpg>;
#address-cells = <1>;
@@ -1601,6 +1604,7 @@ i2c3: i2c@14401000 {
interrupt-names = "tei", "ri", "ti", "spi", "sti",
"naki", "ali", "tmoi";
clocks = <&cpg CPG_MOD 0x97>;
+ clock-frequency = <100000>;
resets = <&cpg 0x9b>;
power-domains = <&cpg>;
#address-cells = <1>;
@@ -1622,6 +1626,7 @@ i2c4: i2c@14401400 {
interrupt-names = "tei", "ri", "ti", "spi", "sti",
"naki", "ali", "tmoi";
clocks = <&cpg CPG_MOD 0x98>;
+ clock-frequency = <100000>;
resets = <&cpg 0x9c>;
power-domains = <&cpg>;
#address-cells = <1>;
@@ -1643,6 +1648,7 @@ i2c5: i2c@14401800 {
interrupt-names = "tei", "ri", "ti", "spi", "sti",
"naki", "ali", "tmoi";
clocks = <&cpg CPG_MOD 0x99>;
+ clock-frequency = <100000>;
resets = <&cpg 0x9d>;
power-domains = <&cpg>;
#address-cells = <1>;
@@ -1664,6 +1670,7 @@ i2c6: i2c@14401c00 {
interrupt-names = "tei", "ri", "ti", "spi", "sti",
"naki", "ali", "tmoi";
clocks = <&cpg CPG_MOD 0x9a>;
+ clock-frequency = <100000>;
resets = <&cpg 0x9e>;
power-domains = <&cpg>;
#address-cells = <1>;
@@ -1685,6 +1692,7 @@ i2c7: i2c@14402000 {
interrupt-names = "tei", "ri", "ti", "spi", "sti",
"naki", "ali", "tmoi";
clocks = <&cpg CPG_MOD 0x9b>;
+ clock-frequency = <100000>;
resets = <&cpg 0x9f>;
power-domains = <&cpg>;
#address-cells = <1>;
@@ -1706,6 +1714,7 @@ i2c8: i2c@11c01000 {
interrupt-names = "tei", "ri", "ti", "spi", "sti",
"naki", "ali", "tmoi";
clocks = <&cpg CPG_MOD 0x93>;
+ clock-frequency = <100000>;
resets = <&cpg 0xa0>;
power-domains = <&cpg>;
#address-cells = <1>;
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Set I2C1 clock frequency to 1 MHz
2026-08-03 13:28 [PATCH 0/3] RZ/G3E: Fix dtbs_check failures Tommaso Merciai
2026-08-03 13:28 ` [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency Tommaso Merciai
2026-08-03 13:28 ` [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add missing I2C clock-frequency Tommaso Merciai
@ 2026-08-03 13:28 ` Tommaso Merciai
2 siblings, 0 replies; 15+ messages in thread
From: Tommaso Merciai @ 2026-08-03 13:28 UTC (permalink / raw)
To: tomm.merciai
Cc: linux-renesas-soc, biju.das.jz, Tommaso Merciai, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
On the SMARC carrier board I2C1 only carries the DA7212 audio codec.
Override the 100 kHz SoC default with 1 MHz.
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
---
arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
index 4eed095b683b..469a6282b2a3 100644
--- a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
+++ b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
@@ -147,6 +147,8 @@ &i2c0 {
};
&i2c1 {
+ clock-frequency = <1000000>;
+
da7212: codec@1a {
compatible = "dlg,da7212";
#sound-dai-cells = <0>;
--
2.54.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency
2026-08-03 13:28 ` [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency Tommaso Merciai
@ 2026-08-03 13:32 ` Krzysztof Kozlowski
2026-08-03 17:19 ` Tommaso Merciai
0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-03 13:32 UTC (permalink / raw)
To: Tommaso Merciai, tomm.merciai
Cc: linux-renesas-soc, biju.das.jz, Liam Girdwood, Mark Brown,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
On 03/08/2026 15:28, Tommaso Merciai wrote:
> r9a09g047e57-smarc.dts set clock-frequency for the audio_clkout output,
> but the binding never declared it, so dtbs_check fails:
>
> sound@13c00000 (renesas,r9a09g047-sound): Unevaluated properties
> are not allowed ('clock-frequency' was unexpected)
Maybe the DTS is wrong, because property was rejected? Did you check
this? You cannot document ABI post-factum if it was rejected.
>
> clock-cells is fixed to 0, so only a single audio_clkout applies.
>
> Fixes: a86fd3c20218 ("ASoC: dt-bindings: sound: Add DT binding for RZ/G3E sound")
> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> ---
> .../devicetree/bindings/sound/renesas,r9a09g047-sound.yaml | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> index d7fa16554698..6e2b2c93b4b7 100644
> --- a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> +++ b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> @@ -42,6 +42,9 @@ properties:
> "#clock-cells":
> const: 0
>
> + clock-frequency:
> + description: for audio_clkout
Incomplete, missing type/ref, constraints.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add missing I2C clock-frequency
2026-08-03 13:28 ` [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add missing I2C clock-frequency Tommaso Merciai
@ 2026-08-03 13:33 ` Krzysztof Kozlowski
2026-08-03 16:18 ` Tommaso Merciai
0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-03 13:33 UTC (permalink / raw)
To: Tommaso Merciai, tomm.merciai
Cc: linux-renesas-soc, biju.das.jz, Liam Girdwood, Mark Brown,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
On 03/08/2026 15:28, Tommaso Merciai wrote:
> clock-frequency is a required property of the renesas,riic binding, but
> it is not set in any of the I2C nodes, so dtbs_check fails on boards
> that enable an I2C controller without providing a rate:
>
> r9a09g047e57-smarc.dtb: i2c@14400800 (renesas,riic-r9a09g047):
> 'clock-frequency' is a required property
>
> Add the standard mode rate (100 kHz) to all I2C nodes. Boards that
> need a faster bus can still override it.
Why? Binding looks wrong. It clearly says that property can be missing
and is required.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add missing I2C clock-frequency
2026-08-03 13:33 ` Krzysztof Kozlowski
@ 2026-08-03 16:18 ` Tommaso Merciai
0 siblings, 0 replies; 15+ messages in thread
From: Tommaso Merciai @ 2026-08-03 16:18 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: tomm.merciai, linux-renesas-soc, biju.das.jz, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
Hi Krzysztof,
Thanks for your review.
On Mon, Aug 03, 2026 at 03:33:40PM +0200, Krzysztof Kozlowski wrote:
> On 03/08/2026 15:28, Tommaso Merciai wrote:
> > clock-frequency is a required property of the renesas,riic binding, but
> > it is not set in any of the I2C nodes, so dtbs_check fails on boards
> > that enable an I2C controller without providing a rate:
> >
> > r9a09g047e57-smarc.dtb: i2c@14400800 (renesas,riic-r9a09g047):
> > 'clock-frequency' is a required property
> >
> > Add the standard mode rate (100 kHz) to all I2C nodes. Boards that
> > need a faster bus can still override it.
>
> Why? Binding looks wrong. It clearly says that property can be missing
> and is required.
Good catch, I missed this.
Looking closer, the description is correct: i2c-riic calls
i2c_parse_fw_timings() with use_defaults set, so the core falls back to
I2C_MAX_STANDARD_MODE_FREQ when the property is absent.
So the right fix is to drop clock-frequency from the required
properties instead. I will do that in v2.
Kind regards,
Tommaso
>
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency
2026-08-03 13:32 ` Krzysztof Kozlowski
@ 2026-08-03 17:19 ` Tommaso Merciai
2026-08-04 6:20 ` Krzysztof Kozlowski
0 siblings, 1 reply; 15+ messages in thread
From: Tommaso Merciai @ 2026-08-03 17:19 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: tomm.merciai, linux-renesas-soc, biju.das.jz, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
Hi Krzysztof,
Thanks for your review.
On Mon, Aug 03, 2026 at 03:32:48PM +0200, Krzysztof Kozlowski wrote:
> On 03/08/2026 15:28, Tommaso Merciai wrote:
> > r9a09g047e57-smarc.dts set clock-frequency for the audio_clkout output,
> > but the binding never declared it, so dtbs_check fails:
> >
> > sound@13c00000 (renesas,r9a09g047-sound): Unevaluated properties
> > are not allowed ('clock-frequency' was unexpected)
>
> Maybe the DTS is wrong, because property was rejected? Did you check
> this? You cannot document ABI post-factum if it was rejected.
>
>
> >
> > clock-cells is fixed to 0, so only a single audio_clkout applies.
> >
> > Fixes: a86fd3c20218 ("ASoC: dt-bindings: sound: Add DT binding for RZ/G3E sound")
> > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> > ---
> > .../devicetree/bindings/sound/renesas,r9a09g047-sound.yaml | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> > index d7fa16554698..6e2b2c93b4b7 100644
> > --- a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> > +++ b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> > @@ -42,6 +42,9 @@ properties:
> > "#clock-cells":
> > const: 0
> >
> > + clock-frequency:
> > + description: for audio_clkout
>
> Incomplete, missing type/ref, constraints.
renesas,r9a09g047-sound is handled by sound/soc/renesas/rcar/core.c [1],
and "clock-frequency" is read by rsnd_adg_get_clkout() [2]. The same
property is already documented for R-Car in
Documentation/devicetree/bindings/sound/renesas,rsnd.yaml [3].
Please correct me if I'm missing somenthing.
[1] https://elixir.bootlin.com/linux/v7.2-rc5/source/sound/soc/renesas/rcar/core.c#L109
[2] https://elixir.bootlin.com/linux/v7.2-rc5/source/sound/soc/renesas/rcar/adg.c#L690
[3] https://elixir.bootlin.com/linux/v7.2-rc5/source/Documentation/devicetree/bindings/sound/renesas,rsnd.yaml#L89
Kind regards,
Tommaso
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency
2026-08-03 17:19 ` Tommaso Merciai
@ 2026-08-04 6:20 ` Krzysztof Kozlowski
2026-08-05 11:55 ` Tommaso Merciai
0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-04 6:20 UTC (permalink / raw)
To: Tommaso Merciai
Cc: tomm.merciai, linux-renesas-soc, biju.das.jz, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
On 03/08/2026 19:19, Tommaso Merciai wrote:
> Hi Krzysztof,
> Thanks for your review.
>
> On Mon, Aug 03, 2026 at 03:32:48PM +0200, Krzysztof Kozlowski wrote:
>> On 03/08/2026 15:28, Tommaso Merciai wrote:
>>> r9a09g047e57-smarc.dts set clock-frequency for the audio_clkout output,
>>> but the binding never declared it, so dtbs_check fails:
>>>
>>> sound@13c00000 (renesas,r9a09g047-sound): Unevaluated properties
>>> are not allowed ('clock-frequency' was unexpected)
>>
>> Maybe the DTS is wrong, because property was rejected? Did you check
>> this? You cannot document ABI post-factum if it was rejected.
>>
>>
>>>
>>> clock-cells is fixed to 0, so only a single audio_clkout applies.
>>>
>>> Fixes: a86fd3c20218 ("ASoC: dt-bindings: sound: Add DT binding for RZ/G3E sound")
>>> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
>>> ---
>>> .../devicetree/bindings/sound/renesas,r9a09g047-sound.yaml | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
>>> index d7fa16554698..6e2b2c93b4b7 100644
>>> --- a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
>>> +++ b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
>>> @@ -42,6 +42,9 @@ properties:
>>> "#clock-cells":
>>> const: 0
>>>
>>> + clock-frequency:
>>> + description: for audio_clkout
>>
>> Incomplete, missing type/ref, constraints.
>
> renesas,r9a09g047-sound is handled by sound/soc/renesas/rcar/core.c [1],
> and "clock-frequency" is read by rsnd_adg_get_clkout() [2]. The same
> property is already documented for R-Car in
> Documentation/devicetree/bindings/sound/renesas,rsnd.yaml [3].
But was the property rejected? I am repeating myself...
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency
2026-08-04 6:20 ` Krzysztof Kozlowski
@ 2026-08-05 11:55 ` Tommaso Merciai
2026-08-05 12:02 ` Geert Uytterhoeven
0 siblings, 1 reply; 15+ messages in thread
From: Tommaso Merciai @ 2026-08-05 11:55 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: tomm.merciai, linux-renesas-soc, biju.das.jz, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
On Tue, Aug 04, 2026 at 08:20:29AM +0200, Krzysztof Kozlowski wrote:
> On 03/08/2026 19:19, Tommaso Merciai wrote:
> > Hi Krzysztof,
> > Thanks for your review.
> >
> > On Mon, Aug 03, 2026 at 03:32:48PM +0200, Krzysztof Kozlowski wrote:
> >> On 03/08/2026 15:28, Tommaso Merciai wrote:
> >>> r9a09g047e57-smarc.dts set clock-frequency for the audio_clkout output,
> >>> but the binding never declared it, so dtbs_check fails:
> >>>
> >>> sound@13c00000 (renesas,r9a09g047-sound): Unevaluated properties
> >>> are not allowed ('clock-frequency' was unexpected)
> >>
> >> Maybe the DTS is wrong, because property was rejected? Did you check
> >> this? You cannot document ABI post-factum if it was rejected.
> >>
> >>
> >>>
> >>> clock-cells is fixed to 0, so only a single audio_clkout applies.
> >>>
> >>> Fixes: a86fd3c20218 ("ASoC: dt-bindings: sound: Add DT binding for RZ/G3E sound")
> >>> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> >>> ---
> >>> .../devicetree/bindings/sound/renesas,r9a09g047-sound.yaml | 3 +++
> >>> 1 file changed, 3 insertions(+)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> >>> index d7fa16554698..6e2b2c93b4b7 100644
> >>> --- a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> >>> +++ b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> >>> @@ -42,6 +42,9 @@ properties:
> >>> "#clock-cells":
> >>> const: 0
> >>>
> >>> + clock-frequency:
> >>> + description: for audio_clkout
> >>
> >> Incomplete, missing type/ref, constraints.
> >
> > renesas,r9a09g047-sound is handled by sound/soc/renesas/rcar/core.c [1],
> > and "clock-frequency" is read by rsnd_adg_get_clkout() [2]. The same
> > property is already documented for R-Car in
> > Documentation/devicetree/bindings/sound/renesas,rsnd.yaml [3].
>
> But was the property rejected? I am repeating myself...
Looking into this further, I found that you already asked to drop this
property during the v5 review [1].
Thanks for pointing it out.
For context: the sound module contains an audio clock generator (ADG) which
generates an output clock from the external audio clocks and outputs it in
to the AUDIO_CLKOUT pin, that mostly supply master clock to codec.
"clock-frequency" is array of the possible rates provided by
AUDIO_CLKOUT to the codec master clock.
Based on the playback rate it will request either 44.1kHz or 48kHz.
I will drop "clock-frequency" property from r9a09g047e57-smarc.dts, where
AUDIO_CLKOUT output pin is not wired.
But for boards that populates AUDIO_CLKOUT we need this property,
Could you suggest how to model this properly?
Thanks for your time.
[1] https://lore.kernel.org/all/20260417-energetic-practical-frigatebird-5b93ad@quoll/
Kind regards,
Tommaso
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency
2026-08-05 11:55 ` Tommaso Merciai
@ 2026-08-05 12:02 ` Geert Uytterhoeven
2026-08-05 13:05 ` Tommaso Merciai
0 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2026-08-05 12:02 UTC (permalink / raw)
To: Tommaso Merciai
Cc: Krzysztof Kozlowski, tomm.merciai, linux-renesas-soc, biju.das.jz,
Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
Hi Tommaso,
On Wed, 5 Aug 2026 at 13:56, Tommaso Merciai
<tommaso.merciai.xr@bp.renesas.com> wrote:
> On Tue, Aug 04, 2026 at 08:20:29AM +0200, Krzysztof Kozlowski wrote:
> > On 03/08/2026 19:19, Tommaso Merciai wrote:
> > > Hi Krzysztof,
> > > Thanks for your review.
> > >
> > > On Mon, Aug 03, 2026 at 03:32:48PM +0200, Krzysztof Kozlowski wrote:
> > >> On 03/08/2026 15:28, Tommaso Merciai wrote:
> > >>> r9a09g047e57-smarc.dts set clock-frequency for the audio_clkout output,
> > >>> but the binding never declared it, so dtbs_check fails:
> > >>>
> > >>> sound@13c00000 (renesas,r9a09g047-sound): Unevaluated properties
> > >>> are not allowed ('clock-frequency' was unexpected)
> > >>
> > >> Maybe the DTS is wrong, because property was rejected? Did you check
> > >> this? You cannot document ABI post-factum if it was rejected.
> > >>
> > >>
> > >>>
> > >>> clock-cells is fixed to 0, so only a single audio_clkout applies.
> > >>>
> > >>> Fixes: a86fd3c20218 ("ASoC: dt-bindings: sound: Add DT binding for RZ/G3E sound")
> > >>> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> > >>> ---
> > >>> .../devicetree/bindings/sound/renesas,r9a09g047-sound.yaml | 3 +++
> > >>> 1 file changed, 3 insertions(+)
> > >>>
> > >>> diff --git a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> > >>> index d7fa16554698..6e2b2c93b4b7 100644
> > >>> --- a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> > >>> +++ b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> > >>> @@ -42,6 +42,9 @@ properties:
> > >>> "#clock-cells":
> > >>> const: 0
> > >>>
> > >>> + clock-frequency:
> > >>> + description: for audio_clkout
> > >>
> > >> Incomplete, missing type/ref, constraints.
> > >
> > > renesas,r9a09g047-sound is handled by sound/soc/renesas/rcar/core.c [1],
> > > and "clock-frequency" is read by rsnd_adg_get_clkout() [2]. The same
> > > property is already documented for R-Car in
> > > Documentation/devicetree/bindings/sound/renesas,rsnd.yaml [3].
> >
> > But was the property rejected? I am repeating myself...
>
> Looking into this further, I found that you already asked to drop this
> property during the v5 review [1].
>
> Thanks for pointing it out.
>
> For context: the sound module contains an audio clock generator (ADG) which
> generates an output clock from the external audio clocks and outputs it in
> to the AUDIO_CLKOUT pin, that mostly supply master clock to codec.
>
> "clock-frequency" is array of the possible rates provided by
> AUDIO_CLKOUT to the codec master clock.
> Based on the playback rate it will request either 44.1kHz or 48kHz.
>
> I will drop "clock-frequency" property from r9a09g047e57-smarc.dts, where
> AUDIO_CLKOUT output pin is not wired.
>
> But for boards that populates AUDIO_CLKOUT we need this property,
> Could you suggest how to model this properly?
Isn't this output the single clock output of the sound module's clock
provider (#clocks-cells = <0>)? Hence can't the consumer driver set
the clock rate?
If the consumer driver cannot set the clock rate, but depends on a
fixed clock rate, it can configure this in DT using assigned-clocks
and assigned-clock-rates, right?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency
2026-08-05 12:02 ` Geert Uytterhoeven
@ 2026-08-05 13:05 ` Tommaso Merciai
2026-08-05 13:19 ` Krzysztof Kozlowski
0 siblings, 1 reply; 15+ messages in thread
From: Tommaso Merciai @ 2026-08-05 13:05 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Krzysztof Kozlowski, tomm.merciai, linux-renesas-soc, biju.das.jz,
Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
Hi Geert,
On Wed, Aug 05, 2026 at 02:02:42PM +0200, Geert Uytterhoeven wrote:
> Hi Tommaso,
>
> On Wed, 5 Aug 2026 at 13:56, Tommaso Merciai
> <tommaso.merciai.xr@bp.renesas.com> wrote:
> > On Tue, Aug 04, 2026 at 08:20:29AM +0200, Krzysztof Kozlowski wrote:
> > > On 03/08/2026 19:19, Tommaso Merciai wrote:
> > > > Hi Krzysztof,
> > > > Thanks for your review.
> > > >
> > > > On Mon, Aug 03, 2026 at 03:32:48PM +0200, Krzysztof Kozlowski wrote:
> > > >> On 03/08/2026 15:28, Tommaso Merciai wrote:
> > > >>> r9a09g047e57-smarc.dts set clock-frequency for the audio_clkout output,
> > > >>> but the binding never declared it, so dtbs_check fails:
> > > >>>
> > > >>> sound@13c00000 (renesas,r9a09g047-sound): Unevaluated properties
> > > >>> are not allowed ('clock-frequency' was unexpected)
> > > >>
> > > >> Maybe the DTS is wrong, because property was rejected? Did you check
> > > >> this? You cannot document ABI post-factum if it was rejected.
> > > >>
> > > >>
> > > >>>
> > > >>> clock-cells is fixed to 0, so only a single audio_clkout applies.
> > > >>>
> > > >>> Fixes: a86fd3c20218 ("ASoC: dt-bindings: sound: Add DT binding for RZ/G3E sound")
> > > >>> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> > > >>> ---
> > > >>> .../devicetree/bindings/sound/renesas,r9a09g047-sound.yaml | 3 +++
> > > >>> 1 file changed, 3 insertions(+)
> > > >>>
> > > >>> diff --git a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> > > >>> index d7fa16554698..6e2b2c93b4b7 100644
> > > >>> --- a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> > > >>> +++ b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
> > > >>> @@ -42,6 +42,9 @@ properties:
> > > >>> "#clock-cells":
> > > >>> const: 0
> > > >>>
> > > >>> + clock-frequency:
> > > >>> + description: for audio_clkout
> > > >>
> > > >> Incomplete, missing type/ref, constraints.
> > > >
> > > > renesas,r9a09g047-sound is handled by sound/soc/renesas/rcar/core.c [1],
> > > > and "clock-frequency" is read by rsnd_adg_get_clkout() [2]. The same
> > > > property is already documented for R-Car in
> > > > Documentation/devicetree/bindings/sound/renesas,rsnd.yaml [3].
> > >
> > > But was the property rejected? I am repeating myself...
> >
> > Looking into this further, I found that you already asked to drop this
> > property during the v5 review [1].
> >
> > Thanks for pointing it out.
> >
> > For context: the sound module contains an audio clock generator (ADG) which
> > generates an output clock from the external audio clocks and outputs it in
> > to the AUDIO_CLKOUT pin, that mostly supply master clock to codec.
> >
> > "clock-frequency" is array of the possible rates provided by
> > AUDIO_CLKOUT to the codec master clock.
> > Based on the playback rate it will request either 44.1kHz or 48kHz.
> >
> > I will drop "clock-frequency" property from r9a09g047e57-smarc.dts, where
> > AUDIO_CLKOUT output pin is not wired.
> >
> > But for boards that populates AUDIO_CLKOUT we need this property,
> > Could you suggest how to model this properly?
>
> Isn't this output the single clock output of the sound module's clock
> provider (#clocks-cells = <0>)? Hence can't the consumer driver set
> the clock rate?
Yes you are correct.
>
> If the consumer driver cannot set the clock rate, but depends on a
> fixed clock rate, it can configure this in DT using assigned-clocks
> and assigned-clock-rates, right?
The clock driven on the AUDIO_CLKOUT pin does not have a fixed rate.
Depending on the playback rate it is a multiple of either 44.1 kHz or
48 kHz.
Below is an example from arch/arm64/boot/dts/renesas/ulcb.dtsi. There
audio_clk_a is 22579200, a multiple of 44.1 kHz, and the audio_clk_b input
comes from the cs2000, which is set to 24576000, a multiple of 48 kHz.
The codec consuming AUDIO_CLKOUT needs 11289600 for the 44.1 kHz family
and 12288000 for the 48 kHz one, which is what clock-frequency describes.
Hence it is not a fixed rate clock.
From arch/arm64/boot/dts/renesas/ulcb.dtsi:
---
&audio_clk_a {
clock-frequency = <22579200>;
};
cs2000: clock-controller@4f {
clocks = <&audio_clkout>, <&x12_clk>;
clock-names = "clk_in", "ref_clk";
assigned-clocks = <&cs2000>;
assigned-clock-rates = <24576000>;
};
ak4613: codec@10 {
clocks = <&rcar_sound 3>;
};
&rcar_sound {
pinctrl-0 = <&sound_pins>, <&sound_clk_pins>;
pinctrl-names = "default";
/* audio_clkout0/1/2/3 */
#clock-cells = <1>;
clock-frequency = <12288000 11289600>;
status = "okay";
/* update <audio_clk_b> to <cs2000> */
clocks = <&cpg CPG_MOD 1005>,
<&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
<&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
<&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
<&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
<&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
<&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
<&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
<&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
<&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
<&audio_clk_a>, <&cs2000>,
<&audio_clk_c>,
<&cpg CPG_MOD 922>;
};
Kind regards,
Tommaso
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency
2026-08-05 13:05 ` Tommaso Merciai
@ 2026-08-05 13:19 ` Krzysztof Kozlowski
2026-08-05 13:34 ` Tommaso Merciai
0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-05 13:19 UTC (permalink / raw)
To: Tommaso Merciai, Geert Uytterhoeven
Cc: tomm.merciai, linux-renesas-soc, biju.das.jz, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Magnus Damm, Kuninori Morimoto, John Madieu, linux-sound,
devicetree, linux-kernel
On 05/08/2026 15:05, Tommaso Merciai wrote:
>>>>>>> + clock-frequency:
>>>>>>> + description: for audio_clkout
>>>>>>
>>>>>> Incomplete, missing type/ref, constraints.
>>>>>
>>>>> renesas,r9a09g047-sound is handled by sound/soc/renesas/rcar/core.c [1],
>>>>> and "clock-frequency" is read by rsnd_adg_get_clkout() [2]. The same
>>>>> property is already documented for R-Car in
>>>>> Documentation/devicetree/bindings/sound/renesas,rsnd.yaml [3].
>>>>
>>>> But was the property rejected? I am repeating myself...
>>>
>>> Looking into this further, I found that you already asked to drop this
>>> property during the v5 review [1].
So my review was applied to the bindings only and undocumented ABI came
in? Great, cannot stress how happy I am.
>>>
>>> Thanks for pointing it out.
>>>
>>> For context: the sound module contains an audio clock generator (ADG) which
>>> generates an output clock from the external audio clocks and outputs it in
>>> to the AUDIO_CLKOUT pin, that mostly supply master clock to codec.
>>>
>>> "clock-frequency" is array of the possible rates provided by
>>> AUDIO_CLKOUT to the codec master clock.
>>> Based on the playback rate it will request either 44.1kHz or 48kHz.
>>>
>>> I will drop "clock-frequency" property from r9a09g047e57-smarc.dts, where
>>> AUDIO_CLKOUT output pin is not wired.
>>>
>>> But for boards that populates AUDIO_CLKOUT we need this property,
>>> Could you suggest how to model this properly?
>>
>> Isn't this output the single clock output of the sound module's clock
>> provider (#clocks-cells = <0>)? Hence can't the consumer driver set
>> the clock rate?
>
> Yes you are correct.
>
>>
>> If the consumer driver cannot set the clock rate, but depends on a
>> fixed clock rate, it can configure this in DT using assigned-clocks
>> and assigned-clock-rates, right?
>
> The clock driven on the AUDIO_CLKOUT pin does not have a fixed rate.
> Depending on the playback rate it is a multiple of either 44.1 kHz or
> 48 kHz.
So the playback rate of 44.1 sets one frequency and playback rate of 48
sets other. Feels pretty dynamic so job for the drivers? I miss the
point why drivers cannot request proper rate.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency
2026-08-05 13:19 ` Krzysztof Kozlowski
@ 2026-08-05 13:34 ` Tommaso Merciai
2026-08-05 13:44 ` Krzysztof Kozlowski
0 siblings, 1 reply; 15+ messages in thread
From: Tommaso Merciai @ 2026-08-05 13:34 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Geert Uytterhoeven, tomm.merciai, linux-renesas-soc, biju.das.jz,
Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
On Wed, Aug 05, 2026 at 03:19:17PM +0200, Krzysztof Kozlowski wrote:
> On 05/08/2026 15:05, Tommaso Merciai wrote:
> >>>>>>> + clock-frequency:
> >>>>>>> + description: for audio_clkout
> >>>>>>
> >>>>>> Incomplete, missing type/ref, constraints.
> >>>>>
> >>>>> renesas,r9a09g047-sound is handled by sound/soc/renesas/rcar/core.c [1],
> >>>>> and "clock-frequency" is read by rsnd_adg_get_clkout() [2]. The same
> >>>>> property is already documented for R-Car in
> >>>>> Documentation/devicetree/bindings/sound/renesas,rsnd.yaml [3].
> >>>>
> >>>> But was the property rejected? I am repeating myself...
> >>>
> >>> Looking into this further, I found that you already asked to drop this
> >>> property during the v5 review [1].
>
> So my review was applied to the bindings only and undocumented ABI came
> in? Great, cannot stress how happy I am.
>
>
> >>>
> >>> Thanks for pointing it out.
> >>>
> >>> For context: the sound module contains an audio clock generator (ADG) which
> >>> generates an output clock from the external audio clocks and outputs it in
> >>> to the AUDIO_CLKOUT pin, that mostly supply master clock to codec.
> >>>
> >>> "clock-frequency" is array of the possible rates provided by
> >>> AUDIO_CLKOUT to the codec master clock.
> >>> Based on the playback rate it will request either 44.1kHz or 48kHz.
> >>>
> >>> I will drop "clock-frequency" property from r9a09g047e57-smarc.dts, where
> >>> AUDIO_CLKOUT output pin is not wired.
> >>>
> >>> But for boards that populates AUDIO_CLKOUT we need this property,
> >>> Could you suggest how to model this properly?
> >>
> >> Isn't this output the single clock output of the sound module's clock
> >> provider (#clocks-cells = <0>)? Hence can't the consumer driver set
> >> the clock rate?
> >
> > Yes you are correct.
> >
> >>
> >> If the consumer driver cannot set the clock rate, but depends on a
> >> fixed clock rate, it can configure this in DT using assigned-clocks
> >> and assigned-clock-rates, right?
> >
> > The clock driven on the AUDIO_CLKOUT pin does not have a fixed rate.
> > Depending on the playback rate it is a multiple of either 44.1 kHz or
> > 48 kHz.
>
> So the playback rate of 44.1 sets one frequency and playback rate of 48
> sets other. Feels pretty dynamic so job for the drivers? I miss the
> point why drivers cannot request proper rate.
Can you please confirm is 12288000Hz(for 48kHz) and 11289600Hz(44.1kHz) are
the mclk required for all the commercially available Audio codecs in the market?
If yes, we can dynamically do it in the driver, otherwise it is static/design time stuff.
Kind regards,
Tommaso
>
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency
2026-08-05 13:34 ` Tommaso Merciai
@ 2026-08-05 13:44 ` Krzysztof Kozlowski
0 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-08-05 13:44 UTC (permalink / raw)
To: Tommaso Merciai
Cc: Geert Uytterhoeven, tomm.merciai, linux-renesas-soc, biju.das.jz,
Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Magnus Damm, Kuninori Morimoto, John Madieu,
linux-sound, devicetree, linux-kernel
On 05/08/2026 15:34, Tommaso Merciai wrote:
> On Wed, Aug 05, 2026 at 03:19:17PM +0200, Krzysztof Kozlowski wrote:
>> On 05/08/2026 15:05, Tommaso Merciai wrote:
>>>>>>>>> + clock-frequency:
>>>>>>>>> + description: for audio_clkout
>>>>>>>>
>>>>>>>> Incomplete, missing type/ref, constraints.
>>>>>>>
>>>>>>> renesas,r9a09g047-sound is handled by sound/soc/renesas/rcar/core.c [1],
>>>>>>> and "clock-frequency" is read by rsnd_adg_get_clkout() [2]. The same
>>>>>>> property is already documented for R-Car in
>>>>>>> Documentation/devicetree/bindings/sound/renesas,rsnd.yaml [3].
>>>>>>
>>>>>> But was the property rejected? I am repeating myself...
>>>>>
>>>>> Looking into this further, I found that you already asked to drop this
>>>>> property during the v5 review [1].
>>
>> So my review was applied to the bindings only and undocumented ABI came
>> in? Great, cannot stress how happy I am.
>>
>>
>>>>>
>>>>> Thanks for pointing it out.
>>>>>
>>>>> For context: the sound module contains an audio clock generator (ADG) which
>>>>> generates an output clock from the external audio clocks and outputs it in
>>>>> to the AUDIO_CLKOUT pin, that mostly supply master clock to codec.
>>>>>
>>>>> "clock-frequency" is array of the possible rates provided by
>>>>> AUDIO_CLKOUT to the codec master clock.
>>>>> Based on the playback rate it will request either 44.1kHz or 48kHz.
>>>>>
>>>>> I will drop "clock-frequency" property from r9a09g047e57-smarc.dts, where
>>>>> AUDIO_CLKOUT output pin is not wired.
>>>>>
>>>>> But for boards that populates AUDIO_CLKOUT we need this property,
>>>>> Could you suggest how to model this properly?
>>>>
>>>> Isn't this output the single clock output of the sound module's clock
>>>> provider (#clocks-cells = <0>)? Hence can't the consumer driver set
>>>> the clock rate?
>>>
>>> Yes you are correct.
>>>
>>>>
>>>> If the consumer driver cannot set the clock rate, but depends on a
>>>> fixed clock rate, it can configure this in DT using assigned-clocks
>>>> and assigned-clock-rates, right?
>>>
>>> The clock driven on the AUDIO_CLKOUT pin does not have a fixed rate.
>>> Depending on the playback rate it is a multiple of either 44.1 kHz or
>>> 48 kHz.
>>
>> So the playback rate of 44.1 sets one frequency and playback rate of 48
>> sets other. Feels pretty dynamic so job for the drivers? I miss the
>> point why drivers cannot request proper rate.
>
> Can you please confirm is 12288000Hz(for 48kHz) and 11289600Hz(44.1kHz) are
> the mclk required for all the commercially available Audio codecs in the market?
Yes, because each commercially available audio codec will request rate
it needs. Of course each one will request different, but that is the
entire point of Common Clock Framework.
>
> If yes, we can dynamically do it in the driver, otherwise it is static/design time stuff.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-08-05 13:44 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-03 13:28 [PATCH 0/3] RZ/G3E: Fix dtbs_check failures Tommaso Merciai
2026-08-03 13:28 ` [PATCH 1/3] ASoC: dt-bindings: renesas,r9a09g047-sound: Document audio_clkout clock-frequency Tommaso Merciai
2026-08-03 13:32 ` Krzysztof Kozlowski
2026-08-03 17:19 ` Tommaso Merciai
2026-08-04 6:20 ` Krzysztof Kozlowski
2026-08-05 11:55 ` Tommaso Merciai
2026-08-05 12:02 ` Geert Uytterhoeven
2026-08-05 13:05 ` Tommaso Merciai
2026-08-05 13:19 ` Krzysztof Kozlowski
2026-08-05 13:34 ` Tommaso Merciai
2026-08-05 13:44 ` Krzysztof Kozlowski
2026-08-03 13:28 ` [PATCH 2/3] arm64: dts: renesas: r9a09g047: Add missing I2C clock-frequency Tommaso Merciai
2026-08-03 13:33 ` Krzysztof Kozlowski
2026-08-03 16:18 ` Tommaso Merciai
2026-08-03 13:28 ` [PATCH 3/3] arm64: dts: renesas: r9a09g047e57-smarc: Set I2C1 clock frequency to 1 MHz Tommaso Merciai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox