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

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Tue Mar 5 07:55:05 PST 2024


On 05/03/2024 15:44, Geert Uytterhoeven wrote:
> Hi Krzysztof
> 
> On Tue, Feb 13, 2024 at 3:48 PM Krzysztof Kozlowski
> <krzysztof.kozlowski at 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 at 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




More information about the linux-riscv mailing list