menu "SoC selection"

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

config SOC_SIFIVE
	bool "SiFive SoCs"
	select SERIAL_SIFIVE if TTY
	select SERIAL_SIFIVE_CONSOLE if TTY
	select CLK_SIFIVE
	select CLK_SIFIVE_PRCI
	select SIFIVE_PLIC
	select ERRATA_SIFIVE if !XIP_KERNEL
	help
	  This enables support for SiFive SoC platform hardware.

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

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 SIFIVE_PLIC
	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 SOC_CANAAN
	bool "Canaan Kendryte K210 SoC"
	depends on !MMU
	select CLINT_TIMER if RISCV_M_MODE
	select SERIAL_SIFIVE if TTY
	select SERIAL_SIFIVE_CONSOLE if TTY
	select SIFIVE_PLIC
	select ARCH_HAS_RESET_CONTROLLER
	select PINCTRL
	select COMMON_CLK
	select COMMON_CLK_K210
	help
	  This enables support for Canaan Kendryte K210 SoC platform hardware.

if SOC_CANAAN

config SOC_CANAAN_K210_DTB_BUILTIN
	bool "Builtin device tree for the Canaan Kendryte K210"
	depends on SOC_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 SOC_CANAAN_K210_DTB_SOURCE
	string "Source file for the Canaan Kendryte K210 builtin DTB"
	depends on SOC_CANAAN
	depends on SOC_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

endmenu
