RISC-V: add a spin_shadow_stack declaration
[linux-block.git] / arch / riscv / Kconfig.socs
1 menu "SoC selection"
2
3 config ARCH_MICROCHIP_POLARFIRE
4         def_bool SOC_MICROCHIP_POLARFIRE
5
6 config SOC_MICROCHIP_POLARFIRE
7         bool "Microchip PolarFire SoCs"
8         help
9           This enables support for Microchip PolarFire SoC platforms.
10
11 config ARCH_RENESAS
12         bool "Renesas RISC-V SoCs"
13         help
14           This enables support for the RISC-V based Renesas SoCs.
15
16 config ARCH_SIFIVE
17         def_bool SOC_SIFIVE
18
19 config 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
25 config ARCH_STARFIVE
26         def_bool SOC_STARFIVE
27
28 config SOC_STARFIVE
29         bool "StarFive SoCs"
30         select PINCTRL
31         select RESET_CONTROLLER
32         help
33           This enables support for StarFive SoC platform hardware.
34
35 config ARCH_VIRT
36         def_bool SOC_VIRT
37
38 config SOC_VIRT
39         bool "QEMU Virt Machine"
40         select CLINT_TIMER if RISCV_M_MODE
41         select POWER_RESET
42         select POWER_RESET_SYSCON
43         select POWER_RESET_SYSCON_POWEROFF
44         select GOLDFISH
45         select RTC_DRV_GOLDFISH if RTC_CLASS
46         select PM_GENERIC_DOMAINS if PM
47         select PM_GENERIC_DOMAINS_OF if PM && OF
48         select RISCV_SBI_CPUIDLE if CPU_IDLE && RISCV_SBI
49         help
50           This enables support for QEMU Virt Machine.
51
52 config ARCH_CANAAN
53         def_bool SOC_CANAAN
54
55 config SOC_CANAAN
56         bool "Canaan Kendryte K210 SoC"
57         depends on !MMU
58         select CLINT_TIMER if RISCV_M_MODE
59         select ARCH_HAS_RESET_CONTROLLER
60         select PINCTRL
61         select COMMON_CLK
62         help
63           This enables support for Canaan Kendryte K210 SoC platform hardware.
64
65 if ARCH_CANAAN
66
67 config ARCH_CANAAN_K210_DTB_BUILTIN
68         def_bool SOC_CANAAN_K210_DTB_BUILTIN
69
70 config SOC_CANAAN_K210_DTB_BUILTIN
71         bool "Builtin device tree for the Canaan Kendryte K210"
72         depends on ARCH_CANAAN
73         default y
74         select OF
75         select BUILTIN_DTB
76         help
77           Build a device tree for the Kendryte K210 into the Linux image.
78           This option should be selected if no bootloader is being used.
79           If unsure, say Y.
80
81 config ARCH_CANAAN_K210_DTB_SOURCE
82         string
83         default SOC_CANAAN_K210_DTB_SOURCE
84
85 config SOC_CANAAN_K210_DTB_SOURCE
86         string "Source file for the Canaan Kendryte K210 builtin DTB"
87         depends on ARCH_CANAAN
88         depends on ARCH_CANAAN_K210_DTB_BUILTIN
89         default "k210_generic"
90         help
91           Base name (without suffix, relative to arch/riscv/boot/dts/canaan)
92           for the DTS file that will be used to produce the DTB linked into the
93           kernel.
94
95 endif # ARCH_CANAAN
96
97 endmenu # "SoC selection"