Kconfig 9.9 KB
Newer Older
1 2 3
config CREATE_ARCH_SYMLINK
	bool

4 5 6
config HAVE_ARCH_IOREMAP
	bool

7 8 9
config NEEDS_MANUAL_RELOC
	bool

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
config SYS_CACHE_SHIFT_4
	bool

config SYS_CACHE_SHIFT_5
	bool

config SYS_CACHE_SHIFT_6
	bool

config SYS_CACHE_SHIFT_7
	bool

config SYS_CACHELINE_SIZE
	int
	default 128 if SYS_CACHE_SHIFT_7
	default 64 if SYS_CACHE_SHIFT_6
	default 32 if SYS_CACHE_SHIFT_5
	default 16 if SYS_CACHE_SHIFT_4
	# Fall-back for MIPS
	default 32 if MIPS

S
Simon Glass 已提交
31 32 33 34 35 36 37 38 39 40 41
config LINKER_LIST_ALIGN
	int
	default 32 if SANDBOX
	default 8 if ARM64 || X86
	default 4
	help
	  Force the each linker list to be aligned to this boundary. This
	  is required if ll_entry_get() is used, since otherwise the linker
	  may add padding into the table, thus breaking it.
	  See linker_lists.rst for full details.

42 43 44 45 46 47
choice
	prompt "Architecture select"
	default SANDBOX

config ARC
	bool "ARC architecture"
48
	select ARC_TIMER
49
	select CLK
50
	select DM
51 52
	select HAVE_PRIVATE_LIBGCC
	select SUPPORT_OF_CONTROL
53
	select SYS_CACHE_SHIFT_7
54
	select TIMER
55 56 57

config ARM
	bool "ARM architecture"
M
Marek Behún 已提交
58
	select ARCH_SUPPORTS_LTO
59
	select CREATE_ARCH_SYMLINK
60
	select HAVE_PRIVATE_LIBGCC if !ARM64
61
	select SUPPORT_OF_CONTROL
62 63 64

config M68K
	bool "M68000 architecture"
A
angelo@sysam.it 已提交
65
	select HAVE_PRIVATE_LIBGCC
66
	select NEEDS_MANUAL_RELOC
67 68
	select SYS_BOOT_GET_CMDLINE
	select SYS_BOOT_GET_KBD
69
	select SYS_CACHE_SHIFT_4
70
	select SUPPORT_OF_CONTROL
71 72 73

config MICROBLAZE
	bool "MicroBlaze architecture"
74
	select NEEDS_MANUAL_RELOC
75
	select SUPPORT_OF_CONTROL
S
Simon Glass 已提交
76
	imply CMD_IRQ
77 78 79

config MIPS
	bool "MIPS architecture"
80
	select HAVE_ARCH_IOREMAP
81
	select HAVE_PRIVATE_LIBGCC
82
	select SUPPORT_OF_CONTROL
83 84 85

config NDS32
	bool "NDS32 architecture"
R
rick 已提交
86
	select SUPPORT_OF_CONTROL
87 88 89

config NIOS2
	bool "Nios II architecture"
90
	select CPU
91 92 93
	select DM
	select OF_CONTROL
	select SUPPORT_OF_CONTROL
M
Michal Simek 已提交
94
	imply CMD_DM
95 96 97

config PPC
	bool "PowerPC architecture"
98
	select HAVE_PRIVATE_LIBGCC
99
	select SUPPORT_OF_CONTROL
100 101
	select SYS_BOOT_GET_CMDLINE
	select SYS_BOOT_GET_KBD
102

103
config RISCV
104
	bool "RISC-V architecture"
105
	select CREATE_ARCH_SYMLINK
106
	select SUPPORT_OF_CONTROL
107 108
	select OF_CONTROL
	select DM
109 110 111 112 113 114 115 116 117
	imply DM_SERIAL
	imply DM_ETH
	imply DM_MMC
	imply DM_SPI
	imply DM_SPI_FLASH
	imply BLK
	imply CLK
	imply MTD
	imply TIMER
118
	imply CMD_DM
L
Lukas Auer 已提交
119 120 121 122
	imply SPL_DM
	imply SPL_OF_CONTROL
	imply SPL_LIBCOMMON_SUPPORT
	imply SPL_LIBGENERIC_SUPPORT
123
	imply SPL_SERIAL
L
Lukas Auer 已提交
124
	imply SPL_TIMER
125

126 127
config SANDBOX
	bool "Sandbox"
M
Marek Behún 已提交
128
	select ARCH_SUPPORTS_LTO
129
	select BOARD_LATE_INIT
130
	select BZIP2
131
	select CMD_POWEROFF
M
Masahiro Yamada 已提交
132
	select DM
133 134
	select DM_GPIO
	select DM_I2C
135
	select DM_KEYBOARD
136
	select DM_MMC
M
Masahiro Yamada 已提交
137 138
	select DM_SERIAL
	select DM_SPI
139
	select DM_SPI_FLASH
140
	select GZIP_COMPRESSED
141
	select HAVE_BLOCK_DEVICE
142
	select LZO
143
	select OF_BOARD_SETUP
144
	select PCI_ENDPOINT
145 146
	select SPI
	select SUPPORT_OF_CONTROL
147
	select SYSRESET_CMD_POWEROFF
148
	select SYS_CACHE_SHIFT_4
149
	select IRQ
150
	select SUPPORT_EXTENSION_SCAN
B
Bin Meng 已提交
151
	imply BITREVERSE
S
Simon Glass 已提交
152
	select BLOBLIST
M
Marek Behún 已提交
153
	imply LTO
M
Michal Simek 已提交
154
	imply CMD_DM
155
	imply CMD_EXCEPTION
S
Simon Glass 已提交
156
	imply CMD_GETTIME
S
Simon Glass 已提交
157
	imply CMD_HASH
S
Simon Glass 已提交
158
	imply CMD_IO
159
	imply CMD_IOTRACE
160
	imply CMD_LZMADEC
161
	imply CMD_SATA
162
	imply CMD_SF
163
	imply CMD_SF_TEST
T
Tom Rini 已提交
164 165
	imply CRC32_VERIFY
	imply FAT_WRITE
166
	imply FIRMWARE
167
	imply HASH_VERIFY
T
Tom Rini 已提交
168
	imply LZMA
S
Simon Glass 已提交
169
	imply SCSI
170
	imply TEE
171 172 173
	imply AVB_VERIFY
	imply LIBAVB
	imply CMD_AVB
174 175
	imply SCP03
	imply CMD_SCP03
176
	imply UDP_FUNCTION_FASTBOOT
177 178 179 180 181
	imply VIRTIO_MMIO
	imply VIRTIO_PCI
	imply VIRTIO_SANDBOX
	imply VIRTIO_BLK
	imply VIRTIO_NET
182
	imply DM_SOUND
183
	imply PCI_SANDBOX_EP
184
	imply PCH
A
Alex Marginean 已提交
185 186
	imply PHYLIB
	imply DM_MDIO
187
	imply DM_MDIO_MUX
188 189 190
	imply ACPI_PMC
	imply ACPI_PMC_SANDBOX
	imply CMD_PMC
J
John Chau 已提交
191
	imply CMD_CLONE
192
	imply SILENT_CONSOLE
193
	imply BOOTARGS_SUBST
194 195
	imply PHY_FIXED
	imply DM_DSA
196
	imply CMD_EXTENSION
197 198 199

config SH
	bool "SuperH architecture"
200
	select HAVE_PRIVATE_LIBGCC
M
Marek Vasut 已提交
201
	select SUPPORT_OF_CONTROL
202 203 204

config X86
	bool "x86 architecture"
S
Simon Glass 已提交
205 206
	select SUPPORT_SPL
	select SUPPORT_TPL
207
	select CREATE_ARCH_SYMLINK
M
Masahiro Yamada 已提交
208
	select DM
B
Bin Meng 已提交
209
	select DM_PCI
210
	select HAVE_ARCH_IOMAP
211 212
	select HAVE_PRIVATE_LIBGCC
	select OF_CONTROL
B
Bin Meng 已提交
213
	select PCI
214
	select SUPPORT_OF_CONTROL
215
	select SYS_CACHE_SHIFT_6
216
	select TIMER
217
	select USE_PRIVATE_LIBGCC
218
	select X86_TSC_TIMER
219
	select IRQ
220
	imply HAS_ROM if X86_RESET_VECTOR
B
Bin Meng 已提交
221
	imply BLK
M
Michal Simek 已提交
222
	imply CMD_DM
223 224 225 226 227
	imply CMD_FPGA_LOADMK
	imply CMD_GETTIME
	imply CMD_IO
	imply CMD_IRQ
	imply CMD_PCI
228
	imply CMD_SF
229 230
	imply CMD_SF_TEST
	imply CMD_ZBOOT
B
Bin Meng 已提交
231 232 233
	imply DM_ETH
	imply DM_GPIO
	imply DM_KEYBOARD
S
Simon Glass 已提交
234
	imply DM_MMC
B
Bin Meng 已提交
235
	imply DM_RTC
B
Bin Meng 已提交
236
	imply DM_SCSI
237
	imply DM_SERIAL
B
Bin Meng 已提交
238 239 240 241
	imply DM_SPI
	imply DM_SPI_FLASH
	imply DM_USB
	imply DM_VIDEO
B
Bin Meng 已提交
242
	imply SYSRESET
243
	imply SPL_SYSRESET
B
Bin Meng 已提交
244
	imply SYSRESET_X86
245 246
	imply USB_ETHER_ASIX
	imply USB_ETHER_SMSC95XX
247
	imply USB_HOST_ETHER
248
	imply PCH
S
Simon Glass 已提交
249
	imply RTC_MC146818
250
	imply ACPIGEN if !QEMU
251 252
	imply SYSINFO if GENERATE_SMBIOS_TABLE
	imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE
253

S
Simon Glass 已提交
254 255 256
	# Thing to enable for when SPL/TPL are enabled: SPL
	imply SPL_DM
	imply SPL_OF_LIBFDT
257
	imply SPL_DRIVERS_MISC
S
Simon Glass 已提交
258
	imply SPL_GPIO
S
Simon Glass 已提交
259
	imply SPL_PINCTRL
S
Simon Glass 已提交
260 261
	imply SPL_LIBCOMMON_SUPPORT
	imply SPL_LIBGENERIC_SUPPORT
262
	imply SPL_SERIAL
S
Simon Glass 已提交
263
	imply SPL_SPI_FLASH_SUPPORT
S
Simon Glass 已提交
264
	imply SPL_SPI
S
Simon Glass 已提交
265 266 267 268 269 270
	imply SPL_OF_CONTROL
	imply SPL_TIMER
	imply SPL_REGMAP
	imply SPL_SYSCON
	# TPL
	imply TPL_DM
271
	imply TPL_DRIVERS_MISC
S
Simon Glass 已提交
272
	imply TPL_GPIO
S
Simon Glass 已提交
273
	imply TPL_PINCTRL
S
Simon Glass 已提交
274 275
	imply TPL_LIBCOMMON_SUPPORT
	imply TPL_LIBGENERIC_SUPPORT
276
	imply TPL_SERIAL
S
Simon Glass 已提交
277 278 279 280 281
	imply TPL_OF_CONTROL
	imply TPL_TIMER
	imply TPL_REGMAP
	imply TPL_SYSCON

282 283 284 285 286
config XTENSA
	bool "Xtensa architecture"
	select CREATE_ARCH_SYMLINK
	select SUPPORT_OF_CONTROL

287 288
endchoice

289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344
config SYS_ARCH
	string
	help
	  This option should contain the architecture name to build the
	  appropriate arch/<CONFIG_SYS_ARCH> directory.
	  All the architectures should specify this option correctly.

config SYS_CPU
	string
	help
	  This option should contain the CPU name to build the correct
	  arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory.

	  This is optional.  For those targets without the CPU directory,
	  leave this option empty.

config SYS_SOC
	string
	help
	  This option should contain the SoC name to build the directory
	  arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>.

	  This is optional.  For those targets without the SoC directory,
	  leave this option empty.

config SYS_VENDOR
	string
	help
	  This option should contain the vendor name of the target board.
	  If it is set and
	  board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common
	  directory is compiled.
	  If CONFIG_SYS_BOARD is also set, the sources under
	  board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled.

	  This is optional.  For those targets without the vendor directory,
	  leave this option empty.

config SYS_BOARD
	string
	help
	  This option should contain the name of the target board.
	  If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD>
	  or board/<CONFIG_SYS_BOARD> directory is compiled depending on
	  whether CONFIG_SYS_VENDOR is set or not.

	  This is optional.  For those targets without the board directory,
	  leave this option empty.

config SYS_CONFIG_NAME
	string
	help
	  This option should contain the base name of board header file.
	  The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
	  should be included from include/config.h.

345 346 347 348 349 350 351 352 353
config SYS_DISABLE_DCACHE_OPS
	bool
	help
	 This option disables dcache flush and dcache invalidation
	 operations. For example, on coherent systems where cache
	 operatios are not required, enable this option to avoid them.
	 Note that, its up to the individual architectures to implement
	 this functionality.

354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410
config SKIP_LOWLEVEL_INIT
	bool "Skip the calls to certain low level initialization functions"
	depends on ARM || NDS32 || MIPS || RISCV
	help
	  If enabled, then certain low level initializations (like setting up
	  the memory controller) are omitted and/or U-Boot does not relocate
	  itself into RAM.
	  Normally this variable MUST NOT be defined. The only exception is
	  when U-Boot is loaded (to RAM) by some other boot loader or by a
	  debugger which performs these initializations itself.

config SPL_SKIP_LOWLEVEL_INIT
	bool "Skip the calls to certain low level initialization functions"
	depends on SPL && (ARM || NDS32 || MIPS || RISCV)
	help
	  If enabled, then certain low level initializations (like setting up
	  the memory controller) are omitted and/or U-Boot does not relocate
	  itself into RAM.
	  Normally this variable MUST NOT be defined. The only exception is
	  when U-Boot is loaded (to RAM) by some other boot loader or by a
	  debugger which performs these initializations itself.

config TPL_SKIP_LOWLEVEL_INIT
	bool "Skip the calls to certain low level initialization functions"
	depends on SPL && ARM
	help
	  If enabled, then certain low level initializations (like setting up
	  the memory controller) are omitted and/or U-Boot does not relocate
	  itself into RAM.
	  Normally this variable MUST NOT be defined. The only exception is
	  when U-Boot is loaded (to RAM) by some other boot loader or by a
	  debugger which performs these initializations itself.

config SKIP_LOWLEVEL_INIT_ONLY
	bool "Skip the call to lowlevel_init during early boot ONLY"
	depends on ARM
	help
	  This allows just the call to lowlevel_init() to be skipped. The
	  normal CP15 init (such as enabling the instruction cache) is still
	  performed.

config SPL_SKIP_LOWLEVEL_INIT_ONLY
	bool "Skip the call to lowlevel_init during early boot ONLY"
	depends on SPL && ARM
	help
	  This allows just the call to lowlevel_init() to be skipped. The
	  normal CP15 init (such as enabling the instruction cache) is still
	  performed.

config TPL_SKIP_LOWLEVEL_INIT_ONLY
	bool "Skip the call to lowlevel_init during early boot ONLY"
	depends on TPL && ARM
	help
	  This allows just the call to lowlevel_init() to be skipped. The
	  normal CP15 init (such as enabling the instruction cache) is still
	  performed.

411 412 413 414 415 416 417 418 419 420 421
source "arch/arc/Kconfig"
source "arch/arm/Kconfig"
source "arch/m68k/Kconfig"
source "arch/microblaze/Kconfig"
source "arch/mips/Kconfig"
source "arch/nds32/Kconfig"
source "arch/nios2/Kconfig"
source "arch/powerpc/Kconfig"
source "arch/sandbox/Kconfig"
source "arch/sh/Kconfig"
source "arch/x86/Kconfig"
422
source "arch/xtensa/Kconfig"
423
source "arch/riscv/Kconfig"