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