1menu "SoC selection"
2
3config SOC_MICROCHIP_POLARFIRE
4	bool "Microchip PolarFire SoCs"
5	select MCHP_CLK_MPFS
6	select SIFIVE_PLIC
7	help
8	  This enables support for Microchip PolarFire SoC platforms.
9
10config SOC_SIFIVE
11	bool "SiFive SoCs"
12	select SERIAL_SIFIVE if TTY
13	select SERIAL_SIFIVE_CONSOLE if TTY
14	select CLK_SIFIVE
15	select CLK_SIFIVE_PRCI
16	select SIFIVE_PLIC
17	select ERRATA_SIFIVE if !XIP_KERNEL
18	help
19	  This enables support for SiFive SoC platform hardware.
20
21config SOC_STARFIVE
22	bool "StarFive SoCs"
23	select PINCTRL
24	select RESET_CONTROLLER
25	select SIFIVE_PLIC
26	help
27	  This enables support for StarFive SoC platform hardware.
28
29config SOC_VIRT
30	bool "QEMU Virt Machine"
31	select CLINT_TIMER if RISCV_M_MODE
32	select POWER_RESET
33	select POWER_RESET_SYSCON
34	select POWER_RESET_SYSCON_POWEROFF
35	select GOLDFISH
36	select RTC_DRV_GOLDFISH if RTC_CLASS
37	select SIFIVE_PLIC
38	select PM_GENERIC_DOMAINS if PM
39	select PM_GENERIC_DOMAINS_OF if PM && OF
40	select RISCV_SBI_CPUIDLE if CPU_IDLE && RISCV_SBI
41	help
42	  This enables support for QEMU Virt Machine.
43
44config SOC_CANAAN
45	bool "Canaan Kendryte K210 SoC"
46	depends on !MMU
47	select CLINT_TIMER if RISCV_M_MODE
48	select SERIAL_SIFIVE if TTY
49	select SERIAL_SIFIVE_CONSOLE if TTY
50	select SIFIVE_PLIC
51	select ARCH_HAS_RESET_CONTROLLER
52	select PINCTRL
53	select COMMON_CLK
54	select COMMON_CLK_K210
55	help
56	  This enables support for Canaan Kendryte K210 SoC platform hardware.
57
58if SOC_CANAAN
59
60config SOC_CANAAN_K210_DTB_BUILTIN
61	bool "Builtin device tree for the Canaan Kendryte K210"
62	depends on SOC_CANAAN
63	default y
64	select OF
65	select BUILTIN_DTB
66	help
67	  Build a device tree for the Kendryte K210 into the Linux image.
68	  This option should be selected if no bootloader is being used.
69	  If unsure, say Y.
70
71config SOC_CANAAN_K210_DTB_SOURCE
72	string "Source file for the Canaan Kendryte K210 builtin DTB"
73	depends on SOC_CANAAN
74	depends on SOC_CANAAN_K210_DTB_BUILTIN
75	default "k210_generic"
76	help
77	  Base name (without suffix, relative to arch/riscv/boot/dts/canaan)
78	  for the DTS file that will be used to produce the DTB linked into the
79	  kernel.
80
81endif
82
83endmenu
84