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