uboot/arch/Kconfig
<<
>>
Prefs
   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        # Thing to enable for when SPL/TPL are enabled: SPL
 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        # TPL
 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