[PATCH v5 5/7] riscv: Kconfig.socs: Split ARCH_CANAAN and SOC_CANAAN_K210

Guo Ren guoren at kernel.org
Tue Mar 5 15:38:52 PST 2024


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 at cyyself.name> 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 at cyyself.name>
> ---
>  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



More information about the linux-riscv mailing list