1menu "SoC selection"
2
3config ARCH_MICROCHIP_POLARFIRE
4	def_bool SOC_MICROCHIP_POLARFIRE
5
6config SOC_MICROCHIP_POLARFIRE
7	bool "Microchip PolarFire SoCs"
8	help
9	  This enables support for Microchip PolarFire SoC platforms.
10
11config ARCH_RENESAS
12	bool "Renesas RISC-V SoCs"
13	help
14	  This enables support for the RISC-V based Renesas SoCs.
15
16config ARCH_SIFIVE
17	def_bool SOC_SIFIVE
18
19config SOC_SIFIVE
20	bool "SiFive SoCs"
21	select ERRATA_SIFIVE if !XIP_KERNEL
22	help
23	  This enables support for SiFive SoC platform hardware.
24
25config ARCH_STARFIVE
26	def_bool SOC_STARFIVE
27
28config SOC_STARFIVE
29	bool "StarFive SoCs"
30	select PINCTRL
31	select RESET_CONTROLLER
32	select ARM_AMBA
33	help
34	  This enables support for StarFive SoC platform hardware.
35
36config ARCH_SUNXI
37	bool "Allwinner sun20i SoCs"
38	depends on MMU && !XIP_KERNEL
39	select ERRATA_THEAD
40	select SUN4I_TIMER
41	help
42	  This enables support for Allwinner sun20i platform hardware,
43	  including boards based on the D1 and D1s SoCs.
44
45config ARCH_THEAD
46	bool "T-HEAD RISC-V SoCs"
47	depends on MMU && !XIP_KERNEL
48	select ERRATA_THEAD
49	help
50	  This enables support for the RISC-V based T-HEAD SoCs.
51
52config ARCH_VIRT
53	def_bool SOC_VIRT
54
55config SOC_VIRT
56	bool "QEMU Virt Machine"
57	select CLINT_TIMER if RISCV_M_MODE
58	select POWER_RESET
59	select POWER_RESET_SYSCON
60	select POWER_RESET_SYSCON_POWEROFF
61	select GOLDFISH
62	select RTC_DRV_GOLDFISH if RTC_CLASS
63	select PM_GENERIC_DOMAINS if PM
64	select PM_GENERIC_DOMAINS_OF if PM && OF
65	select RISCV_SBI_CPUIDLE if CPU_IDLE && RISCV_SBI
66	help
67	  This enables support for QEMU Virt Machine.
68
69config ARCH_CANAAN
70	def_bool SOC_CANAAN
71
72config SOC_CANAAN
73	bool "Canaan Kendryte K210 SoC"
74	depends on !MMU
75	select CLINT_TIMER if RISCV_M_MODE
76	select ARCH_HAS_RESET_CONTROLLER
77	select PINCTRL
78	select COMMON_CLK
79	help
80	  This enables support for Canaan Kendryte K210 SoC platform hardware.
81
82if ARCH_CANAAN
83
84config ARCH_CANAAN_K210_DTB_BUILTIN
85	def_bool SOC_CANAAN_K210_DTB_BUILTIN
86
87config SOC_CANAAN_K210_DTB_BUILTIN
88	bool "Builtin device tree for the Canaan Kendryte K210"
89	depends on ARCH_CANAAN
90	default y
91	select OF
92	select BUILTIN_DTB
93	help
94	  Build a device tree for the Kendryte K210 into the Linux image.
95	  This option should be selected if no bootloader is being used.
96	  If unsure, say Y.
97
98config ARCH_CANAAN_K210_DTB_SOURCE
99	string
100	default SOC_CANAAN_K210_DTB_SOURCE
101
102config SOC_CANAAN_K210_DTB_SOURCE
103	string "Source file for the Canaan Kendryte K210 builtin DTB"
104	depends on ARCH_CANAAN
105	depends on ARCH_CANAAN_K210_DTB_BUILTIN
106	default "k210_generic"
107	help
108	  Base name (without suffix, relative to arch/riscv/boot/dts/canaan)
109	  for the DTS file that will be used to produce the DTB linked into the
110	  kernel.
111
112endif # ARCH_CANAAN
113
114endmenu # "SoC selection"
115