xref: /linux/arch/riscv/Kconfig.socs (revision c4bbe83d27c2446a033cc0381c3fb6be5e8c41c7)
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_SOPHGO
26	bool "Sophgo SoCs"
27	help
28	  This enables support for Sophgo SoC platform hardware.
29
30config ARCH_STARFIVE
31	def_bool SOC_STARFIVE
32
33config SOC_STARFIVE
34	bool "StarFive SoCs"
35	select PINCTRL
36	select RESET_CONTROLLER
37	select ARM_AMBA
38	help
39	  This enables support for StarFive SoC platform hardware.
40
41config ARCH_SUNXI
42	bool "Allwinner sun20i SoCs"
43	depends on MMU && !XIP_KERNEL
44	select ERRATA_THEAD
45	select SUN4I_TIMER
46	help
47	  This enables support for Allwinner sun20i platform hardware,
48	  including boards based on the D1 and D1s SoCs.
49
50config ARCH_THEAD
51	bool "T-HEAD RISC-V SoCs"
52	depends on MMU && !XIP_KERNEL
53	select ERRATA_THEAD
54	help
55	  This enables support for the RISC-V based T-HEAD SoCs.
56
57config ARCH_VIRT
58	def_bool SOC_VIRT
59
60config SOC_VIRT
61	bool "QEMU Virt Machine"
62	select CLINT_TIMER if RISCV_M_MODE
63	select POWER_RESET
64	select POWER_RESET_SYSCON
65	select POWER_RESET_SYSCON_POWEROFF
66	select GOLDFISH
67	select RTC_DRV_GOLDFISH if RTC_CLASS
68	select PM_GENERIC_DOMAINS if PM
69	select PM_GENERIC_DOMAINS_OF if PM && OF
70	select RISCV_SBI_CPUIDLE if CPU_IDLE && RISCV_SBI
71	help
72	  This enables support for QEMU Virt Machine.
73
74config ARCH_CANAAN
75	def_bool SOC_CANAAN
76
77config SOC_CANAAN
78	bool "Canaan Kendryte K210 SoC"
79	depends on !MMU
80	select CLINT_TIMER if RISCV_M_MODE
81	select ARCH_HAS_RESET_CONTROLLER
82	select PINCTRL
83	select COMMON_CLK
84	help
85	  This enables support for Canaan Kendryte K210 SoC platform hardware.
86
87if ARCH_CANAAN
88
89config ARCH_CANAAN_K210_DTB_BUILTIN
90	def_bool SOC_CANAAN_K210_DTB_BUILTIN
91
92config SOC_CANAAN_K210_DTB_BUILTIN
93	bool "Builtin device tree for the Canaan Kendryte K210"
94	depends on ARCH_CANAAN
95	default y
96	select OF
97	select BUILTIN_DTB
98	help
99	  Build a device tree for the Kendryte K210 into the Linux image.
100	  This option should be selected if no bootloader is being used.
101	  If unsure, say Y.
102
103config ARCH_CANAAN_K210_DTB_SOURCE
104	string
105	default SOC_CANAAN_K210_DTB_SOURCE
106
107config SOC_CANAAN_K210_DTB_SOURCE
108	string "Source file for the Canaan Kendryte K210 builtin DTB"
109	depends on ARCH_CANAAN
110	depends on ARCH_CANAAN_K210_DTB_BUILTIN
111	default "k210_generic"
112	help
113	  Base name (without suffix, relative to arch/riscv/boot/dts/canaan)
114	  for the DTS file that will be used to produce the DTB linked into the
115	  kernel.
116
117endif # ARCH_CANAAN
118
119endmenu # "SoC selection"
120