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