sysreset: move stm32mp sysreset poweroff implementation to sysreset uclass
[oweals/u-boot.git] / arch / Kconfig
1 config CREATE_ARCH_SYMLINK
2         bool
3
4 config HAVE_ARCH_IOREMAP
5         bool
6
7 choice
8         prompt "Architecture select"
9         default SANDBOX
10
11 config ARC
12         bool "ARC architecture"
13         select ARCH_EARLY_INIT_R
14         select ARC_TIMER
15         select CLK
16         select HAVE_PRIVATE_LIBGCC
17         select SUPPORT_OF_CONTROL
18         select TIMER
19
20 config ARM
21         bool "ARM architecture"
22         select CREATE_ARCH_SYMLINK
23         select HAVE_PRIVATE_LIBGCC if !ARM64
24         select SUPPORT_OF_CONTROL
25
26 config M68K
27         bool "M68000 architecture"
28         select HAVE_PRIVATE_LIBGCC
29         select SYS_BOOT_GET_CMDLINE
30         select SYS_BOOT_GET_KBD
31         select SUPPORT_OF_CONTROL
32
33 config MICROBLAZE
34         bool "MicroBlaze architecture"
35         select SUPPORT_OF_CONTROL
36         imply CMD_IRQ
37
38 config MIPS
39         bool "MIPS architecture"
40         select HAVE_ARCH_IOREMAP
41         select HAVE_PRIVATE_LIBGCC
42         select SUPPORT_OF_CONTROL
43
44 config NDS32
45         bool "NDS32 architecture"
46         select SUPPORT_OF_CONTROL
47
48 config NIOS2
49         bool "Nios II architecture"
50         select CPU
51         select DM
52         select OF_CONTROL
53         select SUPPORT_OF_CONTROL
54         imply CMD_DM
55
56 config PPC
57         bool "PowerPC architecture"
58         select HAVE_PRIVATE_LIBGCC
59         select SUPPORT_OF_CONTROL
60         select SYS_BOOT_GET_CMDLINE
61         select SYS_BOOT_GET_KBD
62
63 config RISCV
64         bool "RISC-V architecture"
65         select CREATE_ARCH_SYMLINK
66         select SUPPORT_OF_CONTROL
67         select OF_CONTROL
68         select DM
69         imply DM_SERIAL
70         imply DM_ETH
71         imply DM_MMC
72         imply DM_SPI
73         imply DM_SPI_FLASH
74         imply BLK
75         imply CLK
76         imply MTD
77         imply TIMER
78         imply CMD_DM
79
80 config SANDBOX
81         bool "Sandbox"
82         select BOARD_LATE_INIT
83         select DM
84         select DM_GPIO
85         select DM_I2C
86         select DM_KEYBOARD
87         select DM_MMC
88         select DM_SERIAL
89         select DM_SPI
90         select DM_SPI_FLASH
91         select HAVE_BLOCK_DEVICE
92         select LZO
93         select PCI_ENDPOINT
94         select SPI
95         select SUPPORT_OF_CONTROL
96         select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
97         imply BITREVERSE
98         select BLOBLIST
99         imply CMD_DM
100         imply CMD_GETTIME
101         imply CMD_HASH
102         imply CMD_IO
103         imply CMD_IOTRACE
104         imply CMD_LZMADEC
105         imply CMD_SATA
106         imply CMD_SF
107         imply CMD_SF_TEST
108         imply CRC32_VERIFY
109         imply FAT_WRITE
110         imply FIRMWARE
111         imply HASH_VERIFY
112         imply LZMA
113         imply SCSI
114         imply TEE
115         imply AVB_VERIFY
116         imply LIBAVB
117         imply CMD_AVB
118         imply UDP_FUNCTION_FASTBOOT
119         imply VIRTIO_MMIO
120         imply VIRTIO_PCI
121         imply VIRTIO_SANDBOX
122         imply VIRTIO_BLK
123         imply VIRTIO_NET
124         imply DM_SOUND
125         imply PCI_SANDBOX_EP
126         imply PCH
127         imply PHYLIB
128         imply DM_MDIO
129         imply DM_MDIO_MUX
130
131 config SH
132         bool "SuperH architecture"
133         select HAVE_PRIVATE_LIBGCC
134
135 config X86
136         bool "x86 architecture"
137         select SUPPORT_SPL
138         select SUPPORT_TPL
139         select CREATE_ARCH_SYMLINK
140         select DM
141         select DM_PCI
142         select HAVE_ARCH_IOMAP
143         select HAVE_PRIVATE_LIBGCC
144         select OF_CONTROL
145         select PCI
146         select SUPPORT_OF_CONTROL
147         select TIMER
148         select USE_PRIVATE_LIBGCC
149         select X86_TSC_TIMER
150         imply BLK
151         imply CMD_DM
152         imply CMD_FPGA_LOADMK
153         imply CMD_GETTIME
154         imply CMD_IO
155         imply CMD_IRQ
156         imply CMD_PCI
157         imply CMD_SF
158         imply CMD_SF_TEST
159         imply CMD_ZBOOT
160         imply DM_ETH
161         imply DM_GPIO
162         imply DM_KEYBOARD
163         imply DM_MMC
164         imply DM_RTC
165         imply DM_SCSI
166         imply DM_SERIAL
167         imply DM_SPI
168         imply DM_SPI_FLASH
169         imply DM_USB
170         imply DM_VIDEO
171         imply SYSRESET
172         imply SPL_SYSRESET
173         imply SYSRESET_X86
174         imply USB_ETHER_ASIX
175         imply USB_ETHER_SMSC95XX
176         imply USB_HOST_ETHER
177         imply PCH
178         imply RTC_MC146818
179
180         # Thing to enable for when SPL/TPL are enabled: SPL
181         imply SPL_DM
182         imply SPL_OF_LIBFDT
183         imply SPL_DRIVERS_MISC_SUPPORT
184         imply SPL_GPIO_SUPPORT
185         imply SPL_LIBCOMMON_SUPPORT
186         imply SPL_LIBGENERIC_SUPPORT
187         imply SPL_SERIAL_SUPPORT
188         imply SPL_SPI_FLASH_SUPPORT
189         imply SPL_SPI_SUPPORT
190         imply SPL_OF_CONTROL
191         imply SPL_TIMER
192         imply SPL_REGMAP
193         imply SPL_SYSCON
194         # TPL
195         imply TPL_DM
196         imply TPL_OF_LIBFDT
197         imply TPL_DRIVERS_MISC_SUPPORT
198         imply TPL_GPIO_SUPPORT
199         imply TPL_LIBCOMMON_SUPPORT
200         imply TPL_LIBGENERIC_SUPPORT
201         imply TPL_SERIAL_SUPPORT
202         imply TPL_SPI_FLASH_SUPPORT
203         imply TPL_SPI_SUPPORT
204         imply TPL_OF_CONTROL
205         imply TPL_TIMER
206         imply TPL_REGMAP
207         imply TPL_SYSCON
208
209 config XTENSA
210         bool "Xtensa architecture"
211         select CREATE_ARCH_SYMLINK
212         select SUPPORT_OF_CONTROL
213
214 endchoice
215
216 config SYS_ARCH
217         string
218         help
219           This option should contain the architecture name to build the
220           appropriate arch/<CONFIG_SYS_ARCH> directory.
221           All the architectures should specify this option correctly.
222
223 config SYS_CPU
224         string
225         help
226           This option should contain the CPU name to build the correct
227           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
228
229           This is optional.  For those targets without the CPU directory,
230           leave this option empty.
231
232 config SYS_SOC
233         string
234         help
235           This option should contain the SoC name to build the directory
236           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
237
238           This is optional.  For those targets without the SoC directory,
239           leave this option empty.
240
241 config SYS_VENDOR
242         string
243         help
244           This option should contain the vendor name of the target board.
245           If it is set and
246           board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
247           directory is compiled.
248           If CONFIG_SYS_BOARD is also set, the sources under
249           board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
250
251           This is optional.  For those targets without the vendor directory,
252           leave this option empty.
253
254 config SYS_BOARD
255         string
256         help
257           This option should contain the name of the target board.
258           If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
259           or board/<CONFIG_SYS_BOARD> directory is compiled depending on
260           whether CONFIG_SYS_VENDOR is set or not.
261
262           This is optional.  For those targets without the board directory,
263           leave this option empty.
264
265 config SYS_CONFIG_NAME
266         string
267         help
268           This option should contain the base name of board header file.
269           The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
270           should be included from include/config.h.
271
272 config SYS_DISABLE_DCACHE_OPS
273         bool
274         help
275          This option disables dcache flush and dcache invalidation
276          operations. For example, on coherent systems where cache
277          operatios are not required, enable this option to avoid them.
278          Note that, its up to the individual architectures to implement
279          this functionality.
280
281 source "arch/arc/Kconfig"
282 source "arch/arm/Kconfig"
283 source "arch/m68k/Kconfig"
284 source "arch/microblaze/Kconfig"
285 source "arch/mips/Kconfig"
286 source "arch/nds32/Kconfig"
287 source "arch/nios2/Kconfig"
288 source "arch/powerpc/Kconfig"
289 source "arch/sandbox/Kconfig"
290 source "arch/sh/Kconfig"
291 source "arch/x86/Kconfig"
292 source "arch/xtensa/Kconfig"
293 source "arch/riscv/Kconfig"