]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
clk: socfpga: agilex: implement l3_main_free_clk
authorAdrian Ng Ho Yin <adrian.ho.yin.ng@altera.com>
Fri, 22 May 2026 09:02:54 +0000 (17:02 +0800)
committerDinh Nguyen <dinguyen@kernel.org>
Tue, 26 May 2026 02:46:56 +0000 (21:46 -0500)
The AGILEX_L3_MAIN_FREE_CLK is defined in the dt-bindings header but
was never implemented in the clock driver. Per the Agilex TRM,
l3_main_free_clk has no divider or mux and is a fixed 1:1 derivative
of noc_free_clk that clocks most of the interconnect datapath.

Signed-off-by: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
drivers/clk/socfpga/clk-agilex.c

index 8dd94f64756b97fdea558ebde55b76a3a3baaffb..2bdea1997b5eff171f411f9dd3109ab978b1028a 100644 (file)
@@ -259,6 +259,8 @@ static const struct stratix10_perip_cnt_clock agilex_main_perip_cnt_clks[] = {
           0, 0x3C, 0, 0, 0},
        { AGILEX_NOC_FREE_CLK, "noc_free_clk", NULL, noc_free_mux, ARRAY_SIZE(noc_free_mux),
          0, 0x40, 0, 0, 0},
+       { AGILEX_L3_MAIN_FREE_CLK, "l3_main_free_clk", "noc_free_clk", NULL,
+         1, 0, 0, 1, 0, 0},
        { AGILEX_L4_SYS_FREE_CLK, "l4_sys_free_clk", NULL, noc_mux, ARRAY_SIZE(noc_mux), 0,
          0, 4, 0x30, 1},
        { AGILEX_EMAC_A_FREE_CLK, "emaca_free_clk", NULL, emaca_free_mux, ARRAY_SIZE(emaca_free_mux),