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