]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
clk: thead: Add CLK_IGNORE_UNUSED to fix TH1520 boot
authorDrew Fustini <dfustini@tenstorrent.com>
Mon, 13 Jan 2025 20:31:25 +0000 (12:31 -0800)
committerStephen Boyd <sboyd@kernel.org>
Mon, 13 Jan 2025 21:38:01 +0000 (13:38 -0800)
Add the CLK_IGNORE_UNUSED flag to apb_pclk, cpu2peri_x2h_clk,
perisys_apb2_hclk and perisys_apb3_hclk.

Without this flag, the boot hangs after "clk: Disabling unused clocks"
unless clk_ignore_unused is in the kernel cmdline.

Fixes: ae81b69fd2b1 ("clk: thead: Add support for T-Head TH1520 AP_SUBSYS clocks")
Signed-off-by: Drew Fustini <dfustini@tenstorrent.com>
Link: https://lore.kernel.org/r/20250113-th1520-clk_ignore_unused-v1-2-0b08fb813438@tenstorrent.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/thead/clk-th1520-ap.c

index cfa01fb8afc8235c190a5f8b08b34040b73d70ca..dc36613ba5ea29b9b36b2647e19ad73f73687661 100644 (file)
@@ -657,7 +657,7 @@ static struct ccu_div apb_pclk = {
                .hw.init        = CLK_HW_INIT_PARENTS_DATA("apb-pclk",
                                                      apb_parents,
                                                      &ccu_div_ops,
-                                                     0),
+                                                     CLK_IGNORE_UNUSED),
        },
 };
 
@@ -787,13 +787,13 @@ static CCU_GATE(CLK_X2X_CPUSYS, x2x_cpusys_clk, "x2x-cpusys", axi4_cpusys2_aclk_
                0x134, BIT(7), 0);
 static CCU_GATE(CLK_CPU2AON_X2H, cpu2aon_x2h_clk, "cpu2aon-x2h", axi_aclk_pd, 0x138, BIT(8), 0);
 static CCU_GATE(CLK_CPU2PERI_X2H, cpu2peri_x2h_clk, "cpu2peri-x2h", axi4_cpusys2_aclk_pd,
-               0x140, BIT(9), 0);
+               0x140, BIT(9), CLK_IGNORE_UNUSED);
 static CCU_GATE(CLK_PERISYS_APB1_HCLK, perisys_apb1_hclk, "perisys-apb1-hclk", perisys_ahb_hclk_pd,
                0x150, BIT(9), 0);
 static CCU_GATE(CLK_PERISYS_APB2_HCLK, perisys_apb2_hclk, "perisys-apb2-hclk", perisys_ahb_hclk_pd,
-               0x150, BIT(10), 0);
+               0x150, BIT(10), CLK_IGNORE_UNUSED);
 static CCU_GATE(CLK_PERISYS_APB3_HCLK, perisys_apb3_hclk, "perisys-apb3-hclk", perisys_ahb_hclk_pd,
-               0x150, BIT(11), 0);
+               0x150, BIT(11), CLK_IGNORE_UNUSED);
 static CCU_GATE(CLK_PERISYS_APB4_HCLK, perisys_apb4_hclk, "perisys-apb4-hclk", perisys_ahb_hclk_pd,
                0x150, BIT(12), 0);
 static CCU_GATE(CLK_NPU_AXI, npu_axi_clk, "npu-axi", axi_aclk_pd, 0x1c8, BIT(5), 0);