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