GNU Linux-libre 6.7.9-gnu
[releases.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_SOPHGO
26         bool "Sophgo SoCs"
27         help
28           This enables support for Sophgo SoC platform hardware.
29
30 config ARCH_STARFIVE
31         def_bool SOC_STARFIVE
32
33 config 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
41 config 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
50 config 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
57 config ARCH_VIRT
58         def_bool SOC_VIRT
59
60 config 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
74 config ARCH_CANAAN
75         def_bool SOC_CANAAN
76
77 config 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
87 if ARCH_CANAAN
88
89 config ARCH_CANAAN_K210_DTB_BUILTIN
90         def_bool SOC_CANAAN_K210_DTB_BUILTIN
91
92 config 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
103 config ARCH_CANAAN_K210_DTB_SOURCE
104         string
105         default SOC_CANAAN_K210_DTB_SOURCE
106
107 config 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
117 endif # ARCH_CANAAN
118
119 endmenu # "SoC selection"