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