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