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