[PATCH 2/4] clk: thead: th1520-ap: Mark drivers as DM_FLAG_PRE_RELOC

Yao Zi
2025-08-13T10:10:30Z

It's common that UARTs are bound and probed before U-Boot relocation,
in which case the clocks of UART and UART's pincontroller must be
registered first. Let's apply DM_FLAG_PRE_RELOC to the driver, allowing
it to bind before relocation.

Signed-off-by: Yao Zi <ziyao@disroot.org>
---
drivers/clk/thead/clk-th1520-ap.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/clk/thead/clk-th1520-ap.c b/drivers/clk/thead/clk-th1520-ap.c
index 822cf0809d5..6899e1b595a 100644
--- a/drivers/clk/thead/clk-th1520-ap.c
+++ b/drivers/clk/thead/clk-th1520-ap.c
@@ -235,6 +235,7 @@ U_BOOT_DRIVER(th1520_clk_div) = {
.name = "th1520_clk_div",
.id = UCLASS_CLK,
.ops = &ccu_div_ops,
+ .flags = DM_FLAG_PRE_RELOC,
};

static unsigned long th1520_pll_vco_recalc_rate(struct clk *clk,
@@ -302,6 +303,7 @@ U_BOOT_DRIVER(th1520_clk_pll) = {
.name = "th1520_clk_pll",
.id = UCLASS_CLK,
.ops = &clk_pll_ops,
+ .flags = DM_FLAG_PRE_RELOC,
};

static struct ccu_pll cpu_pll0_clk = {
@@ -1030,4 +1032,5 @@ U_BOOT_DRIVER(th1520_clk) = {
.of_match = th1520_clk_match,
.probe = th1520_clk_probe,
.ops = &th1520_clk_ops,
+ .flags = DM_FLAG_PRE_RELOC,
};
--
2.50.1