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