[PATCH 8/9] clk: mediatek: mt8365: remove separate topckgen-cg driver
David Lechner
dlechner at baylibre.com
Fri Dec 19 00:23:28 CET 2025
Remove the separate topckgen-cg driver for handling clock gates in the
topckgen address space. The devicetree bindings for this were not
acceptable upstream because it was creating a separate clock controller
using the same address space as the main topckgen clock controller. The
gates are moved to the topckgen tree instead.
Signed-off-by: David Lechner <dlechner at baylibre.com>
---
drivers/clk/mediatek/clk-mt8365.c | 49 ++++++++++++---------------------------
1 file changed, 15 insertions(+), 34 deletions(-)
diff --git a/drivers/clk/mediatek/clk-mt8365.c b/drivers/clk/mediatek/clk-mt8365.c
index eaa5c2cf0dc..a28547a0cf8 100644
--- a/drivers/clk/mediatek/clk-mt8365.c
+++ b/drivers/clk/mediatek/clk-mt8365.c
@@ -500,18 +500,6 @@ static const struct mtk_composite top_muxes[] = {
MUX_GATE(CLK_TOP_APU_IF_SEL, apu_parents, 0x0e0, 24, 3, 31),
};
-static const struct mtk_clk_tree mt8365_topckgen_tree = {
- .xtal_rate = 26 * MHZ,
- .fdivs_offs = CLK_TOP_MFGPLL,
- .muxes_offs = CLK_TOP_AXI_SEL,
- .fclks = top_fixed_clks,
- .fdivs = top_divs,
- .muxes = top_muxes,
- .num_fclks = ARRAY_SIZE(top_fixed_clks),
- .num_fdivs = ARRAY_SIZE(top_divs),
- .num_muxes = ARRAY_SIZE(top_muxes),
-};
-
/* topckgen cg */
static const struct mtk_gate_regs top0_cg_regs = {
.set_ofs = 0,
@@ -577,6 +565,21 @@ static const struct mtk_gate top_clk_gates[] = {
GATE_TOP0(CLK_TOP_DSP_26M, CLK_TOP_CLK26M, 17),
};
+static const struct mtk_clk_tree mt8365_topckgen_tree = {
+ .xtal_rate = 26 * MHZ,
+ .fdivs_offs = CLK_TOP_MFGPLL,
+ .muxes_offs = CLK_TOP_AXI_SEL,
+ .gates_offs = CLK_TOP_AUD_I2S0_M,
+ .fclks = top_fixed_clks,
+ .fdivs = top_divs,
+ .muxes = top_muxes,
+ .gates = top_clk_gates,
+ .num_fclks = ARRAY_SIZE(top_fixed_clks),
+ .num_fdivs = ARRAY_SIZE(top_divs),
+ .num_muxes = ARRAY_SIZE(top_muxes),
+ .num_gates = ARRAY_SIZE(top_clk_gates),
+};
+
/* infracfg */
static const struct mtk_gate_regs ifr2_cg_regs = {
.set_ofs = 0x80,
@@ -725,13 +728,6 @@ static int mt8365_topckgen_probe(struct udevice *dev)
return mtk_common_clk_init(dev, &mt8365_topckgen_tree);
}
-static int mt8365_topckgen_cg_probe(struct udevice *dev)
-{
- return mtk_common_clk_gate_init(dev, &mt8365_topckgen_tree, top_clk_gates,
- ARRAY_SIZE(top_clk_gates),
- CLK_TOP_AUD_I2S0_M);
-}
-
static int mt8365_infracfg_probe(struct udevice *dev)
{
return mtk_common_clk_gate_init(dev, &mt8365_infracfg_tree, ifr_clks,
@@ -748,11 +744,6 @@ static const struct udevice_id mt8365_topckgen_compat[] = {
{ }
};
-static const struct udevice_id mt8365_topckgen_cg_compat[] = {
- { .compatible = "mediatek,mt8365-topckgen-cg", },
- { }
-};
-
static const struct udevice_id mt8365_infracfg_compat[] = {
{ .compatible = "mediatek,mt8365-infracfg", },
{ }
@@ -778,16 +769,6 @@ U_BOOT_DRIVER(mtk_clk_topckgen) = {
.flags = DM_FLAG_PRE_RELOC,
};
-U_BOOT_DRIVER(mtk_clk_topckgen_cg) = {
- .name = "mt8365-topckgen-cg",
- .id = UCLASS_CLK,
- .of_match = mt8365_topckgen_cg_compat,
- .probe = mt8365_topckgen_cg_probe,
- .priv_auto = sizeof(struct mtk_cg_priv),
- .ops = &mtk_clk_gate_ops,
- .flags = DM_FLAG_PRE_RELOC,
-};
-
U_BOOT_DRIVER(mtk_clk_infracfg) = {
.name = "mt8365-infracfg",
.id = UCLASS_CLK,
--
2.43.0
More information about the U-Boot
mailing list