]> 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:37:31 +0000 (14:37 +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 ef89285a86fc03c6f2cdf2857215aac3d08645af..a133013356b6453c032bc21747970245845438ba 100644 (file)
@@ -1272,14 +1272,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 },
 };
@@ -1289,6 +1288,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",