[PATCH v2 14/24] clk: clk-composite: Resolve parent clock by name

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Sun Mar 30 18:14:10 CEST 2025


On 30.03.25 17:15, Heinrich Schuchardt wrote:
> On 23.03.25 16:58, Marek Vasut wrote:
>> Use clock-names property which is accessible via parent clock OF node
>> to look up the parent clock by name instead of depending on unreliable
>> global clock name to perform look up.
>>
>> Signed-off-by: Marek Vasut <marex at denx.de>
> 
> This patch breaks booting starfive_visionfive2_defconfig in the SPL stage.
> 
> To dig a bit deeper I enabled the debug UART for SPL with these setting 
> on origin/master (5e74863ad6613df):
> 
> CONFIG_DEBUG_UART=y
> CONFIG_DEBUG_UART_NS16550=y
> CONFIG_DEBUG_UART_BASE=0x10000000
> CONFIG_DEBUG_UART_CLOCK=24000000
> CONFIG_SPL_DEBUG_UART_BASE=0x10000000
> CONFIG_DEBUG_UART_SHIFT=2
> 
> clk_register: failed to get pll0_out device (parent of perh_root)
> clk_register: failed to get pll0_out device (parent of qspi_ref_src)
> clk_register: failed to get pll0_out device (parent of usb_125m)
> clk_register: failed to get pll0_out device (parent of gmac_src)
> clk_register: failed to get pll0_out device (parent of gmac1_gtxclk)
> clk_register: failed to get pll0_out device (parent of gmac0_gtxclk)
> 
> Marek assumes that property bootph-pre-ram might be missing for some 
> clocks in arch/riscv/dts/jh7110-u-boot.dtsi.

This change suggested by Marek resolves the issue:

diff --git a/arch/riscv/dts/jh7110-u-boot.dtsi 
b/arch/riscv/dts/jh7110-u-boot.dtsi
index ce7d9e16961..4ed764393bb 100644
--- a/arch/riscv/dts/jh7110-u-boot.dtsi
+++ b/arch/riscv/dts/jh7110-u-boot.dtsi
@@ -113,3 +113,7 @@
  &sys_syscon {
         bootph-pre-ram;
  };
+
+&pllclk {
+       bootph-pre-ram;
+};

Best regards

Heinrich

> 
>> ---
>> Cc: Adam Ford <aford173 at gmail.com>
>> Cc: Christoph Niedermaier <cniedermaier at dh-electronics.com>
>> Cc: Dong Aisheng <aisheng.dong at nxp.com>
>> Cc: Fabio Estevam <festevam at denx.de>
>> Cc: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
>> Cc: Michael Trimarchi <michael at amarulasolutions.com>
>> Cc: Peng Fan <peng.fan at nxp.com>
>> Cc: Tim Harvey <tharvey at gateworks.com>
>> Cc: Tom Rini <trini at konsulko.com>
>> Cc: u-boot at lists.denx.de
>> Cc: uboot-imx at nxp.com
>> ---
>> V2: Rebase on u-boot/next with additional clock patches
>> ---
>>   drivers/clk/clk-composite.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/clk/clk-composite.c b/drivers/clk/clk-composite.c
>> index 1191bdf87df..9e3b5191767 100644
>> --- a/drivers/clk/clk-composite.c
>> +++ b/drivers/clk/clk-composite.c
>> @@ -149,7 +149,7 @@ struct clk *clk_register_composite(struct udevice 
>> *dev, const char *name,
>>       clk = &composite->clk;
>>       clk->flags = flags;
>>       ret = clk_register(clk, UBOOT_DM_CLK_COMPOSITE, name,
>> -               parent_names[clk_composite_get_parent(clk)]);
>> +        clk_resolve_parent_clk(dev, 
>> parent_names[clk_composite_get_parent(clk)]));
>>       if (ret) {
>>           clk = ERR_PTR(ret);
>>           goto err;
> 



More information about the U-Boot mailing list