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