| config ARCH_MAP_SYSMEM | |
| depends on SANDBOX | |
| def_bool y | |
| config CREATE_ARCH_SYMLINK | |
| bool | |
| config HAVE_ARCH_IOREMAP | |
| bool | |
| config SUPPORT_BIG_ENDIAN | |
| bool | |
| config SUPPORT_LITTLE_ENDIAN | |
| bool | |
| default y if !SUPPORT_BIG_ENDIAN | |
| 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 32BIT | |
| bool | |
| config 64BIT | |
| 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 | |
| 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. | |
| choice | |
| prompt "Architecture select" | |
| default SANDBOX | |
| config ARC | |
| bool "ARC architecture" | |
| select ARC_TIMER | |
| select CLK | |
| select DM | |
| select HAVE_PRIVATE_LIBGCC | |
| select SUPPORT_OF_CONTROL | |
| select SYS_CACHE_SHIFT_7 | |
| select TIMER | |
| select SUPPORT_BIG_ENDIAN | |
| select SUPPORT_LITTLE_ENDIAN | |
| select SYS_BIG_ENDIAN if CPU_BIG_ENDIAN | |
| select SYS_LITTLE_ENDIAN if !CPU_BIG_ENDIAN | |
| config ARM | |
| bool "ARM architecture" | |
| select ARCH_SUPPORTS_LTO | |
| select CREATE_ARCH_SYMLINK | |
| select HAVE_PRIVATE_LIBGCC if !ARM64 | |
| select SUPPORT_ACPI | |
| select SUPPORT_LITTLE_ENDIAN | |
| select SUPPORT_OF_CONTROL | |
| config M68K | |
| bool "M68000 architecture" | |
| select HAVE_PRIVATE_LIBGCC | |
| select USE_PRIVATE_LIBGCC | |
| select SYS_BOOT_GET_CMDLINE | |
| select SYS_BOOT_GET_KBD | |
| select SYS_CACHE_SHIFT_4 | |
| select SUPPORT_BIG_ENDIAN | |
| select SUPPORT_OF_CONTROL | |
| config MICROBLAZE | |
| bool "MicroBlaze architecture" | |
| select SUPPORT_BIG_ENDIAN | |
| select SUPPORT_LITTLE_ENDIAN | |
| select SUPPORT_OF_CONTROL | |
| imply CMD_TIMER | |
| imply SPL_REGMAP if SPL | |
| imply SPL_TIMER if SPL | |
| imply TIMER | |
| imply XILINX_TIMER | |
| config MIPS | |
| bool "MIPS architecture" | |
| select HAVE_ARCH_IOREMAP | |
| select HAVE_PRIVATE_LIBGCC | |
| select SUPPORT_OF_CONTROL | |
| select SPL_SEPARATE_BSS if SPL | |
| config NIOS2 | |
| bool "Nios II architecture" | |
| select CPU | |
| select DM | |
| select DM_EVENT | |
| select OF_CONTROL | |
| select SUPPORT_LITTLE_ENDIAN | |
| select SUPPORT_OF_CONTROL | |
| imply CMD_DM | |
| config PPC | |
| bool "PowerPC architecture" | |
| select HAVE_PRIVATE_LIBGCC | |
| select SUPPORT_BIG_ENDIAN | |
| select SUPPORT_OF_CONTROL | |
| select SYS_BOOT_GET_CMDLINE | |
| select SYS_BOOT_GET_KBD | |
| config RISCV | |
| bool "RISC-V architecture" | |
| select CREATE_ARCH_SYMLINK | |
| select SUPPORT_ACPI | |
| select SUPPORT_LITTLE_ENDIAN | |
| select SUPPORT_OF_CONTROL | |
| select OF_CONTROL | |
| select DM | |
| select DM_EVENT | |
| imply SPL_SEPARATE_BSS if SPL | |
| imply DM_SERIAL | |
| imply DM_MMC | |
| imply DM_SPI | |
| imply DM_SPI_FLASH | |
| imply BLK | |
| imply CLK | |
| imply MTD | |
| imply TIMER | |
| imply CMD_DM | |
| imply SPL_DM | |
| imply SPL_OF_CONTROL | |
| imply SPL_LIBCOMMON_SUPPORT | |
| imply SPL_LIBGENERIC_SUPPORT | |
| imply SPL_SERIAL | |
| imply SPL_TIMER | |
| config SANDBOX | |
| bool "Sandbox" | |
| select ARCH_SUPPORTS_LTO | |
| select BOARD_LATE_INIT | |
| select BZIP2 | |
| select CMD_POWEROFF if CMDLINE | |
| select DM | |
| select DM_EVENT | |
| select DM_FUZZING_ENGINE | |
| select DM_GPIO | |
| select DM_I2C | |
| select DM_KEYBOARD | |
| select DM_MMC | |
| select DM_SERIAL | |
| select DM_SPI | |
| select DM_SPI_FLASH | |
| select GZIP_COMPRESSED | |
| select IO_TRACE | |
| select LZO | |
| select MTD | |
| select OF_BOARD_SETUP | |
| select PCI_ENDPOINT | |
| select SPI | |
| select SUPPORT_OF_CONTROL | |
| select SUPPORT_BIG_ENDIAN | |
| select SUPPORT_LITTLE_ENDIAN | |
| select SYSRESET_CMD_POWEROFF if CMD_POWEROFF | |
| select SYS_CACHE_SHIFT_4 | |
| select IRQ | |
| select SUPPORT_EXTENSION_SCAN if CMDLINE | |
| select SUPPORT_ACPI | |
| imply BITREVERSE | |
| select BLOBLIST | |
| imply LTO | |
| imply CMD_DM | |
| imply CMD_EXCEPTION | |
| imply CMD_GETTIME | |
| imply CMD_HASH | |
| imply CMD_IO | |
| imply CMD_IOTRACE | |
| imply CMD_LZMADEC | |
| imply CMD_SF | |
| imply CMD_SF_TEST | |
| imply CRC32_VERIFY | |
| imply FAT_WRITE | |
| imply FIRMWARE | |
| imply FUZZING_ENGINE_SANDBOX | |
| imply HASH_VERIFY | |
| imply LZMA | |
| imply TEE | |
| imply AVB_VERIFY | |
| imply LIBAVB | |
| imply CMD_AVB | |
| imply PARTITION_TYPE_GUID | |
| imply SCP03 | |
| imply CMD_SCP03 | |
| imply UDP_FUNCTION_FASTBOOT | |
| imply VIRTIO_MMIO | |
| imply VIRTIO_PCI | |
| imply VIRTIO_SANDBOX | |
| imply VIRTIO_BLK | |
| imply VIRTIO_NET | |
| imply DM_SOUND | |
| imply PCI_SANDBOX_EP | |
| imply PCH | |
| imply PHYLIB | |
| imply DM_MDIO | |
| imply DM_MDIO_MUX | |
| imply ACPI | |
| imply ACPI_PMC | |
| imply ACPI_PMC_SANDBOX | |
| imply CMD_PMC | |
| imply CMD_CLONE | |
| imply SILENT_CONSOLE | |
| imply BOOTARGS_SUBST | |
| imply PHY_FIXED | |
| imply DM_DSA | |
| imply CMD_EXTENSION | |
| imply KEYBOARD | |
| imply PHYSMEM | |
| imply GENERATE_ACPI_TABLE | |
| imply BINMAN | |
| imply CMD_MBR | |
| imply CMD_MMC | |
| imply BOOTSTD_DEFAULTS if BOOTSTD_FULL && CMDLINE | |
| imply BOOTMETH_DISTRO if BOOTSTD_FULL && CMDLINE | |
| imply CMD_SYSBOOT if BOOTSTD_FULL | |
| config SH | |
| bool "SuperH architecture" | |
| select SUPPORT_LITTLE_ENDIAN | |
| select HAVE_PRIVATE_LIBGCC | |
| select SUPPORT_OF_CONTROL | |
| config X86 | |
| bool "x86 architecture" | |
| select SUPPORT_SPL | |
| select SUPPORT_TPL | |
| select SUPPORT_LITTLE_ENDIAN | |
| select CREATE_ARCH_SYMLINK | |
| select DM | |
| select HAVE_ARCH_IOMAP | |
| select HAVE_PRIVATE_LIBGCC | |
| select OF_CONTROL | |
| select PCI | |
| select SUPPORT_ACPI | |
| select SUPPORT_OF_CONTROL | |
| select SYS_CACHE_SHIFT_6 | |
| select TIMER | |
| select USE_PRIVATE_LIBGCC | |
| select X86_TSC_TIMER | |
| select IRQ | |
| imply HAS_ROM if X86_RESET_VECTOR | |
| imply BLK | |
| imply CMD_DM | |
| imply CMD_FPGA_LOADMK | |
| imply CMD_GETTIME | |
| imply CMD_IO | |
| imply CMD_IRQ | |
| imply CMD_PCI | |
| imply CMD_SF | |
| imply CMD_SF_TEST | |
| imply DM_GPIO | |
| imply DM_KEYBOARD | |
| imply DM_MMC | |
| imply DM_RTC | |
| imply SCSI | |
| imply DM_SERIAL | |
| imply MTD | |
| imply DM_SPI | |
| imply DM_SPI_FLASH | |
| imply DM_USB | |
| imply LAST_STAGE_INIT | |
| imply VIDEO | |
| imply SYSRESET | |
| imply SPL_SYSRESET | |
| imply SYSRESET_X86 | |
| imply USB_ETHER_ASIX | |
| imply USB_ETHER_SMSC95XX | |
| imply USB_HOST_ETHER | |
| imply PCH | |
| imply PHYSMEM | |
| imply RTC_MC146818 | |
| imply ACPI | |
| imply ACPIGEN if !QEMU && !EFI_APP | |
| imply SYSINFO if GENERATE_SMBIOS_TABLE | |
| imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE | |
| imply TIMESTAMP | |
| # Thing to enable for when SPL/TPL are enabled: SPL | |
| imply SPL_DM | |
| imply SPL_OF_LIBFDT | |
| imply SPL_DRIVERS_MISC | |
| imply SPL_GPIO | |
| imply SPL_PINCTRL | |
| imply SPL_LIBCOMMON_SUPPORT | |
| imply SPL_LIBGENERIC_SUPPORT | |
| imply SPL_SERIAL | |
| imply SPL_SPI_FLASH_SUPPORT | |
| imply SPL_SPI | |
| imply SPL_OF_CONTROL | |
| imply SPL_TIMER | |
| imply SPL_REGMAP | |
| imply SPL_SYSCON | |
| # TPL | |
| imply TPL_DM | |
| imply TPL_DRIVERS_MISC | |
| imply TPL_GPIO | |
| imply TPL_PINCTRL | |
| imply TPL_LIBCOMMON_SUPPORT | |
| imply TPL_LIBGENERIC_SUPPORT | |
| imply TPL_SERIAL | |
| imply TPL_OF_CONTROL | |
| imply TPL_TIMER | |
| imply TPL_REGMAP | |
| imply TPL_SYSCON | |
| config XTENSA | |
| bool "Xtensa architecture" | |
| select CREATE_ARCH_SYMLINK | |
| select SUPPORT_LITTLE_ENDIAN | |
| select SUPPORT_OF_CONTROL | |
| endchoice | |
| 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 "Board header file" if ARCH_MESON || ARCH_VERSAL || \ | |
| ARCH_VERSAL_NET || ARCH_ZYNQ || ARCH_ZYNQMP || \ | |
| ARCH_ZYNQMP_R5 || MICROBLAZE || NIOS2 | |
| default "meson64" if ARCH_MESON | |
| default "microblaze-generic" if MICROBLAZE | |
| default "xilinx_versal" if ARCH_VERSAL | |
| default "xilinx_versal_net" if ARCH_VERSAL_NET | |
| default "xilinx_zynqmp" if ARCH_ZYNQMP | |
| default "xilinx_zynqmp_r5" if ARCH_ZYNQMP_R5 | |
| default "zynq-common" if ARCH_ZYNQ | |
| 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. | |
| 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. | |
| config SYS_IMMR | |
| hex "Address for the Internal Memory-Mapped Registers (IMMR) window" | |
| depends on PPC || FSL_LSCH2 || FSL_LSCH3 || ARCH_LS1021A | |
| default 0xFF000000 if MPC8xx | |
| default 0xF0000000 if ARCH_MPC8313 | |
| default 0xE0000000 if MPC83xx && !ARCH_MPC8313 | |
| default 0x01000000 if ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3 | |
| default 0xFFE00000 if ARCH_P1010 || ARCH_P1011 || ARCH_P1020 || \ | |
| ARCH_P1021 || ARCH_P1024 || ARCH_P1025 || \ | |
| ARCH_P2020 | |
| default SYS_CCSRBAR_DEFAULT | |
| help | |
| Address for the Internal Memory-Mapped Registers (IMMR) window used | |
| to configure the features of many Freescale / NXP SoCs. | |
| config MONITOR_IS_IN_RAM | |
| bool "U-Boot is loaded in to RAM by a pre-loader" | |
| depends on M68K || NIOS2 | |
| menu "Skipping low level initialization functions" | |
| depends on ARM || MIPS || RISCV | |
| config SKIP_LOWLEVEL_INIT | |
| bool "Skip calls to certain low level initialization functions" | |
| 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 calls to certain low level initialization functions in SPL" | |
| depends on SPL | |
| 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 calls to certain low level initialization functions in TPL" | |
| 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 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 call to lowlevel_init during early SPL 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 call to lowlevel_init during early TPL 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. | |
| endmenu | |
| config SYS_HAS_NONCACHED_MEMORY | |
| bool "Enable reserving a non-cached memory area for drivers" | |
| depends on (ARM || MIPS) && (RTL8169 || MEDIATEK_ETH) | |
| help | |
| This is useful for drivers that would otherwise require a lot of | |
| explicit cache maintenance. For some drivers it's also impossible to | |
| properly maintain the cache. For example if the regions that need to | |
| be flushed are not a multiple of the cache-line size, *and* padding | |
| cannot be allocated between the regions to align them (i.e. if the | |
| HW requires a contiguous array of regions, and the size of each | |
| region is not cache-aligned), then a flush of one region may result | |
| in overwriting data that hardware has written to another region in | |
| the same cache-line. This can happen for example in network drivers | |
| where descriptors for buffers are typically smaller than the CPU | |
| cache-line (e.g. 16 bytes vs. 32 or 64 bytes). | |
| config SYS_NONCACHED_MEMORY | |
| hex "Size in bytes of the non-cached memory area" | |
| depends on SYS_HAS_NONCACHED_MEMORY | |
| default 0x100000 | |
| help | |
| Size of non-cached memory area. This area of memory will be typically | |
| located right below the malloc() area and mapped uncached in the MMU. | |
| source "arch/arc/Kconfig" | |
| source "arch/arm/Kconfig" | |
| source "arch/m68k/Kconfig" | |
| source "arch/microblaze/Kconfig" | |
| source "arch/mips/Kconfig" | |
| source "arch/nios2/Kconfig" | |
| source "arch/powerpc/Kconfig" | |
| source "arch/sandbox/Kconfig" | |
| source "arch/sh/Kconfig" | |
| source "arch/x86/Kconfig" | |
| source "arch/xtensa/Kconfig" | |
| source "arch/riscv/Kconfig" | |
| if ARM || M68K || PPC | |
| source "arch/Kconfig.nxp" | |
| endif | |
| source "board/keymile/Kconfig" | |
| choice | |
| prompt "Endianness selection" | |
| default SYS_BIG_ENDIAN if MIPS || MICROBLAZE | |
| default SYS_LITTLE_ENDIAN | |
| help | |
| Some boards can be configured for either little or big endian | |
| byte order. These modes require different U-Boot images. In general there | |
| is one preferred byteorder for a particular system but some systems are | |
| just as commonly used in the one or the other endianness. | |
| config SYS_BIG_ENDIAN | |
| bool "Big endian" | |
| depends on SUPPORT_BIG_ENDIAN | |
| config SYS_LITTLE_ENDIAN | |
| bool "Little endian" | |
| depends on SUPPORT_LITTLE_ENDIAN | |
| endchoice |