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