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