This patch cross so many subsystems, I am not sure about it. If I were you, I would keep SOC_CANAAN and just add SOC_CANAAN_K230. On Wed, Mar 6, 2024 at 7:04 AM Yangyu Chen <cyy@xxxxxxxxxxxx> wrote: > > Since we have Canaan Kendryte K230 with MMU now. The use of SOC_CANAAN > is no longer only referred to K210. Split them and add _K210 suffix > to the name for old SOC_CANAAN. And allows ARCH_CANAAN to be selected > for other Canaan SoCs. > > Signed-off-by: Yangyu Chen <cyy@xxxxxxxxxxxx> > --- > arch/riscv/Kconfig.socs | 8 +++++--- > arch/riscv/Makefile | 2 +- > arch/riscv/configs/nommu_k210_defconfig | 3 ++- > arch/riscv/configs/nommu_k210_sdcard_defconfig | 3 ++- > drivers/clk/Kconfig | 4 ++-- > drivers/pinctrl/Kconfig | 4 ++-- > drivers/reset/Kconfig | 4 ++-- > drivers/soc/Makefile | 2 +- > drivers/soc/canaan/Kconfig | 4 ++-- > 9 files changed, 19 insertions(+), 15 deletions(-) > > diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs > index 623de5f8a208..5710aee456ac 100644 > --- a/arch/riscv/Kconfig.socs > +++ b/arch/riscv/Kconfig.socs > @@ -72,11 +72,13 @@ config SOC_VIRT > This enables support for QEMU Virt Machine. > > config ARCH_CANAAN > - def_bool SOC_CANAAN > + bool "Canaan Kendryte SoC" > + help > + This enables support for Canaan Kendryte SoC platform hardware. > > -config SOC_CANAAN > +config SOC_CANAAN_K210 > bool "Canaan Kendryte K210 SoC" > - depends on !MMU > + depends on !MMU && ARCH_CANAAN > select CLINT_TIMER if RISCV_M_MODE > select ARCH_HAS_RESET_CONTROLLER > select PINCTRL > diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile > index 252d63942f34..fa6c389c3986 100644 > --- a/arch/riscv/Makefile > +++ b/arch/riscv/Makefile > @@ -154,7 +154,7 @@ vdso-install-y += arch/riscv/kernel/vdso/vdso.so.dbg > vdso-install-$(CONFIG_COMPAT) += arch/riscv/kernel/compat_vdso/compat_vdso.so.dbg:../compat_vdso/compat_vdso.so > > ifneq ($(CONFIG_XIP_KERNEL),y) > -ifeq ($(CONFIG_RISCV_M_MODE)$(CONFIG_ARCH_CANAAN),yy) > +ifeq ($(CONFIG_RISCV_M_MODE)$(CONFIG_SOC_CANAAN_K210),yy) > KBUILD_IMAGE := $(boot)/loader.bin > else > ifeq ($(CONFIG_EFI_ZBOOT),) > diff --git a/arch/riscv/configs/nommu_k210_defconfig b/arch/riscv/configs/nommu_k210_defconfig > index 7e75200543f4..2552e78074a3 100644 > --- a/arch/riscv/configs/nommu_k210_defconfig > +++ b/arch/riscv/configs/nommu_k210_defconfig > @@ -27,7 +27,8 @@ CONFIG_EXPERT=y > CONFIG_SLUB=y > CONFIG_SLUB_TINY=y > # CONFIG_MMU is not set > -CONFIG_SOC_CANAAN=y > +CONFIG_ARCH_CANAAN=y > +CONFIG_SOC_CANAAN_K210=y > CONFIG_NONPORTABLE=y > CONFIG_SMP=y > CONFIG_NR_CPUS=2 > diff --git a/arch/riscv/configs/nommu_k210_sdcard_defconfig b/arch/riscv/configs/nommu_k210_sdcard_defconfig > index 0ba353e9ca71..8f67fb830585 100644 > --- a/arch/riscv/configs/nommu_k210_sdcard_defconfig > +++ b/arch/riscv/configs/nommu_k210_sdcard_defconfig > @@ -19,7 +19,8 @@ CONFIG_EXPERT=y > CONFIG_SLUB=y > CONFIG_SLUB_TINY=y > # CONFIG_MMU is not set > -CONFIG_SOC_CANAAN=y > +CONFIG_ARCH_CANAAN=y > +CONFIG_SOC_CANAAN_K210=y > CONFIG_NONPORTABLE=y > CONFIG_SMP=y > CONFIG_NR_CPUS=2 > diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig > index 50af5fc7f570..7517a0dfd15c 100644 > --- a/drivers/clk/Kconfig > +++ b/drivers/clk/Kconfig > @@ -451,8 +451,8 @@ config COMMON_CLK_FIXED_MMIO > > config COMMON_CLK_K210 > bool "Clock driver for the Canaan Kendryte K210 SoC" > - depends on OF && RISCV && SOC_CANAAN > - default SOC_CANAAN > + depends on OF && RISCV && SOC_CANAAN_K210 > + default SOC_CANAAN_K210 > help > Support for the Canaan Kendryte K210 RISC-V SoC clocks. > > diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig > index 8163a5983166..837b3bac8aac 100644 > --- a/drivers/pinctrl/Kconfig > +++ b/drivers/pinctrl/Kconfig > @@ -217,13 +217,13 @@ config PINCTRL_INGENIC > > config PINCTRL_K210 > bool "Pinctrl driver for the Canaan Kendryte K210 SoC" > - depends on RISCV && SOC_CANAAN && OF > + depends on RISCV && SOC_CANAAN_K210 && OF > select GENERIC_PINMUX_FUNCTIONS > select GENERIC_PINCONF > select GPIOLIB > select OF_GPIO > select REGMAP_MMIO > - default SOC_CANAAN > + default SOC_CANAAN_K210 > help > Add support for the Canaan Kendryte K210 RISC-V SOC Field > Programmable IO Array (FPIOA) controller. > diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig > index ccd59ddd7610..6499da7ecc3b 100644 > --- a/drivers/reset/Kconfig > +++ b/drivers/reset/Kconfig > @@ -94,9 +94,9 @@ config RESET_INTEL_GW > > config RESET_K210 > bool "Reset controller driver for Canaan Kendryte K210 SoC" > - depends on (SOC_CANAAN || COMPILE_TEST) && OF > + depends on (SOC_CANAAN_K210 || COMPILE_TEST) && OF > select MFD_SYSCON > - default SOC_CANAAN > + default SOC_CANAAN_K210 > help > Support for the Canaan Kendryte K210 RISC-V SoC reset controller. > Say Y if you want to control reset signals provided by this > diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile > index ba8f5b5460e1..fb2bd31387d0 100644 > --- a/drivers/soc/Makefile > +++ b/drivers/soc/Makefile > @@ -7,7 +7,7 @@ obj-y += apple/ > obj-y += aspeed/ > obj-$(CONFIG_ARCH_AT91) += atmel/ > obj-y += bcm/ > -obj-$(CONFIG_SOC_CANAAN) += canaan/ > +obj-$(CONFIG_ARCH_CANAAN) += canaan/ > obj-$(CONFIG_ARCH_DOVE) += dove/ > obj-$(CONFIG_MACH_DOVE) += dove/ > obj-y += fsl/ > diff --git a/drivers/soc/canaan/Kconfig b/drivers/soc/canaan/Kconfig > index 43ced2bf8444..3121d351fea6 100644 > --- a/drivers/soc/canaan/Kconfig > +++ b/drivers/soc/canaan/Kconfig > @@ -2,9 +2,9 @@ > > config SOC_K210_SYSCTL > bool "Canaan Kendryte K210 SoC system controller" > - depends on RISCV && SOC_CANAAN && OF > + depends on RISCV && SOC_CANAAN_K210 && OF > depends on COMMON_CLK_K210 > - default SOC_CANAAN > + default SOC_CANAAN_K210 > select PM > select MFD_SYSCON > help > -- > 2.43.0 > -- Best Regards Guo Ren