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. 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 >+/*