1config CREATE_ARCH_SYMLINK
2 bool
3
4config HAVE_ARCH_IOREMAP
5 bool
6
7config NEEDS_MANUAL_RELOC
8 bool
9
10config LINKER_LIST_ALIGN
11 int
12 default 32 if SANDBOX
13 default 8 if ARM64 || X86
14 default 4
15 help
16 Force the each linker list to be aligned to this boundary. This
17 is required if ll_entry_get() is used, since otherwise the linker
18 may add padding into the table, thus breaking it.
19 See linker_lists.rst for full details.
20
21choice
22 prompt "Architecture select"
23 default SANDBOX
24
25config ARC
26 bool "ARC architecture"
27 select ARC_TIMER
28 select CLK
29 select DM
30 select HAVE_PRIVATE_LIBGCC
31 select SUPPORT_OF_CONTROL
32 select TIMER
33
34config ARM
35 bool "ARM architecture"
36 select ARCH_SUPPORTS_LTO
37 select CREATE_ARCH_SYMLINK
38 select HAVE_PRIVATE_LIBGCC if !ARM64
39 select SUPPORT_OF_CONTROL
40
41config M68K
42 bool "M68000 architecture"
43 select HAVE_PRIVATE_LIBGCC
44 select NEEDS_MANUAL_RELOC
45 select SYS_BOOT_GET_CMDLINE
46 select SYS_BOOT_GET_KBD
47 select SUPPORT_OF_CONTROL
48
49config MICROBLAZE
50 bool "MicroBlaze architecture"
51 select NEEDS_MANUAL_RELOC
52 select SUPPORT_OF_CONTROL
53 imply CMD_IRQ
54
55config MIPS
56 bool "MIPS architecture"
57 select HAVE_ARCH_IOREMAP
58 select HAVE_PRIVATE_LIBGCC
59 select SUPPORT_OF_CONTROL
60
61config NDS32
62 bool "NDS32 architecture"
63 select SUPPORT_OF_CONTROL
64
65config NIOS2
66 bool "Nios II architecture"
67 select CPU
68 select DM
69 select OF_CONTROL
70 select SUPPORT_OF_CONTROL
71 imply CMD_DM
72
73config PPC
74 bool "PowerPC architecture"
75 select HAVE_PRIVATE_LIBGCC
76 select SUPPORT_OF_CONTROL
77 select SYS_BOOT_GET_CMDLINE
78 select SYS_BOOT_GET_KBD
79
80config RISCV
81 bool "RISC-V architecture"
82 select CREATE_ARCH_SYMLINK
83 select SUPPORT_OF_CONTROL
84 select OF_CONTROL
85 select DM
86 imply DM_SERIAL
87 imply DM_ETH
88 imply DM_MMC
89 imply DM_SPI
90 imply DM_SPI_FLASH
91 imply BLK
92 imply CLK
93 imply MTD
94 imply TIMER
95 imply CMD_DM
96 imply SPL_DM
97 imply SPL_OF_CONTROL
98 imply SPL_LIBCOMMON_SUPPORT
99 imply SPL_LIBGENERIC_SUPPORT
100 imply SPL_SERIAL_SUPPORT
101 imply SPL_TIMER
102
103config SANDBOX
104 bool "Sandbox"
105 select ARCH_SUPPORTS_LTO
106 select BOARD_LATE_INIT
107 select BZIP2
108 select CMD_POWEROFF
109 select DM
110 select DM_GPIO
111 select DM_I2C
112 select DM_KEYBOARD
113 select DM_MMC
114 select DM_SERIAL
115 select DM_SPI
116 select DM_SPI_FLASH
117 select GZIP_COMPRESSED
118 select HAVE_BLOCK_DEVICE
119 select LZO
120 select OF_BOARD_SETUP
121 select PCI_ENDPOINT
122 select SPI
123 select SUPPORT_OF_CONTROL
124 select SYSRESET_CMD_POWEROFF
125 select IRQ
126 select SUPPORT_EXTENSION_SCAN
127 imply BITREVERSE
128 select BLOBLIST
129 imply LTO
130 imply CMD_DM
131 imply CMD_EXCEPTION
132 imply CMD_GETTIME
133 imply CMD_HASH
134 imply CMD_IO
135 imply CMD_IOTRACE
136 imply CMD_LZMADEC
137 imply CMD_SATA
138 imply CMD_SF
139 imply CMD_SF_TEST
140 imply CRC32_VERIFY
141 imply FAT_WRITE
142 imply FIRMWARE
143 imply HASH_VERIFY
144 imply LZMA
145 imply SCSI
146 imply TEE
147 imply AVB_VERIFY
148 imply LIBAVB
149 imply CMD_AVB
150 imply SCP03
151 imply CMD_SCP03
152 imply UDP_FUNCTION_FASTBOOT
153 imply VIRTIO_MMIO
154 imply VIRTIO_PCI
155 imply VIRTIO_SANDBOX
156 imply VIRTIO_BLK
157 imply VIRTIO_NET
158 imply DM_SOUND
159 imply PCI_SANDBOX_EP
160 imply PCH
161 imply PHYLIB
162 imply DM_MDIO
163 imply DM_MDIO_MUX
164 imply ACPI_PMC
165 imply ACPI_PMC_SANDBOX
166 imply CMD_PMC
167 imply CMD_CLONE
168 imply SILENT_CONSOLE
169 imply BOOTARGS_SUBST
170 imply PHY_FIXED
171 imply DM_DSA
172 imply CMD_EXTENSION
173
174config SH
175 bool "SuperH architecture"
176 select HAVE_PRIVATE_LIBGCC
177 select SUPPORT_OF_CONTROL
178
179config X86
180 bool "x86 architecture"
181 select SUPPORT_SPL
182 select SUPPORT_TPL
183 select CREATE_ARCH_SYMLINK
184 select DM
185 select HAVE_ARCH_IOMAP
186 select HAVE_PRIVATE_LIBGCC
187 select OF_CONTROL
188 select PCI
189 select SUPPORT_OF_CONTROL
190 select TIMER
191 select USE_PRIVATE_LIBGCC
192 select X86_TSC_TIMER
193 select IRQ
194 imply HAS_ROM if X86_RESET_VECTOR
195 imply BLK
196 imply CMD_DM
197 imply CMD_FPGA_LOADMK
198 imply CMD_GETTIME
199 imply CMD_IO
200 imply CMD_IRQ
201 imply CMD_PCI
202 imply CMD_SF
203 imply CMD_SF_TEST
204 imply CMD_ZBOOT
205 imply DM_ETH
206 imply DM_GPIO
207 imply DM_KEYBOARD
208 imply DM_MMC
209 imply DM_RTC
210 imply DM_SCSI
211 imply DM_SERIAL
212 imply DM_SPI
213 imply DM_SPI_FLASH
214 imply DM_USB
215 imply DM_VIDEO
216 imply SYSRESET
217 imply SPL_SYSRESET
218 imply SYSRESET_X86
219 imply USB_ETHER_ASIX
220 imply USB_ETHER_SMSC95XX
221 imply USB_HOST_ETHER
222 imply PCH
223 imply RTC_MC146818
224 imply ACPIGEN if !QEMU
225 imply SYSINFO if GENERATE_SMBIOS_TABLE
226 imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE
227
228
229 imply SPL_DM
230 imply SPL_OF_LIBFDT
231 imply SPL_DRIVERS_MISC
232 imply SPL_GPIO
233 imply SPL_PINCTRL
234 imply SPL_LIBCOMMON_SUPPORT
235 imply SPL_LIBGENERIC_SUPPORT
236 imply SPL_SERIAL_SUPPORT
237 imply SPL_SPI_FLASH_SUPPORT
238 imply SPL_SPI_SUPPORT
239 imply SPL_OF_CONTROL
240 imply SPL_TIMER
241 imply SPL_REGMAP
242 imply SPL_SYSCON
243
244 imply TPL_DM
245 imply TPL_DRIVERS_MISC
246 imply TPL_GPIO
247 imply TPL_PINCTRL
248 imply TPL_LIBCOMMON_SUPPORT
249 imply TPL_LIBGENERIC_SUPPORT
250 imply TPL_SERIAL_SUPPORT
251 imply TPL_OF_CONTROL
252 imply TPL_TIMER
253 imply TPL_REGMAP
254 imply TPL_SYSCON
255
256config XTENSA
257 bool "Xtensa architecture"
258 select CREATE_ARCH_SYMLINK
259 select SUPPORT_OF_CONTROL
260
261endchoice
262
263config SYS_ARCH
264 string
265 help
266 This option should contain the architecture name to build the
267 appropriate arch/<CONFIG_SYS_ARCH> directory.
268 All the architectures should specify this option correctly.
269
270config SYS_CPU
271 string
272 help
273 This option should contain the CPU name to build the correct
274 arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.
275
276 This is optional. For those targets without the CPU directory,
277 leave this option empty.
278
279config SYS_SOC
280 string
281 help
282 This option should contain the SoC name to build the directory
283 arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.
284
285 This is optional. For those targets without the SoC directory,
286 leave this option empty.
287
288config SYS_VENDOR
289 string
290 help
291 This option should contain the vendor name of the target board.
292 If it is set and
293 board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
294 directory is compiled.
295 If CONFIG_SYS_BOARD is also set, the sources under
296 board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.
297
298 This is optional. For those targets without the vendor directory,
299 leave this option empty.
300
301config SYS_BOARD
302 string
303 help
304 This option should contain the name of the target board.
305 If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
306 or board/<CONFIG_SYS_BOARD> directory is compiled depending on
307 whether CONFIG_SYS_VENDOR is set or not.
308
309 This is optional. For those targets without the board directory,
310 leave this option empty.
311
312config SYS_CONFIG_NAME
313 string
314 help
315 This option should contain the base name of board header file.
316 The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
317 should be included from include/config.h.
318
319config SYS_DISABLE_DCACHE_OPS
320 bool
321 help
322 This option disables dcache flush and dcache invalidation
323 operations. For example, on coherent systems where cache
324 operatios are not required, enable this option to avoid them.
325 Note that, its up to the individual architectures to implement
326 this functionality.
327
328source "arch/arc/Kconfig"
329source "arch/arm/Kconfig"
330source "arch/m68k/Kconfig"
331source "arch/microblaze/Kconfig"
332source "arch/mips/Kconfig"
333source "arch/nds32/Kconfig"
334source "arch/nios2/Kconfig"
335source "arch/powerpc/Kconfig"
336source "arch/sandbox/Kconfig"
337source "arch/sh/Kconfig"
338source "arch/x86/Kconfig"
339source "arch/xtensa/Kconfig"
340source "arch/riscv/Kconfig"
341