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