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