On Thu, May 19, 2022 at 12:53 PM Miles Chen <miles.chen@xxxxxxxxxxxx> wrote: > > > Hi Angelo, > > >Add the clock drivers for the entire clock tree of MediaTek Helio X10 > >MT6795, including system clocks (apmixedsys, infracfg, pericfg, topckgen) > >and multimedia clocks (mmsys, mfg, vdecsys, vencsys). > > > >Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> > >--- > > drivers/clk/mediatek/Kconfig | 37 ++ > > drivers/clk/mediatek/Makefile | 6 + > > drivers/clk/mediatek/clk-mt6795-apmixedsys.c | 157 +++++ > > drivers/clk/mediatek/clk-mt6795-infracfg.c | 148 +++++ > > drivers/clk/mediatek/clk-mt6795-mfg.c | 50 ++ > > drivers/clk/mediatek/clk-mt6795-mm.c | 106 ++++ > > drivers/clk/mediatek/clk-mt6795-pericfg.c | 160 +++++ > > drivers/clk/mediatek/clk-mt6795-topckgen.c | 611 +++++++++++++++++++ > > drivers/clk/mediatek/clk-mt6795-vdecsys.c | 55 ++ > > drivers/clk/mediatek/clk-mt6795-vencsys.c | 50 ++ > > 10 files changed, 1380 insertions(+) > > create mode 100644 drivers/clk/mediatek/clk-mt6795-apmixedsys.c > > create mode 100644 drivers/clk/mediatek/clk-mt6795-infracfg.c > > create mode 100644 drivers/clk/mediatek/clk-mt6795-mfg.c > > create mode 100644 drivers/clk/mediatek/clk-mt6795-mm.c > > create mode 100644 drivers/clk/mediatek/clk-mt6795-pericfg.c > > create mode 100644 drivers/clk/mediatek/clk-mt6795-topckgen.c > > create mode 100644 drivers/clk/mediatek/clk-mt6795-vdecsys.c > > create mode 100644 drivers/clk/mediatek/clk-mt6795-vencsys.c > > > >diff --git a/drivers/clk/mediatek/Kconfig b/drivers/clk/mediatek/Kconfig > >index d5936cfb3bee..da8142dff3c3 100644 > >--- a/drivers/clk/mediatek/Kconfig > >+++ b/drivers/clk/mediatek/Kconfig > >@@ -259,6 +259,43 @@ config COMMON_CLK_MT6779_AUDSYS > > help > > This driver supports Mediatek MT6779 audsys clocks. > > > >+config COMMON_CLK_MT6795 > >+ tristate "Clock driver for MediaTek MT6795" > >+ depends on ARCH_MEDIATEK || COMPILE_TEST > >+ select COMMON_CLK_MEDIATEK > >+ default ARCH_MEDIATEK > >+ help > >+ This driver supports MediaTek MT6795 basic clocks and clocks > >+ required for various peripherals found on MediaTek. > > Thanks for doing this, I was wondering if we can use only COMMON_CLK_MT6795 to build all > clk-mt6795-*? like CONFIG_COMMON_CLK_MT8195 style: > > obj-$(CONFIG_COMMON_CLK_MT8195) += clk-mt8195-apmixedsys.o clk-mt8195-topckgen.o \ > clk-mt8195-peri_ao.o clk-mt8195-infra_ao.o \ > clk-mt8195-cam.o clk-mt8195-ccu.o clk-mt8195-img.o \ > clk-mt8195-ipe.o clk-mt8195-mfg.o clk-mt8195-scp_adsp.o \ > clk-mt8195-vdec.o clk-mt8195-vdo0.o clk-mt8195-vdo1.o \ > clk-mt8195-venc.o clk-mt8195-vpp0.o clk-mt8195-vpp1.o \ > clk-mt8195-wpe.o clk-mt8195-imp_iic_wrap.o \ > clk-mt8195-apusys_pll.o > > So we do not have to keep other COMMON_CLK_MT6795_* configs. +1 to that. I'm not sure if splitting the Kconfig symbols by subsystem ever made sense. Either you want a fully functioning system, or you don't want support for a given SoC built-in. Reducing the number of Kconfig symbols also helps people running randconfig tests. ChenYu > > thanks, > Miles > > >+ > >+config COMMON_CLK_MT6795_MFGCFG > >+ tristate "Clock driver for MediaTek MT6795 mfgcfg" > >+ depends on COMMON_CLK_MT6795 > >+ default COMMON_CLK_MT6795 > >+ help > >+ This driver supports MediaTek MT6795 mfgcfg clocks. > >+ > >+config COMMON_CLK_MT6795_MMSYS > >+ tristate "Clock driver for MediaTek MT6795 mmsys" > >+ depends on COMMON_CLK_MT6795 > >+ default COMMON_CLK_MT6795 > >+ help > >+ This driver supports MediaTek MT6795 mmsys clocks. > >+ > >+config COMMON_CLK_MT6795_VDECSYS > >+ tristate "Clock driver for MediaTek MT6795 VDECSYS" > >+ depends on COMMON_CLK_MT6795 > >+ default COMMON_CLK_MT6795 > >+ help > >+ This driver supports MediaTek MT6795 vdecsys clocks. > >+ > >+config COMMON_CLK_MT6795_VENCSYS > >+ tristate "Clock driver for MediaTek MT6795 VENCSYS" > >+ depends on COMMON_CLK_MT6795 > >+ default COMMON_CLK_MT6795 > >+ help > >+ This driver supports MediaTek MT6795 vencsys clocks. > >+ > > config COMMON_CLK_MT6797 > > bool "Clock driver for MediaTek MT6797" > > depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST > >diff --git a/drivers/clk/mediatek/Makefile b/drivers/clk/mediatek/Makefile > >index caf2ce93d666..57f0bf90e934 100644 > >--- a/drivers/clk/mediatek/Makefile > >+++ b/drivers/clk/mediatek/Makefile > >@@ -17,6 +17,12 @@ obj-$(CONFIG_COMMON_CLK_MT6779_VDECSYS) += clk-mt6779-vdec.o > > obj-$(CONFIG_COMMON_CLK_MT6779_VENCSYS) += clk-mt6779-venc.o > > obj-$(CONFIG_COMMON_CLK_MT6779_MFGCFG) += clk-mt6779-mfg.o > > obj-$(CONFIG_COMMON_CLK_MT6779_AUDSYS) += clk-mt6779-aud.o > >+obj-$(CONFIG_COMMON_CLK_MT6795) += clk-mt6795-apmixedsys.o clk-mt6795-infracfg.o \ > >+ clk-mt6795-pericfg.o clk-mt6795-topckgen.o > >+obj-$(CONFIG_COMMON_CLK_MT6795_MFGCFG) += clk-mt6795-mfg.o > >+obj-$(CONFIG_COMMON_CLK_MT6795_MMSYS) += clk-mt6795-mm.o > >+obj-$(CONFIG_COMMON_CLK_MT6795_VDECSYS) += clk-mt6795-vdecsys.o > >+obj-$(CONFIG_COMMON_CLK_MT6795_VENCSYS) += clk-mt6795-vencsys.o > > > > > obj-$(CONFIG_COMMON_CLK_MT6797) += clk-mt6797.o > > obj-$(CONFIG_COMMON_CLK_MT6797_IMGSYS) += clk-mt6797-img.o > > obj-$(CONFIG_COMMON_CLK_MT6797_MMSYS) += clk-mt6797-mm.o > >diff --git a/drivers/clk/mediatek/clk-mt6795-apmixedsys.c b/drivers/clk/mediatek/clk-mt6795-apmixedsys.c > >new file mode 100644 > >index 000000000000..766e83765cbb > >--- /dev/null > >+++ b/drivers/clk/mediatek/clk-mt6795-apmixedsys.c > >@@ -0,0 +1,157 @@ > >+// SPDX-License-Identifier: GPL-2.0-only > >+/*