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 12config DMA_ADDR_T_64BIT 13 bool 14 default y if ARM64 15 16config HAS_VBAR 17 bool 18 19config HAS_THUMB2 20 bool 21 22# If set, the workarounds for these ARM errata are applied early during U-Boot 23# startup. Note that in general these options force the workarounds to be 24# applied; no CPU-type/version detection exists, unlike the similar options in 25# the Linux kernel. Do not set these options unless they apply! Also note that 26# the following can be machine specific errata. These do have ability to 27# provide rudimentary version and machine specific checks, but expect no 28# product checks: 29# CONFIG_ARM_ERRATA_430973 30# CONFIG_ARM_ERRATA_454179 31# CONFIG_ARM_ERRATA_621766 32# CONFIG_ARM_ERRATA_798870 33# CONFIG_ARM_ERRATA_801819 34config ARM_ERRATA_430973 35 bool 36 37config ARM_ERRATA_454179 38 bool 39 40config ARM_ERRATA_621766 41 bool 42 43config ARM_ERRATA_716044 44 bool 45 46config ARM_ERRATA_725233 47 bool 48 49config ARM_ERRATA_742230 50 bool 51 52config ARM_ERRATA_743622 53 bool 54 55config ARM_ERRATA_751472 56 bool 57 58config ARM_ERRATA_761320 59 bool 60 61config ARM_ERRATA_773022 62 bool 63 64config ARM_ERRATA_774769 65 bool 66 67config ARM_ERRATA_794072 68 bool 69 70config ARM_ERRATA_798870 71 bool 72 73config ARM_ERRATA_801819 74 bool 75 76config ARM_ERRATA_826974 77 bool 78 79config ARM_ERRATA_828024 80 bool 81 82config ARM_ERRATA_829520 83 bool 84 85config ARM_ERRATA_833069 86 bool 87 88config ARM_ERRATA_833471 89 bool 90 91config CPU_ARM720T 92 bool 93 select SYS_CACHE_SHIFT_5 94 95config CPU_ARM920T 96 bool 97 select SYS_CACHE_SHIFT_5 98 99config CPU_ARM926EJS 100 bool 101 select SYS_CACHE_SHIFT_5 102 103config CPU_ARM946ES 104 bool 105 select SYS_CACHE_SHIFT_5 106 107config CPU_ARM1136 108 bool 109 select SYS_CACHE_SHIFT_5 110 111config CPU_ARM1176 112 bool 113 select HAS_VBAR 114 select SYS_CACHE_SHIFT_5 115 116config CPU_V7 117 bool 118 select HAS_VBAR 119 select HAS_THUMB2 120 select SYS_CACHE_SHIFT_6 121 122config CPU_V7M 123 bool 124 select HAS_THUMB2 125 select SYS_CACHE_SHIFT_5 126 127config CPU_PXA 128 bool 129 select SYS_CACHE_SHIFT_5 130 131config CPU_SA1100 132 bool 133 select SYS_CACHE_SHIFT_5 134 135config SYS_CPU 136 default "arm720t" if CPU_ARM720T 137 default "arm920t" if CPU_ARM920T 138 default "arm926ejs" if CPU_ARM926EJS 139 default "arm946es" if CPU_ARM946ES 140 default "arm1136" if CPU_ARM1136 141 default "arm1176" if CPU_ARM1176 142 default "armv7" if CPU_V7 143 default "armv7m" if CPU_V7M 144 default "pxa" if CPU_PXA 145 default "sa1100" if CPU_SA1100 146 default "armv8" if ARM64 147 148config SYS_ARM_ARCH 149 int 150 default 4 if CPU_ARM720T 151 default 4 if CPU_ARM920T 152 default 5 if CPU_ARM926EJS 153 default 5 if CPU_ARM946ES 154 default 6 if CPU_ARM1136 155 default 6 if CPU_ARM1176 156 default 7 if CPU_V7 157 default 7 if CPU_V7M 158 default 5 if CPU_PXA 159 default 4 if CPU_SA1100 160 default 8 if ARM64 161 162config SYS_CACHE_SHIFT_5 163 bool 164 165config SYS_CACHE_SHIFT_6 166 bool 167 168config SYS_CACHE_SHIFT_7 169 bool 170 171config SYS_CACHELINE_SIZE 172 int 173 default 128 if SYS_CACHE_SHIFT_7 174 default 64 if SYS_CACHE_SHIFT_6 175 default 32 if SYS_CACHE_SHIFT_5 176 177config SEMIHOSTING 178 bool "support boot from semihosting" 179 help 180 In emulated environments, semihosting is a way for 181 the hosted environment to call out to the emulator to 182 retrieve files from the host machine. 183 184config SYS_THUMB_BUILD 185 bool "Build U-Boot using the Thumb instruction set" 186 depends on !ARM64 187 help 188 Use this flag to build U-Boot using the Thumb instruction set for 189 ARM architectures. Thumb instruction set provides better code 190 density. For ARM architectures that support Thumb2 this flag will 191 result in Thumb2 code generated by GCC. 192 193config SPL_SYS_THUMB_BUILD 194 bool "Build SPL using the Thumb instruction set" 195 default y if SYS_THUMB_BUILD 196 depends on !ARM64 197 help 198 Use this flag to build SPL using the Thumb instruction set for 199 ARM architectures. Thumb instruction set provides better code 200 density. For ARM architectures that support Thumb2 this flag will 201 result in Thumb2 code generated by GCC. 202 203config SYS_L2CACHE_OFF 204 bool "L2cache off" 205 help 206 If SoC does not support L2CACHE or one do not want to enable 207 L2CACHE, choose this option. 208 209config ENABLE_ARM_SOC_BOOT0_HOOK 210 bool "prepare BOOT0 header" 211 help 212 If the SoC's BOOT0 requires a header area filled with (magic) 213 values, then choose this option, and create a define called 214 ARM_SOC_BOOT0_HOOK which contains the required assembler 215 preprocessor code. 216 217config USE_ARCH_MEMCPY 218 bool "Use an assembly optimized implementation of memcpy" 219 default y 220 depends on !ARM64 221 help 222 Enable the generation of an optimized version of memcpy. 223 Such implementation may be faster under some conditions 224 but may increase the binary size. 225 226config SPL_USE_ARCH_MEMCPY 227 bool "Use an assembly optimized implementation of memcpy" 228 default y if USE_ARCH_MEMCPY 229 depends on !ARM64 230 help 231 Enable the generation of an optimized version of memcpy. 232 Such implementation may be faster under some conditions 233 but may increase the binary size. 234 235config USE_ARCH_MEMSET 236 bool "Use an assembly optimized implementation of memset" 237 default y 238 depends on !ARM64 239 help 240 Enable the generation of an optimized version of memset. 241 Such implementation may be faster under some conditions 242 but may increase the binary size. 243 244config SPL_USE_ARCH_MEMSET 245 bool "Use an assembly optimized implementation of memset" 246 default y if USE_ARCH_MEMSET 247 depends on !ARM64 248 help 249 Enable the generation of an optimized version of memset. 250 Such implementation may be faster under some conditions 251 but may increase the binary size. 252 253config ARCH_OMAP2 254 bool 255 select CPU_V7 256 select SUPPORT_SPL 257 258config ARM64_SUPPORT_AARCH32 259 bool "ARM64 system support AArch32 execution state" 260 default y if ARM64 && !TARGET_THUNDERX_88XX 261 help 262 This ARM64 system supports AArch32 execution state. 263 264choice 265 prompt "Target select" 266 default TARGET_HIKEY 267 268config ARCH_AT91 269 bool "Atmel AT91" 270 271config TARGET_EDB93XX 272 bool "Support edb93xx" 273 select CPU_ARM920T 274 275config TARGET_ASPENITE 276 bool "Support aspenite" 277 select CPU_ARM926EJS 278 279config TARGET_GPLUGD 280 bool "Support gplugd" 281 select CPU_ARM926EJS 282 283config ARCH_DAVINCI 284 bool "TI DaVinci" 285 select CPU_ARM926EJS 286 help 287 Support for TI's DaVinci platform. 288 289config KIRKWOOD 290 bool "Marvell Kirkwood" 291 select CPU_ARM926EJS 292 select BOARD_EARLY_INIT_F 293 select ARCH_MISC_INIT 294 295config ARCH_MVEBU 296 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)" 297 select OF_CONTROL 298 select OF_SEPARATE 299 select DM 300 select DM_ETH 301 select DM_SERIAL 302 select DM_SPI 303 select DM_SPI_FLASH 304 305config TARGET_DEVKIT3250 306 bool "Support devkit3250" 307 select CPU_ARM926EJS 308 select SUPPORT_SPL 309 310config TARGET_WORK_92105 311 bool "Support work_92105" 312 select CPU_ARM926EJS 313 select SUPPORT_SPL 314 315config TARGET_MX25PDK 316 bool "Support mx25pdk" 317 select BOARD_LATE_INIT 318 select CPU_ARM926EJS 319 select BOARD_EARLY_INIT_F 320 321config TARGET_ZMX25 322 bool "Support zmx25" 323 select BOARD_LATE_INIT 324 select CPU_ARM926EJS 325 326config TARGET_APF27 327 bool "Support apf27" 328 select CPU_ARM926EJS 329 select SUPPORT_SPL 330 331config TARGET_APX4DEVKIT 332 bool "Support apx4devkit" 333 select CPU_ARM926EJS 334 select SUPPORT_SPL 335 336config TARGET_XFI3 337 bool "Support xfi3" 338 select CPU_ARM926EJS 339 select SUPPORT_SPL 340 341config TARGET_M28EVK 342 bool "Support m28evk" 343 select CPU_ARM926EJS 344 select SUPPORT_SPL 345 346config TARGET_MX23EVK 347 bool "Support mx23evk" 348 select CPU_ARM926EJS 349 select SUPPORT_SPL 350 select BOARD_EARLY_INIT_F 351 352config TARGET_MX28EVK 353 bool "Support mx28evk" 354 select CPU_ARM926EJS 355 select SUPPORT_SPL 356 select BOARD_EARLY_INIT_F 357 358config TARGET_MX23_OLINUXINO 359 bool "Support mx23_olinuxino" 360 select CPU_ARM926EJS 361 select SUPPORT_SPL 362 select BOARD_EARLY_INIT_F 363 364config TARGET_BG0900 365 bool "Support bg0900" 366 select CPU_ARM926EJS 367 select SUPPORT_SPL 368 369config TARGET_SANSA_FUZE_PLUS 370 bool "Support sansa_fuze_plus" 371 select CPU_ARM926EJS 372 select SUPPORT_SPL 373 374config TARGET_SC_SPS_1 375 bool "Support sc_sps_1" 376 select CPU_ARM926EJS 377 select SUPPORT_SPL 378 379config ORION5X 380 bool "Marvell Orion" 381 select CPU_ARM926EJS 382 383config TARGET_SPEAR300 384 bool "Support spear300" 385 select CPU_ARM926EJS 386 select BOARD_EARLY_INIT_F 387 388config TARGET_SPEAR310 389 bool "Support spear310" 390 select CPU_ARM926EJS 391 select BOARD_EARLY_INIT_F 392 393config TARGET_SPEAR320 394 bool "Support spear320" 395 select CPU_ARM926EJS 396 select BOARD_EARLY_INIT_F 397 398config TARGET_SPEAR600 399 bool "Support spear600" 400 select CPU_ARM926EJS 401 select BOARD_EARLY_INIT_F 402 403config TARGET_STV0991 404 bool "Support stv0991" 405 select CPU_V7 406 select DM 407 select DM_SERIAL 408 select DM_SPI 409 select DM_SPI_FLASH 410 select SPI_FLASH 411 412config TARGET_X600 413 bool "Support x600" 414 select BOARD_LATE_INIT 415 select CPU_ARM926EJS 416 select SUPPORT_SPL 417 418config TARGET_IMX31_PHYCORE 419 bool "Support imx31_phycore_eet" 420 select CPU_ARM1136 421 select BOARD_EARLY_INIT_F 422 423config TARGET_IMX31_PHYCORE_EET 424 bool "Support imx31_phycore_eet" 425 select BOARD_LATE_INIT 426 select CPU_ARM1136 427 select BOARD_EARLY_INIT_F 428 429config TARGET_MX31ADS 430 bool "Support mx31ads" 431 select CPU_ARM1136 432 select BOARD_EARLY_INIT_F 433 434config TARGET_MX31PDK 435 bool "Support mx31pdk" 436 select BOARD_LATE_INIT 437 select CPU_ARM1136 438 select SUPPORT_SPL 439 select BOARD_EARLY_INIT_F 440 441config TARGET_WOODBURN 442 bool "Support woodburn" 443 select CPU_ARM1136 444 445config TARGET_WOODBURN_SD 446 bool "Support woodburn_sd" 447 select CPU_ARM1136 448 select SUPPORT_SPL 449 450config TARGET_FLEA3 451 bool "Support flea3" 452 select CPU_ARM1136 453 454config TARGET_MX35PDK 455 bool "Support mx35pdk" 456 select BOARD_LATE_INIT 457 select CPU_ARM1136 458 459config ARCH_BCM283X 460 bool "Broadcom BCM283X family" 461 select DM 462 select DM_SERIAL 463 select DM_GPIO 464 select OF_CONTROL 465 466config TARGET_VEXPRESS_CA15_TC2 467 bool "Support vexpress_ca15_tc2" 468 select CPU_V7 469 select CPU_V7_HAS_NONSEC 470 select CPU_V7_HAS_VIRT 471 472config TARGET_VEXPRESS_CA5X2 473 bool "Support vexpress_ca5x2" 474 select CPU_V7 475 476config TARGET_VEXPRESS_CA9X4 477 bool "Support vexpress_ca9x4" 478 select CPU_V7 479 480config TARGET_BRXRE1 481 bool "Support BRXRE1" 482 select ARCH_OMAP2 483 select BOARD_LATE_INIT 484 485config TARGET_BRPPT1 486 bool "Support BRPPT1" 487 select ARCH_OMAP2 488 select BOARD_LATE_INIT 489 490config TARGET_DRACO 491 bool "Support draco" 492 select ARCH_OMAP2 493 select BOARD_LATE_INIT 494 select DM 495 select DM_SERIAL 496 select DM_GPIO 497 498config TARGET_THUBAN 499 bool "Support thuban" 500 select ARCH_OMAP2 501 select BOARD_LATE_INIT 502 select DM 503 select DM_SERIAL 504 select DM_GPIO 505 506config TARGET_RASTABAN 507 bool "Support rastaban" 508 select ARCH_OMAP2 509 select BOARD_LATE_INIT 510 select DM 511 select DM_SERIAL 512 select DM_GPIO 513 514config TARGET_ETAMIN 515 bool "Support etamin" 516 select ARCH_OMAP2 517 select BOARD_LATE_INIT 518 select DM 519 select DM_SERIAL 520 select DM_GPIO 521 522config TARGET_PXM2 523 bool "Support pxm2" 524 select ARCH_OMAP2 525 select BOARD_LATE_INIT 526 select DM 527 select DM_SERIAL 528 select DM_GPIO 529 530config TARGET_RUT 531 bool "Support rut" 532 select ARCH_OMAP2 533 select BOARD_LATE_INIT 534 select DM 535 select DM_SERIAL 536 select DM_GPIO 537 538config TARGET_TI814X_EVM 539 bool "Support ti814x_evm" 540 select ARCH_OMAP2 541 542config TARGET_TI816X_EVM 543 bool "Support ti816x_evm" 544 select ARCH_OMAP2 545 546config TARGET_BCM23550_W1D 547 bool "Support bcm23550_w1d" 548 select CPU_V7 549 550config TARGET_BCM28155_AP 551 bool "Support bcm28155_ap" 552 select CPU_V7 553 554config TARGET_BCMCYGNUS 555 bool "Support bcmcygnus" 556 select CPU_V7 557 558config TARGET_BCMNSP 559 bool "Support bcmnsp" 560 select CPU_V7 561 562config TARGET_BCMNS2 563 bool "Support Broadcom Northstar2" 564 select ARM64 565 help 566 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit 567 ARMv8 Cortex-A57 processors targeting a broad range of networking 568 applications 569 570config ARCH_EXYNOS 571 bool "Samsung EXYNOS" 572 select DM 573 select DM_I2C 574 select DM_SPI_FLASH 575 select DM_SERIAL 576 select DM_SPI 577 select DM_GPIO 578 select DM_KEYBOARD 579 580config ARCH_S5PC1XX 581 bool "Samsung S5PC1XX" 582 select CPU_V7 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_V7 591 592config ARCH_INTEGRATOR 593 bool "ARM Ltd. Integrator family" 594 select DM 595 select DM_SERIAL 596 597config ARCH_KEYSTONE 598 bool "TI Keystone" 599 select CPU_V7 600 select SUPPORT_SPL 601 select SYS_THUMB_BUILD 602 select CMD_POWEROFF 603 604config ARCH_MESON 605 bool "Amlogic Meson" 606 help 607 Support for the Meson SoC family developed by Amlogic Inc., 608 targeted at media players and tablet computers. We currently 609 support the S905 (GXBaby) 64-bit SoC. 610 611config ARCH_MX7ULP 612 bool "NXP MX7ULP" 613 select CPU_V7 614 select ROM_UNIFIED_SECTIONS 615 616config ARCH_MX7 617 bool "Freescale MX7" 618 select CPU_V7 619 select SYS_FSL_HAS_SEC if SECURE_BOOT 620 select SYS_FSL_SEC_COMPAT_4 621 select SYS_FSL_SEC_LE 622 select BOARD_EARLY_INIT_F 623 select ARCH_MISC_INIT 624 625config ARCH_MX6 626 bool "Freescale MX6" 627 select CPU_V7 628 select SYS_FSL_HAS_SEC if SECURE_BOOT 629 select SYS_FSL_SEC_COMPAT_4 630 select SYS_FSL_SEC_LE 631 select SYS_THUMB_BUILD if SPL 632 633config ARCH_MX5 634 bool "Freescale MX5" 635 select CPU_V7 636 select BOARD_EARLY_INIT_F 637 638config TARGET_M53EVK 639 bool "Support m53evk" 640 select CPU_V7 641 select SUPPORT_SPL 642 select BOARD_EARLY_INIT_F 643 644config TARGET_MX51EVK 645 bool "Support mx51evk" 646 select BOARD_LATE_INIT 647 select CPU_V7 648 select BOARD_EARLY_INIT_F 649 650config TARGET_MX53ARD 651 bool "Support mx53ard" 652 select CPU_V7 653 select BOARD_EARLY_INIT_F 654 655config TARGET_MX53EVK 656 bool "Support mx53evk" 657 select BOARD_LATE_INIT 658 select CPU_V7 659 select BOARD_EARLY_INIT_F 660 661config TARGET_MX53LOCO 662 bool "Support mx53loco" 663 select BOARD_LATE_INIT 664 select CPU_V7 665 select BOARD_EARLY_INIT_F 666 667config TARGET_MX53SMD 668 bool "Support mx53smd" 669 select CPU_V7 670 select BOARD_EARLY_INIT_F 671 672config OMAP34XX 673 bool "OMAP34XX SoC" 674 select ARCH_OMAP2 675 select ARM_ERRATA_430973 676 select ARM_ERRATA_454179 677 select ARM_ERRATA_621766 678 select ARM_ERRATA_725233 679 select USE_TINY_PRINTF 680 imply SPL_EXT_SUPPORT 681 imply SPL_FAT_SUPPORT 682 imply SPL_GPIO_SUPPORT 683 imply SPL_I2C_SUPPORT 684 imply SPL_LIBCOMMON_SUPPORT 685 imply SPL_LIBDISK_SUPPORT 686 imply SPL_LIBGENERIC_SUPPORT 687 imply SPL_MMC_SUPPORT 688 imply SPL_NAND_SUPPORT 689 imply SPL_POWER_SUPPORT 690 imply SPL_SERIAL_SUPPORT 691 imply SYS_THUMB_BUILD 692 693config OMAP44XX 694 bool "OMAP44XX SoC" 695 select ARCH_OMAP2 696 select USE_TINY_PRINTF 697 imply SPL_DISPLAY_PRINT 698 imply SPL_EXT_SUPPORT 699 imply SPL_FAT_SUPPORT 700 imply SPL_GPIO_SUPPORT 701 imply SPL_I2C_SUPPORT 702 imply SPL_LIBCOMMON_SUPPORT 703 imply SPL_LIBDISK_SUPPORT 704 imply SPL_LIBGENERIC_SUPPORT 705 imply SPL_MMC_SUPPORT 706 imply SPL_NAND_SUPPORT 707 imply SPL_POWER_SUPPORT 708 imply SPL_SERIAL_SUPPORT 709 imply SYS_THUMB_BUILD 710 711config OMAP54XX 712 bool "OMAP54XX SoC" 713 select ARCH_OMAP2 714 select ARM_ERRATA_798870 715 select SYS_THUMB_BUILD 716 imply SPL_DISPLAY_PRINT 717 imply SPL_ENV_SUPPORT 718 imply SPL_EXT_SUPPORT 719 imply SPL_FAT_SUPPORT 720 imply SPL_GPIO_SUPPORT 721 imply SPL_I2C_SUPPORT 722 imply SPL_LIBCOMMON_SUPPORT 723 imply SPL_LIBDISK_SUPPORT 724 imply SPL_LIBGENERIC_SUPPORT 725 imply SPL_MMC_SUPPORT 726 imply SPL_NAND_SUPPORT 727 imply SPL_POWER_SUPPORT 728 imply SPL_SERIAL_SUPPORT 729 730config AM43XX 731 bool "AM43XX SoC" 732 select ARCH_OMAP2 733 imply SPL_DM 734 imply SPL_DM_SEQ_ALIAS 735 imply SPL_OF_CONTROL 736 imply SPL_OF_TRANSLATE 737 imply SPL_SEPARATE_BSS 738 imply SPL_SYS_MALLOC_SIMPLE 739 imply SYS_THUMB_BUILD 740 help 741 Support for AM43xx SOC from Texas Instruments. 742 The AM43xx high performance SOC features a Cortex-A9 743 ARM core, a quad core PRU-ICSS for industrial Ethernet 744 protocols, dual camera support, optional 3D graphics 745 and an optional customer programmable secure boot. 746 747config AM33XX 748 bool "AM33XX SoC" 749 select ARCH_OMAP2 750 imply SYS_THUMB_BUILD 751 help 752 Support for AM335x SOC from Texas Instruments. 753 The AM335x high performance SOC features a Cortex-A8 754 ARM core, a dual core PRU-ICSS for industrial Ethernet 755 protocols, optional 3D graphics and an optional customer 756 programmable secure boot. 757 758config ARCH_RMOBILE 759 bool "Renesas ARM SoCs" 760 select DM 761 select DM_SERIAL 762 select BOARD_EARLY_INIT_F 763 imply SYS_THUMB_BUILD 764 765config TARGET_S32V234EVB 766 bool "Support s32v234evb" 767 select ARM64 768 select SYS_FSL_ERRATUM_ESDHC111 769 770config ARCH_SNAPDRAGON 771 bool "Qualcomm Snapdragon SoCs" 772 select ARM64 773 select DM 774 select DM_GPIO 775 select DM_SERIAL 776 select SPMI 777 select OF_CONTROL 778 select OF_SEPARATE 779 780config ARCH_SOCFPGA 781 bool "Altera SOCFPGA family" 782 select CPU_V7 783 select SUPPORT_SPL 784 select OF_CONTROL 785 select SPL_OF_CONTROL 786 select DM 787 select DM_SPI_FLASH 788 select DM_SPI 789 select ENABLE_ARM_SOC_BOOT0_HOOK 790 select ARCH_EARLY_INIT_R 791 select ARCH_MISC_INIT 792 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 793 select SYS_THUMB_BUILD 794 795config TARGET_CM_T43 796 bool "Support cm_t43" 797 select ARCH_OMAP2 798 799config ARCH_SUNXI 800 bool "Support sunxi (Allwinner) SoCs" 801 select CMD_GPIO 802 select CMD_MMC if MMC 803 select CMD_USB if DISTRO_DEFAULTS 804 select DM 805 select DM_ETH 806 select DM_GPIO 807 select DM_KEYBOARD 808 select DM_SERIAL 809 select DM_USB if DISTRO_DEFAULTS 810 select OF_BOARD_SETUP 811 select OF_CONTROL 812 select OF_SEPARATE 813 select SPL_STACK_R if SUPPORT_SPL 814 select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL 815 select SYS_NS16550 816 select SPL_SYS_THUMB_BUILD if !ARM64 817 select USB if DISTRO_DEFAULTS 818 select USB_STORAGE if DISTRO_DEFAULTS 819 select USB_KEYBOARD if DISTRO_DEFAULTS 820 select USE_TINY_PRINTF 821 822config TARGET_TS4600 823 bool "Support TS4600" 824 select CPU_ARM926EJS 825 select SUPPORT_SPL 826 827config TARGET_TS4800 828 bool "Support TS4800" 829 select CPU_V7 830 select SYS_FSL_ERRATUM_ESDHC_A001 831 832config ARCH_VF610 833 bool "Freescale Vybrid" 834 select CPU_V7 835 select SYS_FSL_ERRATUM_ESDHC111 836 837config ARCH_ZYNQ 838 bool "Xilinx Zynq Platform" 839 select BOARD_LATE_INIT 840 select CPU_V7 841 select SUPPORT_SPL 842 select OF_CONTROL 843 select SPL_OF_CONTROL if SPL 844 select DM 845 select DM_ETH 846 select DM_GPIO 847 select SPL_DM if SPL 848 select DM_MMC 849 select DM_MMC_OPS 850 select DM_SPI 851 select DM_SERIAL 852 select DM_SPI_FLASH 853 select SPL_SEPARATE_BSS if SPL 854 select DM_USB if USB 855 select BLK 856 select CLK 857 select SPL_CLK 858 select CLK_ZYNQ 859 860config ARCH_ZYNQMP 861 bool "Support Xilinx ZynqMP Platform" 862 select ARM64 863 select BOARD_LATE_INIT 864 select DM 865 select OF_CONTROL 866 select DM_SERIAL 867 select SUPPORT_SPL 868 select CLK 869 select SPL_CLK 870 select DM_USB if USB 871 872config TEGRA 873 bool "NVIDIA Tegra" 874 875config TARGET_VEXPRESS64_AEMV8A 876 bool "Support vexpress_aemv8a" 877 select ARM64 878 879config TARGET_VEXPRESS64_BASE_FVP 880 bool "Support Versatile Express ARMv8a FVP BASE model" 881 select ARM64 882 select SEMIHOSTING 883 884config TARGET_VEXPRESS64_BASE_FVP_DRAM 885 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM" 886 select ARM64 887 help 888 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides 889 the default config to allow the user to load the images directly into 890 DRAM using model parameters rather than by using semi-hosting to load 891 the files from the host filesystem. 892 893config TARGET_VEXPRESS64_JUNO 894 bool "Support Versatile Express Juno Development Platform" 895 select ARM64 896 897config TARGET_LS2080A_EMU 898 bool "Support ls2080a_emu" 899 select ARCH_LS2080A 900 select ARM64 901 select ARMV8_MULTIENTRY 902 select ARCH_MISC_INIT 903 help 904 Support for Freescale LS2080A_EMU platform 905 The LS2080A Development System (EMULATOR) is a pre silicon 906 development platform that supports the QorIQ LS2080A 907 Layerscape Architecture processor. 908 909config TARGET_LS2080A_SIMU 910 bool "Support ls2080a_simu" 911 select ARCH_LS2080A 912 select ARM64 913 select ARMV8_MULTIENTRY 914 select ARCH_MISC_INIT 915 help 916 Support for Freescale LS2080A_SIMU platform 917 The LS2080A Development System (QDS) is a pre silicon 918 development platform that supports the QorIQ LS2080A 919 Layerscape Architecture processor. 920 921config TARGET_LS2080AQDS 922 bool "Support ls2080aqds" 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 LS2080AQDS platform 931 The LS2080A Development System (QDS) is a high-performance 932 development platform that supports the QorIQ LS2080A 933 Layerscape Architecture processor. 934 935config TARGET_LS2080ARDB 936 bool "Support ls2080ardb" 937 select ARCH_LS2080A 938 select ARM64 939 select ARMV8_MULTIENTRY 940 select BOARD_LATE_INIT 941 select SUPPORT_SPL 942 select ARCH_MISC_INIT 943 help 944 Support for Freescale LS2080ARDB platform. 945 The LS2080A Reference design board (RDB) is a high-performance 946 development platform that supports the QorIQ LS2080A 947 Layerscape Architecture processor. 948 949config TARGET_HIKEY 950 bool "Support HiKey 96boards Consumer Edition Platform" 951 select ARM64 952 select DM 953 select DM_GPIO 954 select DM_SERIAL 955 select OF_CONTROL 956 help 957 Support for HiKey 96boards platform. It features a HI6220 958 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM. 959 960config TARGET_LS1012AQDS 961 bool "Support ls1012aqds" 962 select ARCH_LS1012A 963 select ARM64 964 select BOARD_LATE_INIT 965 help 966 Support for Freescale LS1012AQDS platform. 967 The LS1012A Development System (QDS) is a high-performance 968 development platform that supports the QorIQ LS1012A 969 Layerscape Architecture processor. 970 971config TARGET_LS1012ARDB 972 bool "Support ls1012ardb" 973 select ARCH_LS1012A 974 select ARM64 975 select BOARD_LATE_INIT 976 help 977 Support for Freescale LS1012ARDB platform. 978 The LS1012A Reference design board (RDB) is a high-performance 979 development platform that supports the QorIQ LS1012A 980 Layerscape Architecture processor. 981 982config TARGET_LS1012AFRDM 983 bool "Support ls1012afrdm" 984 select ARCH_LS1012A 985 select ARM64 986 help 987 Support for Freescale LS1012AFRDM platform. 988 The LS1012A Freedom board (FRDM) is a high-performance 989 development platform that supports the QorIQ LS1012A 990 Layerscape Architecture processor. 991 992config TARGET_LS1021AQDS 993 bool "Support ls1021aqds" 994 select BOARD_LATE_INIT 995 select CPU_V7 996 select CPU_V7_HAS_NONSEC 997 select CPU_V7_HAS_VIRT 998 select SUPPORT_SPL 999 select ARCH_LS1021A 1000 select ARCH_SUPPORT_PSCI 1001 select LS1_DEEP_SLEEP 1002 select SYS_FSL_DDR 1003 select BOARD_EARLY_INIT_F 1004 1005config TARGET_LS1021ATWR 1006 bool "Support ls1021atwr" 1007 select BOARD_LATE_INIT 1008 select CPU_V7 1009 select CPU_V7_HAS_NONSEC 1010 select CPU_V7_HAS_VIRT 1011 select SUPPORT_SPL 1012 select ARCH_LS1021A 1013 select ARCH_SUPPORT_PSCI 1014 select LS1_DEEP_SLEEP 1015 select BOARD_EARLY_INIT_F 1016 1017config TARGET_LS1021AIOT 1018 bool "Support ls1021aiot" 1019 select BOARD_LATE_INIT 1020 select CPU_V7 1021 select CPU_V7_HAS_NONSEC 1022 select CPU_V7_HAS_VIRT 1023 select SUPPORT_SPL 1024 select ARCH_LS1021A 1025 select ARCH_SUPPORT_PSCI 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 help 1041 Support for Freescale LS1043AQDS platform. 1042 1043config TARGET_LS1043ARDB 1044 bool "Support ls1043ardb" 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 help 1052 Support for Freescale LS1043ARDB platform. 1053 1054config TARGET_LS1046AQDS 1055 bool "Support ls1046aqds" 1056 select ARCH_LS1046A 1057 select ARM64 1058 select ARMV8_MULTIENTRY 1059 select BOARD_LATE_INIT 1060 select SUPPORT_SPL 1061 select DM_SPI_FLASH if DM_SPI 1062 select BOARD_EARLY_INIT_F 1063 help 1064 Support for Freescale LS1046AQDS platform. 1065 The LS1046A Development System (QDS) is a high-performance 1066 development platform that supports the QorIQ LS1046A 1067 Layerscape Architecture processor. 1068 1069config TARGET_LS1046ARDB 1070 bool "Support ls1046ardb" 1071 select ARCH_LS1046A 1072 select ARM64 1073 select ARMV8_MULTIENTRY 1074 select BOARD_LATE_INIT 1075 select SUPPORT_SPL 1076 select DM_SPI_FLASH if DM_SPI 1077 select POWER_MC34VR500 1078 select BOARD_EARLY_INIT_F 1079 help 1080 Support for Freescale LS1046ARDB platform. 1081 The LS1046A Reference Design Board (RDB) is a high-performance 1082 development platform that supports the QorIQ LS1046A 1083 Layerscape Architecture processor. 1084 1085config TARGET_H2200 1086 bool "Support h2200" 1087 select CPU_PXA 1088 1089config TARGET_ZIPITZ2 1090 bool "Support zipitz2" 1091 select CPU_PXA 1092 1093config TARGET_COLIBRI_PXA270 1094 bool "Support colibri_pxa270" 1095 select CPU_PXA 1096 1097config ARCH_UNIPHIER 1098 bool "Socionext UniPhier SoCs" 1099 select BOARD_LATE_INIT 1100 select CLK_UNIPHIER 1101 select DM 1102 select DM_GPIO 1103 select DM_I2C 1104 select DM_MMC 1105 select DM_RESET 1106 select DM_SERIAL 1107 select DM_USB 1108 select OF_CONTROL 1109 select OF_LIBFDT 1110 select PINCTRL 1111 select SPL_DM if SPL 1112 select SPL_LIBCOMMON_SUPPORT if SPL 1113 select SPL_LIBGENERIC_SUPPORT if SPL 1114 select SPL_OF_CONTROL if SPL 1115 select SPL_PINCTRL if SPL 1116 select SUPPORT_SPL 1117 help 1118 Support for UniPhier SoC family developed by Socionext Inc. 1119 (formerly, System LSI Business Division of Panasonic Corporation) 1120 1121config STM32 1122 bool "Support STM32" 1123 select CPU_V7M 1124 select DM 1125 select DM_SERIAL 1126 select SYS_THUMB_BUILD 1127 1128config ARCH_STI 1129 bool "Support STMicrolectronics SoCs" 1130 select CPU_V7 1131 select DM 1132 select DM_SERIAL 1133 select BLK 1134 select DM_MMC 1135 help 1136 Support for STMicroelectronics STiH407/10 SoC family. 1137 This SoC is used on Linaro 96Board STiH410-B2260 1138 1139config ARCH_ROCKCHIP 1140 bool "Support Rockchip SoCs" 1141 select OF_CONTROL 1142 select BLK 1143 select DM 1144 select SPL_DM if SPL 1145 select SYS_MALLOC_F 1146 select SYS_THUMB_BUILD if !ARM64 1147 select SPL_SYS_MALLOC_SIMPLE if SPL 1148 select DM_GPIO 1149 select DM_I2C 1150 select DM_MMC 1151 select DM_MMC_OPS 1152 select DM_SERIAL 1153 select DM_SPI 1154 select DM_SPI_FLASH 1155 select DM_USB if USB 1156 select DM_PWM 1157 select DM_REGULATOR 1158 1159config TARGET_THUNDERX_88XX 1160 bool "Support ThunderX 88xx" 1161 select ARM64 1162 select OF_CONTROL 1163 select SYS_CACHE_SHIFT_7 1164 1165config ARCH_ASPEED 1166 bool "Support Aspeed SoCs" 1167 select OF_CONTROL 1168 select DM 1169 1170endchoice 1171 1172source "arch/arm/mach-aspeed/Kconfig" 1173 1174source "arch/arm/mach-at91/Kconfig" 1175 1176source "arch/arm/mach-bcm283x/Kconfig" 1177 1178source "arch/arm/mach-davinci/Kconfig" 1179 1180source "arch/arm/mach-exynos/Kconfig" 1181 1182source "arch/arm/mach-highbank/Kconfig" 1183 1184source "arch/arm/mach-integrator/Kconfig" 1185 1186source "arch/arm/mach-keystone/Kconfig" 1187 1188source "arch/arm/mach-kirkwood/Kconfig" 1189 1190source "arch/arm/mach-mvebu/Kconfig" 1191 1192source "arch/arm/cpu/armv7/ls102xa/Kconfig" 1193 1194source "arch/arm/cpu/armv7/mx7ulp/Kconfig" 1195 1196source "arch/arm/cpu/armv7/mx7/Kconfig" 1197 1198source "arch/arm/cpu/armv7/mx6/Kconfig" 1199 1200source "arch/arm/cpu/armv7/mx5/Kconfig" 1201 1202source "arch/arm/mach-omap2/Kconfig" 1203 1204source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig" 1205 1206source "arch/arm/mach-orion5x/Kconfig" 1207 1208source "arch/arm/mach-rmobile/Kconfig" 1209 1210source "arch/arm/mach-meson/Kconfig" 1211 1212source "arch/arm/mach-rockchip/Kconfig" 1213 1214source "arch/arm/mach-s5pc1xx/Kconfig" 1215 1216source "arch/arm/mach-snapdragon/Kconfig" 1217 1218source "arch/arm/mach-socfpga/Kconfig" 1219 1220source "arch/arm/mach-sti/Kconfig" 1221 1222source "arch/arm/mach-stm32/Kconfig" 1223 1224source "arch/arm/mach-tegra/Kconfig" 1225 1226source "arch/arm/mach-uniphier/Kconfig" 1227 1228source "arch/arm/cpu/armv7/vf610/Kconfig" 1229 1230source "arch/arm/mach-zynq/Kconfig" 1231 1232source "arch/arm/cpu/armv7/Kconfig" 1233 1234source "arch/arm/cpu/armv8/zynqmp/Kconfig" 1235 1236source "arch/arm/cpu/armv8/Kconfig" 1237 1238source "arch/arm/imx-common/Kconfig" 1239 1240source "board/bosch/shc/Kconfig" 1241source "board/BuR/brxre1/Kconfig" 1242source "board/BuR/brppt1/Kconfig" 1243source "board/CarMediaLab/flea3/Kconfig" 1244source "board/Marvell/aspenite/Kconfig" 1245source "board/Marvell/gplugd/Kconfig" 1246source "board/armadeus/apf27/Kconfig" 1247source "board/armltd/vexpress/Kconfig" 1248source "board/armltd/vexpress64/Kconfig" 1249source "board/bluegiga/apx4devkit/Kconfig" 1250source "board/broadcom/bcm23550_w1d/Kconfig" 1251source "board/broadcom/bcm28155_ap/Kconfig" 1252source "board/broadcom/bcmcygnus/Kconfig" 1253source "board/broadcom/bcmnsp/Kconfig" 1254source "board/broadcom/bcmns2/Kconfig" 1255source "board/cavium/thunderx/Kconfig" 1256source "board/cirrus/edb93xx/Kconfig" 1257source "board/compulab/cm_t335/Kconfig" 1258source "board/compulab/cm_t43/Kconfig" 1259source "board/creative/xfi3/Kconfig" 1260source "board/denx/m28evk/Kconfig" 1261source "board/denx/m53evk/Kconfig" 1262source "board/freescale/ls2080a/Kconfig" 1263source "board/freescale/ls2080aqds/Kconfig" 1264source "board/freescale/ls2080ardb/Kconfig" 1265source "board/freescale/ls1021aqds/Kconfig" 1266source "board/freescale/ls1043aqds/Kconfig" 1267source "board/freescale/ls1021atwr/Kconfig" 1268source "board/freescale/ls1021aiot/Kconfig" 1269source "board/freescale/ls1046aqds/Kconfig" 1270source "board/freescale/ls1043ardb/Kconfig" 1271source "board/freescale/ls1046ardb/Kconfig" 1272source "board/freescale/ls1012aqds/Kconfig" 1273source "board/freescale/ls1012ardb/Kconfig" 1274source "board/freescale/ls1012afrdm/Kconfig" 1275source "board/freescale/mx23evk/Kconfig" 1276source "board/freescale/mx25pdk/Kconfig" 1277source "board/freescale/mx28evk/Kconfig" 1278source "board/freescale/mx31ads/Kconfig" 1279source "board/freescale/mx31pdk/Kconfig" 1280source "board/freescale/mx35pdk/Kconfig" 1281source "board/freescale/mx51evk/Kconfig" 1282source "board/freescale/mx53ard/Kconfig" 1283source "board/freescale/mx53evk/Kconfig" 1284source "board/freescale/mx53loco/Kconfig" 1285source "board/freescale/mx53smd/Kconfig" 1286source "board/freescale/s32v234evb/Kconfig" 1287source "board/gdsys/a38x/Kconfig" 1288source "board/grinn/chiliboard/Kconfig" 1289source "board/gumstix/pepper/Kconfig" 1290source "board/h2200/Kconfig" 1291source "board/hisilicon/hikey/Kconfig" 1292source "board/imx31_phycore/Kconfig" 1293source "board/isee/igep0033/Kconfig" 1294source "board/olimex/mx23_olinuxino/Kconfig" 1295source "board/phytec/pcm051/Kconfig" 1296source "board/ppcag/bg0900/Kconfig" 1297source "board/sandisk/sansa_fuze_plus/Kconfig" 1298source "board/schulercontrol/sc_sps_1/Kconfig" 1299source "board/siemens/draco/Kconfig" 1300source "board/siemens/pxm2/Kconfig" 1301source "board/siemens/rut/Kconfig" 1302source "board/silica/pengwyn/Kconfig" 1303source "board/spear/spear300/Kconfig" 1304source "board/spear/spear310/Kconfig" 1305source "board/spear/spear320/Kconfig" 1306source "board/spear/spear600/Kconfig" 1307source "board/spear/x600/Kconfig" 1308source "board/st/stv0991/Kconfig" 1309source "board/sunxi/Kconfig" 1310source "board/syteco/zmx25/Kconfig" 1311source "board/tcl/sl50/Kconfig" 1312source "board/ti/am335x/Kconfig" 1313source "board/ti/am43xx/Kconfig" 1314source "board/birdland/bav335x/Kconfig" 1315source "board/ti/ti814x/Kconfig" 1316source "board/ti/ti816x/Kconfig" 1317source "board/timll/devkit3250/Kconfig" 1318source "board/toradex/colibri_pxa270/Kconfig" 1319source "board/technologic/ts4600/Kconfig" 1320source "board/technologic/ts4800/Kconfig" 1321source "board/vscom/baltos/Kconfig" 1322source "board/woodburn/Kconfig" 1323source "board/work-microwave/work_92105/Kconfig" 1324source "board/zipitz2/Kconfig" 1325 1326source "arch/arm/Kconfig.debug" 1327 1328endmenu 1329