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