On Tue, Mar 18, 2025 at 05:37:36AM +0000, Yixun Lan wrote: > Hi Haylen Chu: > > On 17:57 Thu 06 Mar , Haylen Chu wrote: > > The clock tree of K1 SoC contains three main types of clock hardware > > (PLL/DDN/MIX) and has control registers split into several multifunction > > devices: APBS (PLLs), MPMU, APBC and APMU. > > > > All register operations are done through regmap to ensure atomiciy > > between concurrent operations of clock driver and reset, > > power-domain driver that will be introduced in the future. > > > > Signed-off-by: Haylen Chu <heylenay@xxxxxxx> > > --- > > drivers/clk/Kconfig | 1 + > > drivers/clk/Makefile | 1 + > > drivers/clk/spacemit/Kconfig | 20 + > > drivers/clk/spacemit/Makefile | 5 + > > drivers/clk/spacemit/ccu-k1.c | 1714 +++++++++++++++++++++++++++++ > > drivers/clk/spacemit/ccu_common.h | 47 + > > drivers/clk/spacemit/ccu_ddn.c | 80 ++ > > drivers/clk/spacemit/ccu_ddn.h | 48 + > > drivers/clk/spacemit/ccu_mix.c | 284 +++++ > > drivers/clk/spacemit/ccu_mix.h | 246 +++++ > > drivers/clk/spacemit/ccu_pll.c | 146 +++ > > drivers/clk/spacemit/ccu_pll.h | 76 ++ > > 12 files changed, 2668 insertions(+) > > create mode 100644 drivers/clk/spacemit/Kconfig > > create mode 100644 drivers/clk/spacemit/Makefile > > create mode 100644 drivers/clk/spacemit/ccu-k1.c > > create mode 100644 drivers/clk/spacemit/ccu_common.h > > create mode 100644 drivers/clk/spacemit/ccu_ddn.c > > create mode 100644 drivers/clk/spacemit/ccu_ddn.h > > create mode 100644 drivers/clk/spacemit/ccu_mix.c > > create mode 100644 drivers/clk/spacemit/ccu_mix.h > > create mode 100644 drivers/clk/spacemit/ccu_pll.c > > create mode 100644 drivers/clk/spacemit/ccu_pll.h > > > > diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig > > index 713573b6c86c..19c1ed280fd7 100644 > > --- a/drivers/clk/Kconfig > > +++ b/drivers/clk/Kconfig > > @@ -517,6 +517,7 @@ source "drivers/clk/samsung/Kconfig" > > source "drivers/clk/sifive/Kconfig" > > source "drivers/clk/socfpga/Kconfig" > > source "drivers/clk/sophgo/Kconfig" > > +source "drivers/clk/spacemit/Kconfig" > > source "drivers/clk/sprd/Kconfig" > > source "drivers/clk/starfive/Kconfig" > > source "drivers/clk/sunxi/Kconfig" > > diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile > > index bf4bd45adc3a..42867cd37c33 100644 > > --- a/drivers/clk/Makefile > > +++ b/drivers/clk/Makefile > > @@ -145,6 +145,7 @@ obj-$(CONFIG_COMMON_CLK_SAMSUNG) += samsung/ > > obj-$(CONFIG_CLK_SIFIVE) += sifive/ > > obj-y += socfpga/ > > obj-y += sophgo/ > > +obj-y += spacemit/ > > obj-$(CONFIG_PLAT_SPEAR) += spear/ > > obj-y += sprd/ > > obj-$(CONFIG_ARCH_STI) += st/ > > diff --git a/drivers/clk/spacemit/Kconfig b/drivers/clk/spacemit/Kconfig > > new file mode 100644 > > index 000000000000..76090cd85668 > > --- /dev/null > > +++ b/drivers/clk/spacemit/Kconfig > > @@ -0,0 +1,20 @@ > > +# SPDX-License-Identifier: GPL-2.0-only > > + > > +config SPACEMIT_CCU > > + tristate "Clock support for Spacemit SoCs" > > + default y > similar reason to pinctrl with these patches [1], [2] > I'd suggest switch to "bool + default ARCH_SPACEMIT" > > Link: https://lore.kernel.org/all/20250218-k1-pinctrl-option-v3-1-36e031e0da1b@xxxxxxxxxx [1] > Link: https://lore.kernel.org/all/6881b8d1ad74ac780af8a974e604b5ef3f5d4aad.1742198691.git.geert+renesas@xxxxxxxxx [2] > Clk subsystem prefers no defalt and set it in defconfig, so should no default there. Regards, Inochi