powerpc: dts: p2020: Define DMA nodes
[platform/kernel/u-boot.git] / arch / Kconfig
1 config ARCH_MAP_SYSMEM
2         depends on SANDBOX
3         def_bool y
4
5 config CREATE_ARCH_SYMLINK
6         bool
7
8 config HAVE_ARCH_IOREMAP
9         bool
10
11 config NEEDS_MANUAL_RELOC
12         bool
13
14 config SYS_CACHE_SHIFT_4
15         bool
16
17 config SYS_CACHE_SHIFT_5
18         bool
19
20 config SYS_CACHE_SHIFT_6
21         bool
22
23 config SYS_CACHE_SHIFT_7
24         bool
25
26 config SYS_CACHELINE_SIZE
27         int
28         default 128 if SYS_CACHE_SHIFT_7
29         default 64 if SYS_CACHE_SHIFT_6
30         default 32 if SYS_CACHE_SHIFT_5
31         default 16 if SYS_CACHE_SHIFT_4
32         # Fall-back for MIPS
33         default 32 if MIPS
34
35 config LINKER_LIST_ALIGN
36         int
37         default 32 if SANDBOX
38         default 8 if ARM64 || X86
39         default 4
40         help
41           Force the each linker list to be aligned to this boundary. This
42           is required if ll_entry_get() is used, since otherwise the linker
43           may add padding into the table, thus breaking it.
44           See linker_lists.rst for full details.
45
46 choice
47         prompt "Architecture select"
48         default SANDBOX
49
50 config ARC
51         bool "ARC architecture"
52         select ARC_TIMER
53         select CLK
54         select DM
55         select HAVE_PRIVATE_LIBGCC
56         select SUPPORT_OF_CONTROL
57         select SYS_CACHE_SHIFT_7
58         select TIMER
59
60 config ARM
61         bool "ARM architecture"
62         select ARCH_SUPPORTS_LTO
63         select CREATE_ARCH_SYMLINK
64         select HAVE_PRIVATE_LIBGCC if !ARM64
65         select SUPPORT_ACPI
66         select SUPPORT_OF_CONTROL
67
68 config M68K
69         bool "M68000 architecture"
70         select HAVE_PRIVATE_LIBGCC
71         select NEEDS_MANUAL_RELOC
72         select SYS_BOOT_GET_CMDLINE
73         select SYS_BOOT_GET_KBD
74         select SYS_CACHE_SHIFT_4
75         select SUPPORT_OF_CONTROL
76
77 config MICROBLAZE
78         bool "MicroBlaze architecture"
79         select NEEDS_MANUAL_RELOC
80         select SUPPORT_OF_CONTROL
81         imply CMD_IRQ
82
83 config MIPS
84         bool "MIPS architecture"
85         select HAVE_ARCH_IOREMAP
86         select HAVE_PRIVATE_LIBGCC
87         select SUPPORT_OF_CONTROL
88         select SPL_SEPARATE_BSS if SPL
89
90 config NIOS2
91         bool "Nios II architecture"
92         select CPU
93         select DM
94         imply DM_EVENT
95         select OF_CONTROL
96         select SUPPORT_OF_CONTROL
97         imply CMD_DM
98
99 config PPC
100         bool "PowerPC architecture"
101         select HAVE_PRIVATE_LIBGCC
102         select SUPPORT_OF_CONTROL
103         select SYS_BOOT_GET_CMDLINE
104         select SYS_BOOT_GET_KBD
105
106 config RISCV
107         bool "RISC-V architecture"
108         select CREATE_ARCH_SYMLINK
109         select SUPPORT_OF_CONTROL
110         select OF_CONTROL
111         select DM
112         select SPL_SEPARATE_BSS if SPL
113         imply DM_SERIAL
114         imply DM_ETH
115         imply DM_EVENT
116         imply DM_MMC
117         imply DM_SPI
118         imply DM_SPI_FLASH
119         imply BLK
120         imply CLK
121         imply MTD
122         imply TIMER
123         imply CMD_DM
124         imply SPL_DM
125         imply SPL_OF_CONTROL
126         imply SPL_LIBCOMMON_SUPPORT
127         imply SPL_LIBGENERIC_SUPPORT
128         imply SPL_SERIAL
129         imply SPL_TIMER
130
131 config SANDBOX
132         bool "Sandbox"
133         select ARCH_SUPPORTS_LTO
134         select BOARD_LATE_INIT
135         select BZIP2
136         select CMD_POWEROFF
137         select DM
138         select DM_GPIO
139         select DM_I2C
140         select DM_KEYBOARD
141         select DM_MMC
142         select DM_SERIAL
143         select DM_SPI
144         select DM_SPI_FLASH
145         select GZIP_COMPRESSED
146         select HAVE_BLOCK_DEVICE
147         select LZO
148         select OF_BOARD_SETUP
149         select PCI_ENDPOINT
150         select SPI
151         select SUPPORT_OF_CONTROL
152         select SYSRESET_CMD_POWEROFF
153         select SYS_CACHE_SHIFT_4
154         select IRQ
155         select SUPPORT_EXTENSION_SCAN
156         select SUPPORT_ACPI
157         imply BITREVERSE
158         select BLOBLIST
159         imply LTO
160         imply CMD_DM
161         imply CMD_EXCEPTION
162         imply CMD_GETTIME
163         imply CMD_HASH
164         imply CMD_IO
165         imply CMD_IOTRACE
166         imply CMD_LZMADEC
167         imply CMD_SATA
168         imply CMD_SF
169         imply CMD_SF_TEST
170         imply CRC32_VERIFY
171         imply FAT_WRITE
172         imply FIRMWARE
173         imply HASH_VERIFY
174         imply LZMA
175         imply TEE
176         imply AVB_VERIFY
177         imply LIBAVB
178         imply CMD_AVB
179         imply PARTITION_TYPE_GUID
180         imply SCP03
181         imply CMD_SCP03
182         imply UDP_FUNCTION_FASTBOOT
183         imply VIRTIO_MMIO
184         imply VIRTIO_PCI
185         imply VIRTIO_SANDBOX
186         imply VIRTIO_BLK
187         imply VIRTIO_NET
188         imply DM_SOUND
189         imply PCI_SANDBOX_EP
190         imply PCH
191         imply PHYLIB
192         imply DM_MDIO
193         imply DM_MDIO_MUX
194         imply ACPI_PMC
195         imply ACPI_PMC_SANDBOX
196         imply CMD_PMC
197         imply CMD_CLONE
198         imply SILENT_CONSOLE
199         imply BOOTARGS_SUBST
200         imply PHY_FIXED
201         imply DM_DSA
202         imply CMD_EXTENSION
203         imply KEYBOARD
204         imply PHYSMEM
205         imply GENERATE_ACPI_TABLE
206         imply BINMAN
207
208 config SH
209         bool "SuperH architecture"
210         select HAVE_PRIVATE_LIBGCC
211         select SUPPORT_OF_CONTROL
212
213 config X86
214         bool "x86 architecture"
215         select SUPPORT_SPL
216         select SUPPORT_TPL
217         select CREATE_ARCH_SYMLINK
218         select DM
219         select HAVE_ARCH_IOMAP
220         select HAVE_PRIVATE_LIBGCC
221         select OF_CONTROL
222         select PCI
223         select SUPPORT_ACPI
224         select SUPPORT_OF_CONTROL
225         select SYS_CACHE_SHIFT_6
226         select TIMER
227         select USE_PRIVATE_LIBGCC
228         select X86_TSC_TIMER
229         select IRQ
230         imply HAS_ROM if X86_RESET_VECTOR
231         imply BLK
232         imply CMD_DM
233         imply CMD_FPGA_LOADMK
234         imply CMD_GETTIME
235         imply CMD_IO
236         imply CMD_IRQ
237         imply CMD_PCI
238         imply CMD_SF
239         imply CMD_SF_TEST
240         imply CMD_ZBOOT
241         imply DM_ETH
242         imply DM_EVENT
243         imply DM_GPIO
244         imply DM_KEYBOARD
245         imply DM_MMC
246         imply DM_RTC
247         imply DM_SCSI
248         imply DM_SERIAL
249         imply DM_SPI
250         imply DM_SPI_FLASH
251         imply DM_USB
252         imply DM_VIDEO
253         imply SYSRESET
254         imply SPL_SYSRESET
255         imply SYSRESET_X86
256         imply USB_ETHER_ASIX
257         imply USB_ETHER_SMSC95XX
258         imply USB_HOST_ETHER
259         imply PCH
260         imply PHYSMEM
261         imply RTC_MC146818
262         imply ACPIGEN if !QEMU && !EFI_APP
263         imply SYSINFO if GENERATE_SMBIOS_TABLE
264         imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE
265         imply TIMESTAMP
266
267         # Thing to enable for when SPL/TPL are enabled: SPL
268         imply SPL_DM
269         imply SPL_OF_LIBFDT
270         imply SPL_DRIVERS_MISC
271         imply SPL_GPIO
272         imply SPL_PINCTRL
273         imply SPL_LIBCOMMON_SUPPORT
274         imply SPL_LIBGENERIC_SUPPORT
275         imply SPL_SERIAL
276         imply SPL_SPI_FLASH_SUPPORT
277         imply SPL_SPI
278         imply SPL_OF_CONTROL
279         imply SPL_TIMER
280         imply SPL_REGMAP
281         imply SPL_SYSCON
282         # TPL
283         imply TPL_DM
284         imply TPL_DRIVERS_MISC
285         imply TPL_GPIO
286         imply TPL_PINCTRL
287         imply TPL_LIBCOMMON_SUPPORT
288         imply TPL_LIBGENERIC_SUPPORT
289         imply TPL_SERIAL
290         imply TPL_OF_CONTROL
291         imply TPL_TIMER
292         imply TPL_REGMAP
293         imply TPL_SYSCON
294
295 config XTENSA
296         bool "Xtensa architecture"
297         select CREATE_ARCH_SYMLINK
298         select SUPPORT_OF_CONTROL
299
300 endchoice
301
302 config SYS_ARCH
303         string
304         help
305           This option should contain the architecture name to build the
306           appropriate arch/<CONFIG_SYS_ARCH> directory.
307           All the architectures should specify this option correctly.
308
309 config SYS_CPU
310         string
311         help
312           This option should contain the CPU name to build the correct
313           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
314
315           This is optional.  For those targets without the CPU directory,
316           leave this option empty.
317
318 config SYS_SOC
319         string
320         help
321           This option should contain the SoC name to build the directory
322           arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
323
324           This is optional.  For those targets without the SoC directory,
325           leave this option empty.
326
327 config SYS_VENDOR
328         string
329         help
330           This option should contain the vendor name of the target board.
331           If it is set and
332           board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
333           directory is compiled.
334           If CONFIG_SYS_BOARD is also set, the sources under
335           board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
336
337           This is optional.  For those targets without the vendor directory,
338           leave this option empty.
339
340 config SYS_BOARD
341         string
342         help
343           This option should contain the name of the target board.
344           If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
345           or board/<CONFIG_SYS_BOARD> directory is compiled depending on
346           whether CONFIG_SYS_VENDOR is set or not.
347
348           This is optional.  For those targets without the board directory,
349           leave this option empty.
350
351 config SYS_CONFIG_NAME
352         string
353         help
354           This option should contain the base name of board header file.
355           The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
356           should be included from include/config.h.
357
358 config SYS_DISABLE_DCACHE_OPS
359         bool
360         help
361          This option disables dcache flush and dcache invalidation
362          operations. For example, on coherent systems where cache
363          operatios are not required, enable this option to avoid them.
364          Note that, its up to the individual architectures to implement
365          this functionality.
366
367 config SYS_IMMR
368         hex "Address for the Internal Memory-Mapped Registers (IMMR) window"
369         depends on PPC || FSL_LSCH2 || FSL_LSCH3 || ARCH_LS1021A
370         default 0xFF000000 if MPC8xx
371         default 0xF0000000 if ARCH_MPC8313
372         default 0xE0000000 if MPC83xx && !ARCH_MPC8313
373         default 0x01000000 if ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3
374         default SYS_CCSRBAR_DEFAULT
375         help
376           Address for the Internal Memory-Mapped Registers (IMMR) window used
377           to configure the features of many Freescale / NXP SoCs.
378
379 config SKIP_LOWLEVEL_INIT
380         bool "Skip the calls to certain low level initialization functions"
381         depends on ARM || MIPS || RISCV
382         help
383           If enabled, then certain low level initializations (like setting up
384           the memory controller) are omitted and/or U-Boot does not relocate
385           itself into RAM.
386           Normally this variable MUST NOT be defined. The only exception is
387           when U-Boot is loaded (to RAM) by some other boot loader or by a
388           debugger which performs these initializations itself.
389
390 config SPL_SKIP_LOWLEVEL_INIT
391         bool "Skip the calls to certain low level initialization functions"
392         depends on SPL && (ARM || MIPS || RISCV)
393         help
394           If enabled, then certain low level initializations (like setting up
395           the memory controller) are omitted and/or U-Boot does not relocate
396           itself into RAM.
397           Normally this variable MUST NOT be defined. The only exception is
398           when U-Boot is loaded (to RAM) by some other boot loader or by a
399           debugger which performs these initializations itself.
400
401 config TPL_SKIP_LOWLEVEL_INIT
402         bool "Skip the calls to certain low level initialization functions"
403         depends on SPL && ARM
404         help
405           If enabled, then certain low level initializations (like setting up
406           the memory controller) are omitted and/or U-Boot does not relocate
407           itself into RAM.
408           Normally this variable MUST NOT be defined. The only exception is
409           when U-Boot is loaded (to RAM) by some other boot loader or by a
410           debugger which performs these initializations itself.
411
412 config SKIP_LOWLEVEL_INIT_ONLY
413         bool "Skip the call to lowlevel_init during early boot ONLY"
414         depends on ARM
415         help
416           This allows just the call to lowlevel_init() to be skipped. The
417           normal CP15 init (such as enabling the instruction cache) is still
418           performed.
419
420 config SPL_SKIP_LOWLEVEL_INIT_ONLY
421         bool "Skip the call to lowlevel_init during early boot ONLY"
422         depends on SPL && ARM
423         help
424           This allows just the call to lowlevel_init() to be skipped. The
425           normal CP15 init (such as enabling the instruction cache) is still
426           performed.
427
428 config TPL_SKIP_LOWLEVEL_INIT_ONLY
429         bool "Skip the call to lowlevel_init during early boot ONLY"
430         depends on TPL && ARM
431         help
432           This allows just the call to lowlevel_init() to be skipped. The
433           normal CP15 init (such as enabling the instruction cache) is still
434           performed.
435
436 source "arch/arc/Kconfig"
437 source "arch/arm/Kconfig"
438 source "arch/m68k/Kconfig"
439 source "arch/microblaze/Kconfig"
440 source "arch/mips/Kconfig"
441 source "arch/nios2/Kconfig"
442 source "arch/powerpc/Kconfig"
443 source "arch/sandbox/Kconfig"
444 source "arch/sh/Kconfig"
445 source "arch/x86/Kconfig"
446 source "arch/xtensa/Kconfig"
447 source "arch/riscv/Kconfig"
448
449 source "board/keymile/Kconfig"