menu "SoC selection"

config ARCH_MICROCHIP_POLARFIRE
	def_bool SOC_MICROCHIP_POLARFIRE

config SOC_MICROCHIP_POLARFIRE
	bool "Microchip PolarFire SoCs"
	help
	  This enables support for Microchip PolarFire SoC platforms.

config ARCH_RENESAS
	bool "Renesas RISC-V SoCs"
	help
	  This enables support for the RISC-V based Renesas SoCs.

config ARCH_SIFIVE
	def_bool SOC_SIFIVE

config SOC_SIFIVE
	bool "SiFive SoCs"
	select ERRATA_SIFIVE if !XIP_KERNEL
	help
	  This enables support for SiFive SoC platform hardware.

config ARCH_STARFIVE
	def_bool SOC_STARFIVE

config SOC_STARFIVE
	bool "StarFive SoCs"
	select PINCTRL
	select RESET_CONTROLLER
	help
	  This enables support for StarFive SoC platform hardware.

config ARCH_SUNXI
	bool "Allwinner sun20i SoCs"
	depends on MMU && !XIP_KERNEL
	select ERRATA_THEAD
	select SUN4I_TIMER
	help
	  This enables support for Allwinner sun20i platform hardware,
	  including boards based on the D1 and D1s SoCs.

config ARCH_VIRT
	def_bool SOC_VIRT

config SOC_VIRT
	bool "QEMU Virt Machine"
	select CLINT_TIMER if RISCV_M_MODE
	select POWER_RESET
	select POWER_RESET_SYSCON
	select POWER_RESET_SYSCON_POWEROFF
	select GOLDFISH
	select RTC_DRV_GOLDFISH if RTC_CLASS
	select PM_GENERIC_DOMAINS if PM
	select PM_GENERIC_DOMAINS_OF if PM && OF
	select RISCV_SBI_CPUIDLE if CPU_IDLE && RISCV_SBI
	help
	  This enables support for QEMU Virt Machine.

config ARCH_CANAAN
	def_bool SOC_CANAAN

config SOC_CANAAN
	bool "Canaan Kendryte K210 SoC"
	depends on !MMU
	select CLINT_TIMER if RISCV_M_MODE
	select ARCH_HAS_RESET_CONTROLLER
	select PINCTRL
	select COMMON_CLK
	help
	  This enables support for Canaan Kendryte K210 SoC platform hardware.

if ARCH_CANAAN

config ARCH_CANAAN_K210_DTB_BUILTIN
	def_bool SOC_CANAAN_K210_DTB_BUILTIN

config SOC_CANAAN_K210_DTB_BUILTIN
	bool "Builtin device tree for the Canaan Kendryte K210"
	depends on ARCH_CANAAN
	default y
	select OF
	select BUILTIN_DTB
	help
	  Build a device tree for the Kendryte K210 into the Linux image.
	  This option should be selected if no bootloader is being used.
	  If unsure, say Y.

config ARCH_CANAAN_K210_DTB_SOURCE
	string
	default SOC_CANAAN_K210_DTB_SOURCE

config SOC_CANAAN_K210_DTB_SOURCE
	string "Source file for the Canaan Kendryte K210 builtin DTB"
	depends on ARCH_CANAAN
	depends on ARCH_CANAAN_K210_DTB_BUILTIN
	default "k210_generic"
	help
	  Base name (without suffix, relative to arch/riscv/boot/dts/canaan)
	  for the DTS file that will be used to produce the DTB linked into the
	  kernel.

endif # ARCH_CANAAN

endmenu # "SoC selection"
