[PATCH] riscv: dts: starfive: replace underscores in node names

Krzysztof Kozlowski posted 1 patch 1 year, 12 months ago
arch/riscv/boot/dts/starfive/jh7100.dtsi | 12 ++++++------
arch/riscv/boot/dts/starfive/jh7110.dtsi |  4 ++--
2 files changed, 8 insertions(+), 8 deletions(-)
[PATCH] riscv: dts: starfive: replace underscores in node names
Posted by Krzysztof Kozlowski 1 year, 12 months ago
Underscores should not be used in node names (dtc with W=2 warns about
them), so replace them with hyphens.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 arch/riscv/boot/dts/starfive/jh7100.dtsi | 12 ++++++------
 arch/riscv/boot/dts/starfive/jh7110.dtsi |  4 ++--
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/riscv/boot/dts/starfive/jh7100.dtsi b/arch/riscv/boot/dts/starfive/jh7100.dtsi
index 14d553047e84..90149e379c10 100644
--- a/arch/riscv/boot/dts/starfive/jh7100.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7100.dtsi
@@ -96,14 +96,14 @@ cpu-thermal {
 			thermal-sensors = <&sfctemp>;
 
 			trips {
-				cpu_alert0 {
+				cpu-alert0 {
 					/* milliCelsius */
 					temperature = <75000>;
 					hysteresis = <2000>;
 					type = "passive";
 				};
 
-				cpu_crit {
+				cpu-crit {
 					/* milliCelsius */
 					temperature = <90000>;
 					hysteresis = <2000>;
@@ -113,28 +113,28 @@ cpu_crit {
 		};
 	};
 
-	osc_sys: osc_sys {
+	osc_sys: osc-sys {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
 		/* This value must be overridden by the board */
 		clock-frequency = <0>;
 	};
 
-	osc_aud: osc_aud {
+	osc_aud: osc-aud {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
 		/* This value must be overridden by the board */
 		clock-frequency = <0>;
 	};
 
-	gmac_rmii_ref: gmac_rmii_ref {
+	gmac_rmii_ref: gmac-rmii-ref {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
 		/* Should be overridden by the board when needed */
 		clock-frequency = <0>;
 	};
 
-	gmac_gr_mii_rxclk: gmac_gr_mii_rxclk {
+	gmac_gr_mii_rxclk: gmac-gr-mii-rxclk {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
 		/* Should be overridden by the board when needed */
diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi
index 1b782f2c1395..8e7f5dec6286 100644
--- a/arch/riscv/boot/dts/starfive/jh7110.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi
@@ -237,14 +237,14 @@ map0 {
 			};
 
 			trips {
-				cpu_alert0: cpu_alert0 {
+				cpu_alert0: cpu-alert0 {
 					/* milliCelsius */
 					temperature = <85000>;
 					hysteresis = <2000>;
 					type = "passive";
 				};
 
-				cpu_crit {
+				cpu-crit {
 					/* milliCelsius */
 					temperature = <100000>;
 					hysteresis = <2000>;
-- 
2.34.1
Re: [PATCH] riscv: dts: starfive: replace underscores in node names
Posted by Geert Uytterhoeven 1 year, 11 months ago
Hi Krzysztof

On Tue, Feb 13, 2024 at 3:48 PM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
> Underscores should not be used in node names (dtc with W=2 warns about
> them), so replace them with hyphens.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Thanks for your patch, which is now commit f03606470886e781 ("riscv:
dts: starfive: replace underscores in node names") in v6.8-rc6.

This causes e.g. BeagleV Starlight to hang during boot without any
output.  Booting with "earlycon" reveals:

    dw-apb-uart 12440000.serial: error -EINVAL: clock rate not defined
    dw-apb-uart: probe of 12440000.serial failed with error -22

and indeed, p->uartclk = 0.

> --- a/arch/riscv/boot/dts/starfive/jh7100.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7100.dtsi
> @@ -113,28 +113,28 @@ cpu_crit {
>                 };
>         };
>
> -       osc_sys: osc_sys {
> +       osc_sys: osc-sys {
>                 compatible = "fixed-clock";
>                 #clock-cells = <0>;
>                 /* This value must be overridden by the board */
>                 clock-frequency = <0>;
>         };
>
> -       osc_aud: osc_aud {
> +       osc_aud: osc-aud {
>                 compatible = "fixed-clock";
>                 #clock-cells = <0>;
>                 /* This value must be overridden by the board */
>                 clock-frequency = <0>;
>         };
>
> -       gmac_rmii_ref: gmac_rmii_ref {
> +       gmac_rmii_ref: gmac-rmii-ref {
>                 compatible = "fixed-clock";
>                 #clock-cells = <0>;
>                 /* Should be overridden by the board when needed */
>                 clock-frequency = <0>;
>         };
>
> -       gmac_gr_mii_rxclk: gmac_gr_mii_rxclk {
> +       gmac_gr_mii_rxclk: gmac-gr-mii-rxclk {
>                 compatible = "fixed-clock";
>                 #clock-cells = <0>;
>                 /* Should be overridden by the board when needed */

The clock driver relies on the clock names, which are (in the absence
of clock-output-names properties) identical to the actual node names:

drivers/clk/starfive/clk-starfive-jh7100.c:    parents[i].fw_name = "osc_sys";
drivers/clk/starfive/clk-starfive-jh7100.c:    parents[i].fw_name = "osc_aud";
drivers/clk/starfive/clk-starfive-jh7100.c:    parents[i].fw_name =
"gmac_rmii_ref";
drivers/clk/starfive/clk-starfive-jh7100.c:    parents[i].fw_name =
"gmac_gr_mii_rxclk";

Hence these clocks can no longer be found, and all children have a
zero clock rate, causing the breakage.

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
Re: [PATCH] riscv: dts: starfive: replace underscores in node names
Posted by Krzysztof Kozlowski 1 year, 11 months ago
On 05/03/2024 15:44, Geert Uytterhoeven wrote:
> Hi Krzysztof
> 
> On Tue, Feb 13, 2024 at 3:48 PM Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> wrote:
>> Underscores should not be used in node names (dtc with W=2 warns about
>> them), so replace them with hyphens.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> Thanks for your patch, which is now commit f03606470886e781 ("riscv:
> dts: starfive: replace underscores in node names") in v6.8-rc6.
> 
> This causes e.g. BeagleV Starlight to hang during boot without any
> output.  Booting with "earlycon" reveals:
> 
>     dw-apb-uart 12440000.serial: error -EINVAL: clock rate not defined
>     dw-apb-uart: probe of 12440000.serial failed with error -22
> 
> and indeed, p->uartclk = 0.
> 
>> --- a/arch/riscv/boot/dts/starfive/jh7100.dtsi
>> +++ b/arch/riscv/boot/dts/starfive/jh7100.dtsi
>> @@ -113,28 +113,28 @@ cpu_crit {
>>                 };
>>         };
>>
>> -       osc_sys: osc_sys {
>> +       osc_sys: osc-sys {
>>                 compatible = "fixed-clock";
>>                 #clock-cells = <0>;
>>                 /* This value must be overridden by the board */
>>                 clock-frequency = <0>;
>>         };
>>
>> -       osc_aud: osc_aud {
>> +       osc_aud: osc-aud {
>>                 compatible = "fixed-clock";
>>                 #clock-cells = <0>;
>>                 /* This value must be overridden by the board */
>>                 clock-frequency = <0>;
>>         };
>>
>> -       gmac_rmii_ref: gmac_rmii_ref {
>> +       gmac_rmii_ref: gmac-rmii-ref {
>>                 compatible = "fixed-clock";
>>                 #clock-cells = <0>;
>>                 /* Should be overridden by the board when needed */
>>                 clock-frequency = <0>;
>>         };
>>
>> -       gmac_gr_mii_rxclk: gmac_gr_mii_rxclk {
>> +       gmac_gr_mii_rxclk: gmac-gr-mii-rxclk {
>>                 compatible = "fixed-clock";
>>                 #clock-cells = <0>;
>>                 /* Should be overridden by the board when needed */
> 
> The clock driver relies on the clock names, which are (in the absence
> of clock-output-names properties) identical to the actual node names:
> 
> drivers/clk/starfive/clk-starfive-jh7100.c:    parents[i].fw_name = "osc_sys";
> drivers/clk/starfive/clk-starfive-jh7100.c:    parents[i].fw_name = "osc_aud";
> drivers/clk/starfive/clk-starfive-jh7100.c:    parents[i].fw_name =
> "gmac_rmii_ref";
> drivers/clk/starfive/clk-starfive-jh7100.c:    parents[i].fw_name =
> "gmac_gr_mii_rxclk";
> 
> Hence these clocks can no longer be found, and all children have a
> zero clock rate, causing the breakage.

Uh, sorry :( and thanks for the report. I'll add clock-output-names.

Best regards,
Krzysztof

Re: [PATCH] riscv: dts: starfive: replace underscores in node names
Posted by Conor Dooley 1 year, 12 months ago
From: Conor Dooley <conor.dooley@microchip.com>

On Tue, 13 Feb 2024 15:46:38 +0100, Krzysztof Kozlowski wrote:
> Underscores should not be used in node names (dtc with W=2 warns about
> them), so replace them with hyphens.
> 
> 

Applied to riscv-dt-fixes, thanks!

[1/1] riscv: dts: starfive: replace underscores in node names
      https://git.kernel.org/conor/c/f03606470886

Thanks,
Conor.