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 <zi...@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

Reply via email to