1menu "ARM architecture" 2 depends on ARM 3 4config SYS_ARCH 5 default "arm" 6 7config ARM64 8 bool 9 select PHYS_64BIT 10 select SYS_CACHE_SHIFT_6 11 12if ARM64 13config POSITION_INDEPENDENT 14 bool "Generate position-independent pre-relocation code" 15 help 16 U-Boot expects to be linked to a specific hard-coded address, and to 17 be loaded to and run from that address. This option lifts that 18 restriction, thus allowing the code to be loaded to and executed 19 from almost any address. This logic relies on the relocation 20 information that is embedded into the binary to support U-Boot 21 relocating itself to the top-of-RAM later during execution. 22 23config SYS_INIT_SP_BSS_OFFSET 24 int 25 help 26 U-Boot typically uses a hard-coded value for the stack pointer 27 before relocation. Define this option to instead calculate the 28 initial SP at run-time. This is useful to avoid hard-coding addresses 29 into U-Boot, so that can be loaded and executed at arbitrary 30 addresses and thus avoid using arbitrary addresses at runtime. This 31 option's value is the offset added to &_bss_start in order to 32 calculate the stack pointer. This offset should be large enough so 33 that the early malloc region, global data (gd), and early stack usage 34 do not overlap any appended DTB. 35 36config LINUX_KERNEL_IMAGE_HEADER 37 bool 38 help 39 Place a Linux kernel image header at the start of the U-Boot binary. 40 The format of the header is described in the Linux kernel source at 41 Documentation/arm64/booting.txt. This feature is useful since the 42 image header reports the amount of memory (BSS and similar) that 43 U-Boot needs to use, but which isn't part of the binary. 44 45if LINUX_KERNEL_IMAGE_HEADER 46config LNX_KRNL_IMG_TEXT_OFFSET_BASE 47 hex 48 help 49 The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the 50 TEXT_OFFSET value written in to the Linux kernel image header. 51endif 52endif 53 54config STATIC_RELA 55 bool 56 default y if ARM64 && !POSITION_INDEPENDENT 57 58config DMA_ADDR_T_64BIT 59 bool 60 default y if ARM64 61 62config HAS_VBAR 63 bool 64 65config HAS_THUMB2 66 bool 67 68# Used for compatibility with asm files copied from the kernel 69config ARM_ASM_UNIFIED 70 bool 71 default y 72 73# Used for compatibility with asm files copied from the kernel 74config THUMB2_KERNEL 75 bool 76 77# If set, the workarounds for these ARM errata are applied early during U-Boot 78# startup. Note that in general these options force the workarounds to be 79# applied; no CPU-type/version detection exists, unlike the similar options in 80# the Linux kernel. Do not set these options unless they apply! Also note that 81# the following can be machine specific errata. These do have ability to 82# provide rudimentary version and machine specific checks, but expect no 83# product checks: 84# CONFIG_ARM_ERRATA_430973 85# CONFIG_ARM_ERRATA_454179 86# CONFIG_ARM_ERRATA_621766 87# CONFIG_ARM_ERRATA_798870 88# CONFIG_ARM_ERRATA_801819 89config ARM_ERRATA_430973 90 bool 91 92config ARM_ERRATA_454179 93 bool 94 95config ARM_ERRATA_621766 96 bool 97 98config ARM_ERRATA_716044 99 bool 100 101config ARM_ERRATA_725233 102 bool 103 104config ARM_ERRATA_742230 105 bool 106 107config ARM_ERRATA_743622 108 bool 109 110config ARM_ERRATA_751472 111 bool 112 113config ARM_ERRATA_761320 114 bool 115 116config ARM_ERRATA_773022 117 bool 118 119config ARM_ERRATA_774769 120 bool 121 122config ARM_ERRATA_794072 123 bool 124 125config ARM_ERRATA_798870 126 bool 127 128config ARM_ERRATA_801819 129 bool 130 131config ARM_ERRATA_826974 132 bool 133 134config ARM_ERRATA_828024 135 bool 136 137config ARM_ERRATA_829520 138 bool 139 140config ARM_ERRATA_833069 141 bool 142 143config ARM_ERRATA_833471 144 bool 145 146config ARM_ERRATA_845369 147 bool 148 149config ARM_ERRATA_852421 150 bool 151 152config ARM_ERRATA_852423 153 bool 154 155config ARM_ERRATA_855873 156 bool 157 158config CPU_ARM720T 159 bool 160 select SYS_CACHE_SHIFT_5 161 162config CPU_ARM920T 163 bool 164 select SYS_CACHE_SHIFT_5 165 166config CPU_ARM926EJS 167 bool 168 select SYS_CACHE_SHIFT_5 169 170config CPU_ARM946ES 171 bool 172 select SYS_CACHE_SHIFT_5 173 174config CPU_ARM1136 175 bool 176 select SYS_CACHE_SHIFT_5 177 178config CPU_ARM1176 179 bool 180 select HAS_VBAR 181 select SYS_CACHE_SHIFT_5 182 183config CPU_V7 184 bool 185 select HAS_VBAR 186 select HAS_THUMB2 187 select SYS_CACHE_SHIFT_6 188 189config CPU_V7M 190 bool 191 select HAS_THUMB2 192 select THUMB2_KERNEL 193 select SYS_CACHE_SHIFT_5 194 195config CPU_PXA 196 bool 197 select SYS_CACHE_SHIFT_5 198 199config CPU_SA1100 200 bool 201 select SYS_CACHE_SHIFT_5 202 203config SYS_CPU 204 default "arm720t" if CPU_ARM720T 205 default "arm920t" if CPU_ARM920T 206 default "arm926ejs" if CPU_ARM926EJS 207 default "arm946es" if CPU_ARM946ES 208 default "arm1136" if CPU_ARM1136 209 default "arm1176" if CPU_ARM1176 210 default "armv7" if CPU_V7 211 default "armv7m" if CPU_V7M 212 default "pxa" if CPU_PXA 213 default "sa1100" if CPU_SA1100 214 default "armv8" if ARM64 215 216config SYS_ARM_ARCH 217 int 218 default 4 if CPU_ARM720T 219 default 4 if CPU_ARM920T 220 default 5 if CPU_ARM926EJS 221 default 5 if CPU_ARM946ES 222 default 6 if CPU_ARM1136 223 default 6 if CPU_ARM1176 224 default 7 if CPU_V7 225 default 7 if CPU_V7M 226 default 5 if CPU_PXA 227 default 4 if CPU_SA1100 228 default 8 if ARM64 229 230config SYS_CACHE_SHIFT_5 231 bool 232 233config SYS_CACHE_SHIFT_6 234 bool 235 236config SYS_CACHE_SHIFT_7 237 bool 238 239config SYS_CACHELINE_SIZE 240 int 241 default 128 if SYS_CACHE_SHIFT_7 242 default 64 if SYS_CACHE_SHIFT_6 243 default 32 if SYS_CACHE_SHIFT_5 244 245config ARM_SMCCC 246 bool "Support for ARM SMC Calling Convention (SMCCC)" 247 depends on CPU_V7 || ARM64 248 select ARM_PSCI_FW 249 help 250 Say Y here if you want to enable ARM SMC Calling Convention. 251 This should be enabled if U-Boot needs to communicate with system 252 firmware (for example, PSCI) according to SMCCC. 253 254config SEMIHOSTING 255 bool "support boot from semihosting" 256 help 257 In emulated environments, semihosting is a way for 258 the hosted environment to call out to the emulator to 259 retrieve files from the host machine. 260 261config SYS_THUMB_BUILD 262 bool "Build U-Boot using the Thumb instruction set" 263 depends on !ARM64 264 help 265 Use this flag to build U-Boot using the Thumb instruction set for 266 ARM architectures. Thumb instruction set provides better code 267 density. For ARM architectures that support Thumb2 this flag will 268 result in Thumb2 code generated by GCC. 269 270config SPL_SYS_THUMB_BUILD 271 bool "Build SPL using the Thumb instruction set" 272 default y if SYS_THUMB_BUILD 273 depends on !ARM64 274 help 275 Use this flag to build SPL using the Thumb instruction set for 276 ARM architectures. Thumb instruction set provides better code 277 density. For ARM architectures that support Thumb2 this flag will 278 result in Thumb2 code generated by GCC. 279 280config SYS_L2CACHE_OFF 281 bool "L2cache off" 282 help 283 If SoC does not support L2CACHE or one do not want to enable 284 L2CACHE, choose this option. 285 286config ENABLE_ARM_SOC_BOOT0_HOOK 287 bool "prepare BOOT0 header" 288 help 289 If the SoC's BOOT0 requires a header area filled with (magic) 290 values, then choose this option, and create a file included as 291 <asm/arch/boot0.h> which contains the required assembler code. 292 293config ARM_CORTEX_CPU_IS_UP 294 bool 295 default n 296 297config USE_ARCH_MEMCPY 298 bool "Use an assembly optimized implementation of memcpy" 299 default y 300 depends on !ARM64 301 help 302 Enable the generation of an optimized version of memcpy. 303 Such implementation may be faster under some conditions 304 but may increase the binary size. 305 306config SPL_USE_ARCH_MEMCPY 307 bool "Use an assembly optimized implementation of memcpy for SPL" 308 default y if USE_ARCH_MEMCPY 309 depends on !ARM64 310 help 311 Enable the generation of an optimized version of memcpy. 312 Such implementation may be faster under some conditions 313 but may increase the binary size. 314 315config USE_ARCH_MEMSET 316 bool "Use an assembly optimized implementation of memset" 317 default y 318 depends on !ARM64 319 help 320 Enable the generation of an optimized version of memset. 321 Such implementation may be faster under some conditions 322 but may increase the binary size. 323 324config SPL_USE_ARCH_MEMSET 325 bool "Use an assembly optimized implementation of memset for SPL" 326 default y if USE_ARCH_MEMSET 327 depends on !ARM64 328 help 329 Enable the generation of an optimized version of memset. 330 Such implementation may be faster under some conditions 331 but may increase the binary size. 332 333config ARM64_SUPPORT_AARCH32 334 bool "ARM64 system support AArch32 execution state" 335 default y if ARM64 && !TARGET_THUNDERX_88XX 336 help 337 This ARM64 system supports AArch32 execution state. 338 339choice 340 prompt "Target select" 341 default TARGET_HIKEY 342 343config ARCH_AT91 344 bool "Atmel AT91" 345 select SPL_BOARD_INIT if SPL 346 347config TARGET_EDB93XX 348 bool "Support edb93xx" 349 select CPU_ARM920T 350 select PL010_SERIAL 351 352config TARGET_ASPENITE 353 bool "Support aspenite" 354 select CPU_ARM926EJS 355 356config TARGET_GPLUGD 357 bool "Support gplugd" 358 select CPU_ARM926EJS 359 360config ARCH_DAVINCI 361 bool "TI DaVinci" 362 select CPU_ARM926EJS 363 imply CMD_SAVES 364 help 365 Support for TI's DaVinci platform. 366 367config KIRKWOOD 368 bool "Marvell Kirkwood" 369 select CPU_ARM926EJS 370 select BOARD_EARLY_INIT_F 371 select ARCH_MISC_INIT 372 373config ARCH_MVEBU 374 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)" 375 select OF_CONTROL 376 select OF_SEPARATE 377 select DM 378 select DM_ETH 379 select DM_SERIAL 380 select DM_SPI 381 select DM_SPI_FLASH 382 383config TARGET_DEVKIT3250 384 bool "Support devkit3250" 385 select CPU_ARM926EJS 386 select SUPPORT_SPL 387 388config TARGET_WORK_92105 389 bool "Support work_92105" 390 select CPU_ARM926EJS 391 select SUPPORT_SPL 392 393config TARGET_APF27 394 bool "Support apf27" 395 select CPU_ARM926EJS 396 select SUPPORT_SPL 397 398config ORION5X 399 bool "Marvell Orion" 400 select CPU_ARM926EJS 401 402config TARGET_SPEAR300 403 bool "Support spear300" 404 select CPU_ARM926EJS 405 select BOARD_EARLY_INIT_F 406 imply CMD_SAVES 407 select PL011_SERIAL 408 409config TARGET_SPEAR310 410 bool "Support spear310" 411 select CPU_ARM926EJS 412 select BOARD_EARLY_INIT_F 413 imply CMD_SAVES 414 select PL011_SERIAL 415 416config TARGET_SPEAR320 417 bool "Support spear320" 418 select CPU_ARM926EJS 419 select BOARD_EARLY_INIT_F 420 imply CMD_SAVES 421 select PL011_SERIAL 422 423config TARGET_SPEAR600 424 bool "Support spear600" 425 select CPU_ARM926EJS 426 select BOARD_EARLY_INIT_F 427 imply CMD_SAVES 428 select PL011_SERIAL 429 430config TARGET_STV0991 431 bool "Support stv0991" 432 select CPU_V7 433 select DM 434 select DM_SERIAL 435 select DM_SPI 436 select DM_SPI_FLASH 437 select SPI_FLASH 438 select PL01X_SERIAL 439 440config TARGET_X600 441 bool "Support x600" 442 select BOARD_LATE_INIT 443 select CPU_ARM926EJS 444 select SUPPORT_SPL 445 select PL011_SERIAL 446 447config TARGET_IMX31_PHYCORE 448 bool "Support imx31_phycore_eet" 449 select CPU_ARM1136 450 select BOARD_EARLY_INIT_F 451 452config TARGET_IMX31_PHYCORE_EET 453 bool "Support imx31_phycore_eet" 454 select BOARD_LATE_INIT 455 select CPU_ARM1136 456 select BOARD_EARLY_INIT_F 457 458config TARGET_MX31ADS 459 bool "Support mx31ads" 460 select CPU_ARM1136 461 select BOARD_EARLY_INIT_F 462 463config TARGET_MX31PDK 464 bool "Support mx31pdk" 465 select BOARD_LATE_INIT 466 select CPU_ARM1136 467 select SUPPORT_SPL 468 select BOARD_EARLY_INIT_F 469 470config TARGET_WOODBURN 471 bool "Support woodburn" 472 select CPU_ARM1136 473 474config TARGET_WOODBURN_SD 475 bool "Support woodburn_sd" 476 select CPU_ARM1136 477 select SUPPORT_SPL 478 479config TARGET_FLEA3 480 bool "Support flea3" 481 select CPU_ARM1136 482 483config TARGET_MX35PDK 484 bool "Support mx35pdk" 485 select BOARD_LATE_INIT 486 select CPU_ARM1136 487 488config ARCH_BCM283X 489 bool "Broadcom BCM283X family" 490 select DM 491 select DM_SERIAL 492 select DM_GPIO 493 select OF_CONTROL 494 select PL01X_SERIAL 495 select SERIAL_SEARCH_ALL 496 imply FAT_WRITE 497 498config TARGET_VEXPRESS_CA15_TC2 499 bool "Support vexpress_ca15_tc2" 500 select CPU_V7 501 select CPU_V7_HAS_NONSEC 502 select CPU_V7_HAS_VIRT 503 select PL011_SERIAL 504 505config TARGET_VEXPRESS_CA5X2 506 bool "Support vexpress_ca5x2" 507 select CPU_V7 508 select PL011_SERIAL 509 510config TARGET_VEXPRESS_CA9X4 511 bool "Support vexpress_ca9x4" 512 select CPU_V7 513 select PL011_SERIAL 514 515config TARGET_BCM23550_W1D 516 bool "Support bcm23550_w1d" 517 select CPU_V7 518 imply CRC32_VERIFY 519 imply FAT_WRITE 520 521config TARGET_BCM28155_AP 522 bool "Support bcm28155_ap" 523 select CPU_V7 524 imply CRC32_VERIFY 525 imply FAT_WRITE 526 527config TARGET_BCMCYGNUS 528 bool "Support bcmcygnus" 529 select CPU_V7 530 imply CRC32_VERIFY 531 imply CMD_HASH 532 imply FAT_WRITE 533 imply HASH_VERIFY 534 imply NETDEVICES 535 imply BCM_SF2_ETH 536 imply BCM_SF2_ETH_GMAC 537 538config TARGET_BCMNSP 539 bool "Support bcmnsp" 540 select CPU_V7 541 542config TARGET_BCMNS2 543 bool "Support Broadcom Northstar2" 544 select ARM64 545 help 546 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit 547 ARMv8 Cortex-A57 processors targeting a broad range of networking 548 applications 549 550config ARCH_EXYNOS 551 bool "Samsung EXYNOS" 552 select DM 553 select DM_I2C 554 select DM_SPI_FLASH 555 select DM_SERIAL 556 select DM_SPI 557 select DM_GPIO 558 select DM_KEYBOARD 559 imply FAT_WRITE 560 561config ARCH_S5PC1XX 562 bool "Samsung S5PC1XX" 563 select CPU_V7 564 select DM 565 select DM_SERIAL 566 select DM_GPIO 567 select DM_I2C 568 569config ARCH_HIGHBANK 570 bool "Calxeda Highbank" 571 select CPU_V7 572 select PL011_SERIAL 573 574config ARCH_INTEGRATOR 575 bool "ARM Ltd. Integrator family" 576 select DM 577 select DM_SERIAL 578 select PL01X_SERIAL 579 580config ARCH_KEYSTONE 581 bool "TI Keystone" 582 select CPU_V7 583 select SUPPORT_SPL 584 select SYS_THUMB_BUILD 585 select CMD_POWEROFF 586 imply CMD_MTDPARTS 587 imply FIT 588 imply CMD_SAVES 589 590config ARCH_OMAP2PLUS 591 bool "TI OMAP2+" 592 select CPU_V7 593 select SPL_BOARD_INIT if SPL 594 select SPL_STACK_R if SPL 595 select SUPPORT_SPL 596 imply FIT 597 598config ARCH_MESON 599 bool "Amlogic Meson" 600 help 601 Support for the Meson SoC family developed by Amlogic Inc., 602 targeted at media players and tablet computers. We currently 603 support the S905 (GXBaby) 64-bit SoC. 604 605config ARCH_MX8M 606 bool "NXP i.MX8M platform" 607 select ARM64 608 select DM 609 select SUPPORT_SPL 610 611config ARCH_MX23 612 bool "NXP i.MX23 family" 613 select CPU_ARM926EJS 614 select PL011_SERIAL 615 select SUPPORT_SPL 616 617config ARCH_MX25 618 bool "NXP MX25" 619 select CPU_ARM926EJS 620 imply MXC_GPIO 621 622config ARCH_MX28 623 bool "NXP i.MX28 family" 624 select CPU_ARM926EJS 625 select PL011_SERIAL 626 select SUPPORT_SPL 627 628config ARCH_MX7ULP 629 bool "NXP MX7ULP" 630 select CPU_V7 631 select ROM_UNIFIED_SECTIONS 632 imply MXC_GPIO 633 634config ARCH_MX7 635 bool "Freescale MX7" 636 select CPU_V7 637 select SYS_FSL_HAS_SEC if SECURE_BOOT 638 select SYS_FSL_SEC_COMPAT_4 639 select SYS_FSL_SEC_LE 640 select BOARD_EARLY_INIT_F 641 select ARCH_MISC_INIT 642 imply MXC_GPIO 643 644config ARCH_MX6 645 bool "Freescale MX6" 646 select CPU_V7 647 select SYS_FSL_HAS_SEC if SECURE_BOOT 648 select SYS_FSL_SEC_COMPAT_4 649 select SYS_FSL_SEC_LE 650 select SYS_THUMB_BUILD if SPL 651 imply MXC_GPIO 652 653if ARCH_MX6 654config SPL_LDSCRIPT 655 default "arch/arm/mach-omap2/u-boot-spl.lds" 656endif 657 658config ARCH_MX5 659 bool "Freescale MX5" 660 select CPU_V7 661 select BOARD_EARLY_INIT_F 662 imply MXC_GPIO 663 664config ARCH_QEMU 665 bool "QEMU Virtual Platform" 666 select DM 667 select DM_SERIAL 668 select OF_CONTROL 669 select PL01X_SERIAL 670 671config ARCH_RMOBILE 672 bool "Renesas ARM SoCs" 673 select DM 674 select DM_SERIAL 675 select BOARD_EARLY_INIT_F 676 imply FAT_WRITE 677 imply SYS_THUMB_BUILD 678 679config TARGET_S32V234EVB 680 bool "Support s32v234evb" 681 select ARM64 682 select SYS_FSL_ERRATUM_ESDHC111 683 684config ARCH_SNAPDRAGON 685 bool "Qualcomm Snapdragon SoCs" 686 select ARM64 687 select DM 688 select DM_GPIO 689 select DM_SERIAL 690 select SPMI 691 select OF_CONTROL 692 select OF_SEPARATE 693 694config ARCH_SOCFPGA 695 bool "Altera SOCFPGA family" 696 select CPU_V7 697 select SUPPORT_SPL 698 select OF_CONTROL 699 select SPL_OF_CONTROL 700 select DM 701 select ENABLE_ARM_SOC_BOOT0_HOOK 702 select ARCH_EARLY_INIT_R 703 select ARCH_MISC_INIT 704 select SYS_THUMB_BUILD 705 imply CMD_MTDPARTS 706 imply CRC32_VERIFY 707 imply DM_SPI 708 imply DM_SPI_FLASH 709 imply FAT_WRITE 710 imply HW_WATCHDOG 711 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 712 713config ARCH_SUNXI 714 bool "Support sunxi (Allwinner) SoCs" 715 select BINMAN 716 select CMD_GPIO 717 select CMD_MMC if MMC 718 select CMD_USB if DISTRO_DEFAULTS 719 select DM 720 select DM_ETH 721 select DM_GPIO 722 select DM_KEYBOARD 723 select DM_SERIAL 724 select DM_USB if DISTRO_DEFAULTS 725 select OF_BOARD_SETUP 726 select OF_CONTROL 727 select OF_SEPARATE 728 select SPECIFY_CONSOLE_INDEX 729 select SPL_STACK_R if SPL 730 select SPL_SYS_MALLOC_SIMPLE if SPL 731 select SYS_NS16550 732 select SPL_SYS_THUMB_BUILD if !ARM64 733 select SYS_THUMB_BUILD if !ARM64 734 select USB if DISTRO_DEFAULTS 735 select USB_STORAGE if DISTRO_DEFAULTS 736 select USB_KEYBOARD if DISTRO_DEFAULTS 737 select USE_TINY_PRINTF 738 imply CMD_GPT 739 imply FAT_WRITE 740 imply OF_LIBFDT_OVERLAY 741 imply PRE_CONSOLE_BUFFER 742 imply SPL_GPIO_SUPPORT 743 imply SPL_LIBCOMMON_SUPPORT 744 imply SPL_LIBDISK_SUPPORT 745 imply SPL_LIBGENERIC_SUPPORT 746 imply SPL_MMC_SUPPORT if MMC 747 imply SPL_POWER_SUPPORT 748 imply SPL_SERIAL_SUPPORT 749 imply USB_GADGET 750 751config ARCH_VF610 752 bool "Freescale Vybrid" 753 select CPU_V7 754 select SYS_FSL_ERRATUM_ESDHC111 755 imply CMD_MTDPARTS 756 imply NAND 757 758config ARCH_ZYNQ 759 bool "Xilinx Zynq based platform" 760 select BOARD_LATE_INIT 761 select CPU_V7 762 select SUPPORT_SPL 763 select OF_CONTROL 764 select SPL_BOARD_INIT if SPL 765 select BOARD_EARLY_INIT_F if WDT 766 select SPL_OF_CONTROL if SPL 767 select DM 768 select DM_ETH if NET 769 select SPL_DM if SPL 770 select DM_MMC if MMC 771 select DM_SPI 772 select DM_SERIAL 773 select DM_SPI_FLASH 774 select SPL_SEPARATE_BSS if SPL 775 select DM_USB if USB 776 select CLK 777 select SPL_CLK if SPL 778 select CLK_ZYNQ 779 imply CMD_CLK 780 imply FAT_WRITE 781 imply CMD_SPL 782 783config ARCH_ZYNQMP 784 bool "Xilinx ZynqMP based platform" 785 select ARM64 786 select BOARD_LATE_INIT 787 select DM 788 select OF_CONTROL 789 select DM_SERIAL 790 select SUPPORT_SPL 791 select CLK 792 select SPL_BOARD_INIT if SPL 793 select SPL_CLK if SPL 794 select DM_USB if USB 795 imply FAT_WRITE 796 797config TEGRA 798 bool "NVIDIA Tegra" 799 imply FAT_WRITE 800 801config TARGET_VEXPRESS64_AEMV8A 802 bool "Support vexpress_aemv8a" 803 select ARM64 804 select PL01X_SERIAL 805 806config TARGET_VEXPRESS64_BASE_FVP 807 bool "Support Versatile Express ARMv8a FVP BASE model" 808 select ARM64 809 select SEMIHOSTING 810 select PL01X_SERIAL 811 812config TARGET_VEXPRESS64_BASE_FVP_DRAM 813 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM" 814 select ARM64 815 select PL01X_SERIAL 816 help 817 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides 818 the default config to allow the user to load the images directly into 819 DRAM using model parameters rather than by using semi-hosting to load 820 the files from the host filesystem. 821 822config TARGET_VEXPRESS64_JUNO 823 bool "Support Versatile Express Juno Development Platform" 824 select ARM64 825 select PL01X_SERIAL 826 827config TARGET_LS2080A_EMU 828 bool "Support ls2080a_emu" 829 select ARCH_LS2080A 830 select ARM64 831 select ARMV8_MULTIENTRY 832 select ARCH_MISC_INIT 833 help 834 Support for Freescale LS2080A_EMU platform 835 The LS2080A Development System (EMULATOR) is a pre silicon 836 development platform that supports the QorIQ LS2080A 837 Layerscape Architecture processor. 838 839config TARGET_LS2080A_SIMU 840 bool "Support ls2080a_simu" 841 select ARCH_LS2080A 842 select ARM64 843 select ARMV8_MULTIENTRY 844 select ARCH_MISC_INIT 845 help 846 Support for Freescale LS2080A_SIMU platform 847 The LS2080A Development System (QDS) is a pre silicon 848 development platform that supports the QorIQ LS2080A 849 Layerscape Architecture processor. 850 851config TARGET_LS1088AQDS 852 bool "Support ls1088aqds" 853 select ARCH_LS1088A 854 select ARM64 855 select ARMV8_MULTIENTRY 856 select ARCH_MISC_INIT 857 select BOARD_LATE_INIT 858 select SUPPORT_SPL 859 help 860 Support for NXP LS1088AQDS platform 861 The LS1088A Development System (QDS) is a high-performance 862 development platform that supports the QorIQ LS1088A 863 Layerscape Architecture processor. 864 865config TARGET_LS2080AQDS 866 bool "Support ls2080aqds" 867 select ARCH_LS2080A 868 select ARM64 869 select ARMV8_MULTIENTRY 870 select BOARD_LATE_INIT 871 select SUPPORT_SPL 872 select ARCH_MISC_INIT 873 imply SCSI 874 imply SCSI_AHCI 875 help 876 Support for Freescale LS2080AQDS platform 877 The LS2080A Development System (QDS) is a high-performance 878 development platform that supports the QorIQ LS2080A 879 Layerscape Architecture processor. 880 881config TARGET_LS2080ARDB 882 bool "Support ls2080ardb" 883 select ARCH_LS2080A 884 select ARM64 885 select ARMV8_MULTIENTRY 886 select BOARD_LATE_INIT 887 select SUPPORT_SPL 888 select ARCH_MISC_INIT 889 imply SCSI 890 imply SCSI_AHCI 891 help 892 Support for Freescale LS2080ARDB platform. 893 The LS2080A Reference design board (RDB) is a high-performance 894 development platform that supports the QorIQ LS2080A 895 Layerscape Architecture processor. 896 897config TARGET_LS2081ARDB 898 bool "Support ls2081ardb" 899 select ARCH_LS2080A 900 select ARM64 901 select ARMV8_MULTIENTRY 902 select BOARD_LATE_INIT 903 select SUPPORT_SPL 904 select ARCH_MISC_INIT 905 help 906 Support for Freescale LS2081ARDB platform. 907 The LS2081A Reference design board (RDB) is a high-performance 908 development platform that supports the QorIQ LS2081A/LS2041A 909 Layerscape Architecture processor. 910 911config TARGET_HIKEY 912 bool "Support HiKey 96boards Consumer Edition Platform" 913 select ARM64 914 select DM 915 select DM_GPIO 916 select DM_SERIAL 917 select OF_CONTROL 918 select PL01X_SERIAL 919 select SPECIFY_CONSOLE_INDEX 920 help 921 Support for HiKey 96boards platform. It features a HI6220 922 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM. 923 924config TARGET_POPLAR 925 bool "Support Poplar 96boards Enterprise Edition Platform" 926 select ARM64 927 select DM 928 select OF_CONTROL 929 select DM_SERIAL 930 select DM_USB 931 select PL01X_SERIAL 932 help 933 Support for Poplar 96boards EE platform. It features a HI3798cv200 934 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU 935 making it capable of running any commercial set-top solution based on 936 Linux or Android. 937 938config TARGET_LS1012AQDS 939 bool "Support ls1012aqds" 940 select ARCH_LS1012A 941 select ARM64 942 select BOARD_LATE_INIT 943 help 944 Support for Freescale LS1012AQDS platform. 945 The LS1012A Development System (QDS) is a high-performance 946 development platform that supports the QorIQ LS1012A 947 Layerscape Architecture processor. 948 949config TARGET_LS1012ARDB 950 bool "Support ls1012ardb" 951 select ARCH_LS1012A 952 select ARM64 953 select BOARD_LATE_INIT 954 imply SCSI 955 imply SCSI_AHCI 956 help 957 Support for Freescale LS1012ARDB platform. 958 The LS1012A Reference design board (RDB) is a high-performance 959 development platform that supports the QorIQ LS1012A 960 Layerscape Architecture processor. 961 962config TARGET_LS1012A2G5RDB 963 bool "Support ls1012a2g5rdb" 964 select ARCH_LS1012A 965 select ARM64 966 select BOARD_LATE_INIT 967 imply SCSI 968 help 969 Support for Freescale LS1012A2G5RDB platform. 970 The LS1012A 2G5 Reference design board (RDB) is a high-performance 971 development platform that supports the QorIQ LS1012A 972 Layerscape Architecture processor. 973 974config TARGET_LS1012AFRDM 975 bool "Support ls1012afrdm" 976 select ARCH_LS1012A 977 select ARM64 978 help 979 Support for Freescale LS1012AFRDM platform. 980 The LS1012A Freedom board (FRDM) is a high-performance 981 development platform that supports the QorIQ LS1012A 982 Layerscape Architecture processor. 983 984config TARGET_LS1088ARDB 985 bool "Support ls1088ardb" 986 select ARCH_LS1088A 987 select ARM64 988 select ARMV8_MULTIENTRY 989 select ARCH_MISC_INIT 990 select BOARD_LATE_INIT 991 select SUPPORT_SPL 992 help 993 Support for NXP LS1088ARDB platform. 994 The LS1088A Reference design board (RDB) is a high-performance 995 development platform that supports the QorIQ LS1088A 996 Layerscape Architecture processor. 997 998config TARGET_LS1021AQDS 999 bool "Support ls1021aqds" 1000 select BOARD_LATE_INIT 1001 select CPU_V7 1002 select CPU_V7_HAS_NONSEC 1003 select CPU_V7_HAS_VIRT 1004 select SUPPORT_SPL 1005 select ARCH_LS1021A 1006 select ARCH_SUPPORT_PSCI 1007 select LS1_DEEP_SLEEP 1008 select SYS_FSL_DDR 1009 select BOARD_EARLY_INIT_F 1010 imply SCSI 1011 1012config TARGET_LS1021ATWR 1013 bool "Support ls1021atwr" 1014 select BOARD_LATE_INIT 1015 select CPU_V7 1016 select CPU_V7_HAS_NONSEC 1017 select CPU_V7_HAS_VIRT 1018 select SUPPORT_SPL 1019 select ARCH_LS1021A 1020 select ARCH_SUPPORT_PSCI 1021 select LS1_DEEP_SLEEP 1022 select BOARD_EARLY_INIT_F 1023 imply SCSI 1024 1025config TARGET_LS1021AIOT 1026 bool "Support ls1021aiot" 1027 select BOARD_LATE_INIT 1028 select CPU_V7 1029 select CPU_V7_HAS_NONSEC 1030 select CPU_V7_HAS_VIRT 1031 select SUPPORT_SPL 1032 select ARCH_LS1021A 1033 select ARCH_SUPPORT_PSCI 1034 imply SCSI 1035 help 1036 Support for Freescale LS1021AIOT platform. 1037 The LS1021A Freescale board (IOT) is a high-performance 1038 development platform that supports the QorIQ LS1021A 1039 Layerscape Architecture processor. 1040 1041config TARGET_LS1043AQDS 1042 bool "Support ls1043aqds" 1043 select ARCH_LS1043A 1044 select ARM64 1045 select ARMV8_MULTIENTRY 1046 select BOARD_LATE_INIT 1047 select SUPPORT_SPL 1048 select BOARD_EARLY_INIT_F 1049 imply SCSI 1050 help 1051 Support for Freescale LS1043AQDS platform. 1052 1053config TARGET_LS1043ARDB 1054 bool "Support ls1043ardb" 1055 select ARCH_LS1043A 1056 select ARM64 1057 select ARMV8_MULTIENTRY 1058 select BOARD_LATE_INIT 1059 select SUPPORT_SPL 1060 select BOARD_EARLY_INIT_F 1061 imply SCSI 1062 help 1063 Support for Freescale LS1043ARDB platform. 1064 1065config TARGET_LS1046AQDS 1066 bool "Support ls1046aqds" 1067 select ARCH_LS1046A 1068 select ARM64 1069 select ARMV8_MULTIENTRY 1070 select BOARD_LATE_INIT 1071 select SUPPORT_SPL 1072 select DM_SPI_FLASH if DM_SPI 1073 select BOARD_EARLY_INIT_F 1074 imply SCSI 1075 help 1076 Support for Freescale LS1046AQDS platform. 1077 The LS1046A Development System (QDS) is a high-performance 1078 development platform that supports the QorIQ LS1046A 1079 Layerscape Architecture processor. 1080 1081config TARGET_LS1046ARDB 1082 bool "Support ls1046ardb" 1083 select ARCH_LS1046A 1084 select ARM64 1085 select ARMV8_MULTIENTRY 1086 select BOARD_LATE_INIT 1087 select SUPPORT_SPL 1088 select DM_SPI_FLASH if DM_SPI 1089 select POWER_MC34VR500 1090 select BOARD_EARLY_INIT_F 1091 imply SCSI 1092 help 1093 Support for Freescale LS1046ARDB platform. 1094 The LS1046A Reference Design Board (RDB) is a high-performance 1095 development platform that supports the QorIQ LS1046A 1096 Layerscape Architecture processor. 1097 1098config TARGET_H2200 1099 bool "Support h2200" 1100 select CPU_PXA 1101 1102config TARGET_ZIPITZ2 1103 bool "Support zipitz2" 1104 select CPU_PXA 1105 1106config TARGET_COLIBRI_PXA270 1107 bool "Support colibri_pxa270" 1108 select CPU_PXA 1109 1110config ARCH_UNIPHIER 1111 bool "Socionext UniPhier SoCs" 1112 select BOARD_LATE_INIT 1113 select DM 1114 select DM_GPIO 1115 select DM_I2C 1116 select DM_MMC 1117 select DM_RESET 1118 select DM_SERIAL 1119 select DM_USB 1120 select OF_CONTROL 1121 select OF_LIBFDT 1122 select PINCTRL 1123 select SPL_BOARD_INIT if SPL 1124 select SPL_DM if SPL 1125 select SPL_LIBCOMMON_SUPPORT if SPL 1126 select SPL_LIBGENERIC_SUPPORT if SPL 1127 select SPL_OF_CONTROL if SPL 1128 select SPL_PINCTRL if SPL 1129 select SUPPORT_SPL 1130 imply FAT_WRITE 1131 help 1132 Support for UniPhier SoC family developed by Socionext Inc. 1133 (formerly, System LSI Business Division of Panasonic Corporation) 1134 1135config STM32 1136 bool "Support STMicroelectronics STM32 MCU with cortex M" 1137 select CPU_V7M 1138 select DM 1139 select DM_SERIAL 1140 select SYS_THUMB_BUILD 1141 1142config ARCH_STI 1143 bool "Support STMicrolectronics SoCs" 1144 select CPU_V7 1145 select DM 1146 select DM_SERIAL 1147 select BLK 1148 select DM_MMC 1149 select DM_RESET 1150 help 1151 Support for STMicroelectronics STiH407/10 SoC family. 1152 This SoC is used on Linaro 96Board STiH410-B2260 1153 1154config ARCH_STM32MP 1155 bool "Support STMicroelectronics STM32MP Socs with cortex A" 1156 select ARCH_MISC_INIT 1157 select BOARD_LATE_INIT 1158 select CLK 1159 select DM 1160 select DM_GPIO 1161 select DM_RESET 1162 select DM_SERIAL 1163 select OF_CONTROL 1164 select OF_LIBFDT 1165 select PINCTRL 1166 select REGMAP 1167 select SUPPORT_SPL 1168 select SYSCON 1169 select SYSRESET 1170 select SYS_THUMB_BUILD 1171 help 1172 Support for STM32MP SoC family developed by STMicroelectronics, 1173 MPUs based on ARM cortex A core 1174 U-BOOT is running in DDR and SPL support is the unsecure First Stage 1175 BootLoader (FSBL) 1176 1177config ARCH_ROCKCHIP 1178 bool "Support Rockchip SoCs" 1179 select OF_CONTROL 1180 select BLK 1181 select DM 1182 select SPL_DM if SPL 1183 select SYS_MALLOC_F 1184 select SYS_THUMB_BUILD if !ARM64 1185 select SPL_SYS_MALLOC_SIMPLE if SPL 1186 select DM_GPIO 1187 select DM_I2C 1188 select DM_MMC 1189 select DM_SERIAL 1190 select DM_SPI 1191 select DM_SPI_FLASH 1192 select DM_USB if USB 1193 select DM_PWM 1194 select DM_REGULATOR 1195 select ENABLE_ARM_SOC_BOOT0_HOOK 1196 imply CMD_FASTBOOT 1197 imply FASTBOOT 1198 imply FAT_WRITE 1199 imply USB_FUNCTION_FASTBOOT 1200 imply SPL_SYSRESET 1201 imply TPL_SYSRESET 1202 imply ADC 1203 imply SARADC_ROCKCHIP 1204 1205config TARGET_THUNDERX_88XX 1206 bool "Support ThunderX 88xx" 1207 select ARM64 1208 select OF_CONTROL 1209 select SYS_CACHE_SHIFT_7 1210 select PL01X_SERIAL 1211 1212config ARCH_ASPEED 1213 bool "Support Aspeed SoCs" 1214 select OF_CONTROL 1215 select DM 1216 1217endchoice 1218 1219config TI_SECURE_DEVICE 1220 bool "HS Device Type Support" 1221 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS 1222 help 1223 If a high secure (HS) device type is being used, this config 1224 must be set. This option impacts various aspects of the 1225 build system (to create signed boot images that can be 1226 authenticated) and the code. See the doc/README.ti-secure 1227 file for further details. 1228 1229source "arch/arm/mach-aspeed/Kconfig" 1230 1231source "arch/arm/mach-at91/Kconfig" 1232 1233source "arch/arm/mach-bcm283x/Kconfig" 1234 1235source "arch/arm/mach-davinci/Kconfig" 1236 1237source "arch/arm/mach-exynos/Kconfig" 1238 1239source "arch/arm/mach-highbank/Kconfig" 1240 1241source "arch/arm/mach-integrator/Kconfig" 1242 1243source "arch/arm/mach-keystone/Kconfig" 1244 1245source "arch/arm/mach-kirkwood/Kconfig" 1246 1247source "arch/arm/mach-mvebu/Kconfig" 1248 1249source "arch/arm/cpu/armv7/ls102xa/Kconfig" 1250 1251source "arch/arm/mach-imx/mx2/Kconfig" 1252 1253source "arch/arm/mach-imx/mx5/Kconfig" 1254 1255source "arch/arm/mach-imx/mx6/Kconfig" 1256 1257source "arch/arm/mach-imx/mx7/Kconfig" 1258 1259source "arch/arm/mach-imx/mx7ulp/Kconfig" 1260 1261source "arch/arm/mach-imx/mx8m/Kconfig" 1262 1263source "arch/arm/mach-imx/mxs/Kconfig" 1264 1265source "arch/arm/mach-omap2/Kconfig" 1266 1267source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig" 1268 1269source "arch/arm/mach-orion5x/Kconfig" 1270 1271source "arch/arm/mach-rmobile/Kconfig" 1272 1273source "arch/arm/mach-meson/Kconfig" 1274 1275source "arch/arm/mach-qemu/Kconfig" 1276 1277source "arch/arm/mach-rockchip/Kconfig" 1278 1279source "arch/arm/mach-s5pc1xx/Kconfig" 1280 1281source "arch/arm/mach-snapdragon/Kconfig" 1282 1283source "arch/arm/mach-socfpga/Kconfig" 1284 1285source "arch/arm/mach-sti/Kconfig" 1286 1287source "arch/arm/mach-stm32/Kconfig" 1288 1289source "arch/arm/mach-stm32mp/Kconfig" 1290 1291source "arch/arm/mach-sunxi/Kconfig" 1292 1293source "arch/arm/mach-tegra/Kconfig" 1294 1295source "arch/arm/mach-uniphier/Kconfig" 1296 1297source "arch/arm/cpu/armv7/vf610/Kconfig" 1298 1299source "arch/arm/mach-zynq/Kconfig" 1300 1301source "arch/arm/cpu/armv7/Kconfig" 1302 1303source "arch/arm/cpu/armv8/zynqmp/Kconfig" 1304 1305source "arch/arm/cpu/armv8/Kconfig" 1306 1307source "arch/arm/mach-imx/Kconfig" 1308 1309source "board/bosch/shc/Kconfig" 1310source "board/CarMediaLab/flea3/Kconfig" 1311source "board/Marvell/aspenite/Kconfig" 1312source "board/Marvell/gplugd/Kconfig" 1313source "board/armadeus/apf27/Kconfig" 1314source "board/armltd/vexpress/Kconfig" 1315source "board/armltd/vexpress64/Kconfig" 1316source "board/broadcom/bcm23550_w1d/Kconfig" 1317source "board/broadcom/bcm28155_ap/Kconfig" 1318source "board/broadcom/bcmcygnus/Kconfig" 1319source "board/broadcom/bcmnsp/Kconfig" 1320source "board/broadcom/bcmns2/Kconfig" 1321source "board/cavium/thunderx/Kconfig" 1322source "board/cirrus/edb93xx/Kconfig" 1323source "board/eets/pdu001/Kconfig" 1324source "board/freescale/ls2080a/Kconfig" 1325source "board/freescale/ls2080aqds/Kconfig" 1326source "board/freescale/ls2080ardb/Kconfig" 1327source "board/freescale/ls1088a/Kconfig" 1328source "board/freescale/ls1021aqds/Kconfig" 1329source "board/freescale/ls1043aqds/Kconfig" 1330source "board/freescale/ls1021atwr/Kconfig" 1331source "board/freescale/ls1021aiot/Kconfig" 1332source "board/freescale/ls1046aqds/Kconfig" 1333source "board/freescale/ls1043ardb/Kconfig" 1334source "board/freescale/ls1046ardb/Kconfig" 1335source "board/freescale/ls1012aqds/Kconfig" 1336source "board/freescale/ls1012ardb/Kconfig" 1337source "board/freescale/ls1012afrdm/Kconfig" 1338source "board/freescale/mx31ads/Kconfig" 1339source "board/freescale/mx31pdk/Kconfig" 1340source "board/freescale/mx35pdk/Kconfig" 1341source "board/freescale/s32v234evb/Kconfig" 1342source "board/gdsys/a38x/Kconfig" 1343source "board/grinn/chiliboard/Kconfig" 1344source "board/gumstix/pepper/Kconfig" 1345source "board/h2200/Kconfig" 1346source "board/hisilicon/hikey/Kconfig" 1347source "board/hisilicon/poplar/Kconfig" 1348source "board/imx31_phycore/Kconfig" 1349source "board/isee/igep003x/Kconfig" 1350source "board/phytec/pcm051/Kconfig" 1351source "board/silica/pengwyn/Kconfig" 1352source "board/spear/spear300/Kconfig" 1353source "board/spear/spear310/Kconfig" 1354source "board/spear/spear320/Kconfig" 1355source "board/spear/spear600/Kconfig" 1356source "board/spear/x600/Kconfig" 1357source "board/st/stv0991/Kconfig" 1358source "board/tcl/sl50/Kconfig" 1359source "board/birdland/bav335x/Kconfig" 1360source "board/timll/devkit3250/Kconfig" 1361source "board/toradex/colibri_pxa270/Kconfig" 1362source "board/vscom/baltos/Kconfig" 1363source "board/woodburn/Kconfig" 1364source "board/work-microwave/work_92105/Kconfig" 1365source "board/xilinx/zynqmp/Kconfig" 1366source "board/zipitz2/Kconfig" 1367 1368source "arch/arm/Kconfig.debug" 1369 1370endmenu 1371 1372config SPL_LDSCRIPT 1373 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if ARCH_MX23 || ARCH_MX28 1374 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136 1375 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64 1376 1377 1378