]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: amlogic: gxbb: drop non existing 32k clock parent
authorJerome Brunet <jbrunet@baylibre.com>
Fri, 20 Dec 2024 10:25:37 +0000 (11:25 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:30:57 +0000 (14:30 +0200)
[ Upstream commit 7915d7d5407c026fa9343befb4d3343f7a345f97 ]

The 32k clock reference a parent 'cts_slow_oscin' with a fixme note saying
that this clock should be provided by AO controller.

The HW probably has this clock but it does not exist at the moment in
any controller implementation. Furthermore, referencing clock by the global
name should be avoided whenever possible.

There is no reason to keep this hack around, at least for now.

Fixes: 14c735c8e308 ("clk: meson-gxbb: Add EE 32K Clock for CEC")
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20241220-amlogic-clk-gxbb-32k-fixes-v1-2-baca56ecf2db@baylibre.com
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/meson/gxbb.c

index a6428823371bf1af3e2cdbc4fa552430c92d2c19..cfdb1ce6d361c36792d45330c05d94546e3ada17 100644 (file)
@@ -1269,14 +1269,13 @@ static struct clk_regmap gxbb_cts_i958 = {
        },
 };
 
+/*
+ * This table skips a clock named 'cts_slow_oscin' in the documentation
+ * This clock does not exist yet in this controller or the AO one
+ */
+static u32 gxbb_32k_clk_parents_val_table[] = { 0, 2, 3 };
 static const struct clk_parent_data gxbb_32k_clk_parent_data[] = {
        { .fw_name = "xtal", },
-       /*
-        * FIXME: This clock is provided by the ao clock controller but the
-        * clock is not yet part of the binding of this controller, so string
-        * name must be use to set this parent.
-        */
-       { .name = "cts_slow_oscin", .index = -1 },
        { .hw = &gxbb_fclk_div3.hw },
        { .hw = &gxbb_fclk_div5.hw },
 };
@@ -1286,6 +1285,7 @@ static struct clk_regmap gxbb_32k_clk_sel = {
                .offset = HHI_32K_CLK_CNTL,
                .mask = 0x3,
                .shift = 16,
+               .table = gxbb_32k_clk_parents_val_table,
                },
        .hw.init = &(struct clk_init_data){
                .name = "32k_clk_sel",