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