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 DM_PCI 186 select HAVE_ARCH_IOMAP 187 select HAVE_PRIVATE_LIBGCC 188 select OF_CONTROL 189 select PCI 190 select SUPPORT_OF_CONTROL 191 select TIMER 192 select USE_PRIVATE_LIBGCC 193 select X86_TSC_TIMER 194 select IRQ 195 imply HAS_ROM if X86_RESET_VECTOR 196 imply BLK 197 imply CMD_DM 198 imply CMD_FPGA_LOADMK 199 imply CMD_GETTIME 200 imply CMD_IO 201 imply CMD_IRQ 202 imply CMD_PCI 203 imply CMD_SF 204 imply CMD_SF_TEST 205 imply CMD_ZBOOT 206 imply DM_ETH 207 imply DM_GPIO 208 imply DM_KEYBOARD 209 imply DM_MMC 210 imply DM_RTC 211 imply DM_SCSI 212 imply DM_SERIAL 213 imply DM_SPI 214 imply DM_SPI_FLASH 215 imply DM_USB 216 imply DM_VIDEO 217 imply SYSRESET 218 imply SPL_SYSRESET 219 imply SYSRESET_X86 220 imply USB_ETHER_ASIX 221 imply USB_ETHER_SMSC95XX 222 imply USB_HOST_ETHER 223 imply PCH 224 imply RTC_MC146818 225 imply ACPIGEN if !QEMU 226 imply SYSINFO if GENERATE_SMBIOS_TABLE 227 imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE 228 229 # Thing to enable for when SPL/TPL are enabled: SPL 230 imply SPL_DM 231 imply SPL_OF_LIBFDT 232 imply SPL_DRIVERS_MISC_SUPPORT 233 imply SPL_GPIO_SUPPORT 234 imply SPL_PINCTRL 235 imply SPL_LIBCOMMON_SUPPORT 236 imply SPL_LIBGENERIC_SUPPORT 237 imply SPL_SERIAL_SUPPORT 238 imply SPL_SPI_FLASH_SUPPORT 239 imply SPL_SPI_SUPPORT 240 imply SPL_OF_CONTROL 241 imply SPL_TIMER 242 imply SPL_REGMAP 243 imply SPL_SYSCON 244 # TPL 245 imply TPL_DM 246 imply TPL_DRIVERS_MISC_SUPPORT 247 imply TPL_GPIO_SUPPORT 248 imply TPL_PINCTRL 249 imply TPL_LIBCOMMON_SUPPORT 250 imply TPL_LIBGENERIC_SUPPORT 251 imply TPL_SERIAL_SUPPORT 252 imply TPL_OF_CONTROL 253 imply TPL_TIMER 254 imply TPL_REGMAP 255 imply TPL_SYSCON 256 257config XTENSA 258 bool "Xtensa architecture" 259 select CREATE_ARCH_SYMLINK 260 select SUPPORT_OF_CONTROL 261 262endchoice 263 264config SYS_ARCH 265 string 266 help 267 This option should contain the architecture name to build the 268 appropriate arch/<CONFIG_SYS_ARCH> directory. 269 All the architectures should specify this option correctly. 270 271config SYS_CPU 272 string 273 help 274 This option should contain the CPU name to build the correct 275 arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU> directory. 276 277 This is optional. For those targets without the CPU directory, 278 leave this option empty. 279 280config SYS_SOC 281 string 282 help 283 This option should contain the SoC name to build the directory 284 arch/<CONFIG_SYS_ARCH>/cpu/<CONFIG_SYS_CPU>/<CONFIG_SYS_SOC>. 285 286 This is optional. For those targets without the SoC directory, 287 leave this option empty. 288 289config SYS_VENDOR 290 string 291 help 292 This option should contain the vendor name of the target board. 293 If it is set and 294 board/<CONFIG_SYS_VENDOR>/common/Makefile exists, the vendor common 295 directory is compiled. 296 If CONFIG_SYS_BOARD is also set, the sources under 297 board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> directory are compiled. 298 299 This is optional. For those targets without the vendor directory, 300 leave this option empty. 301 302config SYS_BOARD 303 string 304 help 305 This option should contain the name of the target board. 306 If it is set, either board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> 307 or board/<CONFIG_SYS_BOARD> directory is compiled depending on 308 whether CONFIG_SYS_VENDOR is set or not. 309 310 This is optional. For those targets without the board directory, 311 leave this option empty. 312 313config SYS_CONFIG_NAME 314 string 315 help 316 This option should contain the base name of board header file. 317 The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h 318 should be included from include/config.h. 319 320config SYS_DISABLE_DCACHE_OPS 321 bool 322 help 323 This option disables dcache flush and dcache invalidation 324 operations. For example, on coherent systems where cache 325 operatios are not required, enable this option to avoid them. 326 Note that, its up to the individual architectures to implement 327 this functionality. 328 329source "arch/arc/Kconfig" 330source "arch/arm/Kconfig" 331source "arch/m68k/Kconfig" 332source "arch/microblaze/Kconfig" 333source "arch/mips/Kconfig" 334source "arch/nds32/Kconfig" 335source "arch/nios2/Kconfig" 336source "arch/powerpc/Kconfig" 337source "arch/sandbox/Kconfig" 338source "arch/sh/Kconfig" 339source "arch/x86/Kconfig" 340source "arch/xtensa/Kconfig" 341source "arch/riscv/Kconfig" 342