Message ID | 20210608112658.4087235-1-olteanv@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: dts: fix node name for the sysclk | expand |
I forgot to add "ls1028a: " to the commit prefix. Shawn, if there are no objections to the patch, would you mind adding it when applying? Thanks!
On Tue, Jun 08, 2021 at 02:26:58PM +0300, Vladimir Oltean wrote: > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > U-Boot attempts to fix up the "clock-frequency" property of the "/sysclk" node: > https://elixir.bootlin.com/u-boot/v2021.04/source/arch/arm/cpu/armv8/fsl-layerscape/fdt.c#L512 > > but fails to do so: > > ## Booting kernel from Legacy Image at a1000000 ... > Image Name: > Created: 2021-06-08 10:31:38 UTC > Image Type: AArch64 Linux Kernel Image (gzip compressed) > Data Size: 15431370 Bytes = 14.7 MiB > Load Address: 80080000 > Entry Point: 80080000 > Verifying Checksum ... OK > ## Flattened Device Tree blob at a0000000 > Booting using the fdt blob at 0xa0000000 > Uncompressing Kernel Image > Loading Device Tree to 00000000fbb19000, end 00000000fbb22717 ... OK > Unable to update property /sysclk:clock-frequency, err=FDT_ERR_NOTFOUND > > Starting kernel ... > > All Layerscape SoCs except LS1028A use "sysclk" as the node name, and > not "clock-sysclk". So change the node name of LS1028A accordingly. Wouldn't it more flexible to use alias/label for finding the node? Using node name/path looks fragile. Shawn > > Fixes: 8897f3255c9c ("arm64: dts: Add support for NXP LS1028A SoC") > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> > --- > arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi > index d0dddf19578a..03e1ca7fea9a 100644 > --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi > @@ -66,7 +66,7 @@ CPU_PW20: cpu-pw20 { > }; > }; > > - sysclk: clock-sysclk { > + sysclk: sysclk { > compatible = "fixed-clock"; > #clock-cells = <0>; > clock-frequency = <100000000>; > -- > 2.25.1 >
Hello Shawn, On Sat, Jun 12, 2021 at 03:53:47PM +0800, Shawn Guo wrote: > On Tue, Jun 08, 2021 at 02:26:58PM +0300, Vladimir Oltean wrote: > > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > > > U-Boot attempts to fix up the "clock-frequency" property of the "/sysclk" node: > > https://elixir.bootlin.com/u-boot/v2021.04/source/arch/arm/cpu/armv8/fsl-layerscape/fdt.c#L512 > > > > but fails to do so: > > > > ## Booting kernel from Legacy Image at a1000000 ... > > Image Name: > > Created: 2021-06-08 10:31:38 UTC > > Image Type: AArch64 Linux Kernel Image (gzip compressed) > > Data Size: 15431370 Bytes = 14.7 MiB > > Load Address: 80080000 > > Entry Point: 80080000 > > Verifying Checksum ... OK > > ## Flattened Device Tree blob at a0000000 > > Booting using the fdt blob at 0xa0000000 > > Uncompressing Kernel Image > > Loading Device Tree to 00000000fbb19000, end 00000000fbb22717 ... OK > > Unable to update property /sysclk:clock-frequency, err=FDT_ERR_NOTFOUND > > > > Starting kernel ... > > > > All Layerscape SoCs except LS1028A use "sysclk" as the node name, and > > not "clock-sysclk". So change the node name of LS1028A accordingly. > > Wouldn't it more flexible to use alias/label for finding the node? > Using node name/path looks fragile. Thank you for the advice, I will keep it in mind next time when I design my own bootloader device tree fixup scheme. However, in this case I did not create it, and implementing your suggestion to find the sysclk node through /aliases would require changes not only to the bootloader, but to the Linux device tree still (and if we're modifying the Linux DT, why not just go with this patch). So yes, the existing mechanism is more fragile, but I am not sure if we gain anything by artificially creating an additional dependency in the process.
On Tue, Jun 08, 2021 at 02:26:58PM +0300, Vladimir Oltean wrote: > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > U-Boot attempts to fix up the "clock-frequency" property of the "/sysclk" node: > https://elixir.bootlin.com/u-boot/v2021.04/source/arch/arm/cpu/armv8/fsl-layerscape/fdt.c#L512 > > but fails to do so: > > ## Booting kernel from Legacy Image at a1000000 ... > Image Name: > Created: 2021-06-08 10:31:38 UTC > Image Type: AArch64 Linux Kernel Image (gzip compressed) > Data Size: 15431370 Bytes = 14.7 MiB > Load Address: 80080000 > Entry Point: 80080000 > Verifying Checksum ... OK > ## Flattened Device Tree blob at a0000000 > Booting using the fdt blob at 0xa0000000 > Uncompressing Kernel Image > Loading Device Tree to 00000000fbb19000, end 00000000fbb22717 ... OK > Unable to update property /sysclk:clock-frequency, err=FDT_ERR_NOTFOUND > > Starting kernel ... > > All Layerscape SoCs except LS1028A use "sysclk" as the node name, and > not "clock-sysclk". So change the node name of LS1028A accordingly. > > Fixes: 8897f3255c9c ("arm64: dts: Add support for NXP LS1028A SoC") > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Applied, thanks.
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi index d0dddf19578a..03e1ca7fea9a 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi @@ -66,7 +66,7 @@ CPU_PW20: cpu-pw20 { }; }; - sysclk: clock-sysclk { + sysclk: sysclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <100000000>;