Re: [PATCH v2 12/29] clk: mediatek: Add MT8196 topckgen clock support
From: Chen-Yu Tsai <wenst@chromium.org>
Date: 2025-07-15 05:26:42
Also in:
linux-arm-kernel, linux-clk, linux-devicetree, linux-mediatek, lkml
Another thing, On Tue, Jun 24, 2025 at 10:33 PM Laura Nao [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Add support for the MT8196 topckgen clock controller, which provides muxes and dividers for clock selection in other IP blocks. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Laura Nao <redacted> --- drivers/clk/mediatek/Makefile | 2 +- drivers/clk/mediatek/clk-mt8196-topckgen.c | 1257 ++++++++++++++++++++ 2 files changed, 1258 insertions(+), 1 deletion(-) create mode 100644 drivers/clk/mediatek/clk-mt8196-topckgen.cdiff --git a/drivers/clk/mediatek/Makefile b/drivers/clk/mediatek/Makefile index b1773d2bcb3d..bc0e86e20074 100644 --- a/drivers/clk/mediatek/Makefile +++ b/drivers/clk/mediatek/Makefile@@ -160,7 +160,7 @@ obj-$(CONFIG_COMMON_CLK_MT8195_VDOSYS) += clk-mt8195-vdo0.o clk-mt8195-vdo1.o obj-$(CONFIG_COMMON_CLK_MT8195_VENCSYS) += clk-mt8195-venc.o obj-$(CONFIG_COMMON_CLK_MT8195_VPPSYS) += clk-mt8195-vpp0.o clk-mt8195-vpp1.o obj-$(CONFIG_COMMON_CLK_MT8195_WPESYS) += clk-mt8195-wpe.o -obj-$(CONFIG_COMMON_CLK_MT8196) += clk-mt8196-apmixedsys.o +obj-$(CONFIG_COMMON_CLK_MT8196) += clk-mt8196-apmixedsys.o clk-mt8196-topckgen.o obj-$(CONFIG_COMMON_CLK_MT8365) += clk-mt8365-apmixedsys.o clk-mt8365.o obj-$(CONFIG_COMMON_CLK_MT8365_APU) += clk-mt8365-apu.o obj-$(CONFIG_COMMON_CLK_MT8365_CAM) += clk-mt8365-cam.odiff --git a/drivers/clk/mediatek/clk-mt8196-topckgen.c b/drivers/clk/mediatek/clk-mt8196-topckgen.c new file mode 100644 index 000000000000..fc0c1227dd8d --- /dev/null +++ b/drivers/clk/mediatek/clk-mt8196-topckgen.c
[...]
+ FACTOR(CLK_TOP_APLL1_D4, "apll1_d4", "vlp_apll1", 1, 4), + FACTOR(CLK_TOP_APLL1_D8, "apll1_d8", "vlp_apll1", 1, 8), + FACTOR(CLK_TOP_APLL2_D4, "apll2_d4", "vlp_apll2", 1, 4), + FACTOR(CLK_TOP_APLL2_D8, "apll2_d8", "vlp_apll2", 1, 8),
These aren't used anywhere in this driver, but they are referenced directly in the vlpckgen driver. Maybe these should be moved over to that driver instead? Otherwise we end up with some weird circular link between the two clock controllers which doesn't seem correct to me. [...]