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