]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - arch/arm/Kconfig
pl01x: Convert CONFIG_PL01X_SERIAL to Kconfig
[people/ms/u-boot.git] / arch / arm / Kconfig
index 79571156cf5af89028a2f600a1f40c4d80a53e1f..30a6f6dc538a9d3886b1b0aadae5ae2902b2f519 100644 (file)
@@ -9,6 +9,52 @@ config ARM64
        select PHYS_64BIT
        select SYS_CACHE_SHIFT_6
 
+if ARM64
+config POSITION_INDEPENDENT
+       bool "Generate position-independent pre-relocation code"
+       help
+         U-Boot expects to be linked to a specific hard-coded address, and to
+         be loaded to and run from that address. This option lifts that
+         restriction, thus allowing the code to be loaded to and executed
+         from almost any address. This logic relies on the relocation
+         information that is embedded into the binary to support U-Boot
+         relocating itself to the top-of-RAM later during execution.
+
+config SYS_INIT_SP_BSS_OFFSET
+       int
+       help
+         U-Boot typically uses a hard-coded value for the stack pointer
+         before relocation. Define this option to instead calculate the
+         initial SP at run-time. This is useful to avoid hard-coding addresses
+         into U-Boot, so that can be loaded and executed at arbitrary
+         addresses and thus avoid using arbitrary addresses at runtime. This
+         option's value is the offset added to &_bss_start in order to
+         calculate the stack pointer. This offset should be large enough so
+         that the early malloc region, global data (gd), and early stack usage
+         do not overlap any appended DTB.
+
+config LINUX_KERNEL_IMAGE_HEADER
+       bool
+       help
+         Place a Linux kernel image header at the start of the U-Boot binary.
+         The format of the header is described in the Linux kernel source at
+         Documentation/arm64/booting.txt. This feature is useful since the
+         image header reports the amount of memory (BSS and similar) that
+         U-Boot needs to use, but which isn't part of the binary.
+
+if LINUX_KERNEL_IMAGE_HEADER
+config LNX_KRNL_IMG_TEXT_OFFSET_BASE
+       hex
+       help
+         The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the
+         TEXT_OFFSET value written in to the Linux kernel image header.
+endif
+endif
+
+config STATIC_RELA
+       bool
+       default y if ARM64 && !POSITION_INDEPENDENT
+
 config DMA_ADDR_T_64BIT
        bool
        default y if ARM64
@@ -106,6 +152,9 @@ config ARM_ERRATA_852421
 config ARM_ERRATA_852423
        bool
 
+config ARM_ERRATA_855873
+       bool
+
 config CPU_ARM720T
        bool
        select SYS_CACHE_SHIFT_5
@@ -299,6 +348,7 @@ config ARCH_AT91
 config TARGET_EDB93XX
        bool "Support edb93xx"
        select CPU_ARM920T
+       select PL010_SERIAL
 
 config TARGET_ASPENITE
        bool "Support aspenite"
@@ -341,17 +391,6 @@ config TARGET_WORK_92105
        select CPU_ARM926EJS
        select SUPPORT_SPL
 
-config TARGET_MX25PDK
-       bool "Support mx25pdk"
-       select BOARD_LATE_INIT
-       select CPU_ARM926EJS
-       select BOARD_EARLY_INIT_F
-
-config TARGET_ZMX25
-       bool "Support zmx25"
-       select BOARD_LATE_INIT
-       select CPU_ARM926EJS
-
 config TARGET_APF27
        bool "Support apf27"
        select CPU_ARM926EJS
@@ -361,49 +400,58 @@ config TARGET_APX4DEVKIT
        bool "Support apx4devkit"
        select CPU_ARM926EJS
        select SUPPORT_SPL
+       select PL011_SERIAL
 
 config TARGET_XFI3
        bool "Support xfi3"
        select CPU_ARM926EJS
        select SUPPORT_SPL
+       select PL011_SERIAL
 
 config TARGET_M28EVK
        bool "Support m28evk"
        select CPU_ARM926EJS
        select SUPPORT_SPL
+       select PL011_SERIAL
 
 config TARGET_MX23EVK
        bool "Support mx23evk"
        select CPU_ARM926EJS
        select SUPPORT_SPL
        select BOARD_EARLY_INIT_F
+       select PL011_SERIAL
 
 config TARGET_MX28EVK
        bool "Support mx28evk"
        select CPU_ARM926EJS
        select SUPPORT_SPL
        select BOARD_EARLY_INIT_F
+       select PL011_SERIAL
 
 config TARGET_MX23_OLINUXINO
        bool "Support mx23_olinuxino"
        select CPU_ARM926EJS
        select SUPPORT_SPL
        select BOARD_EARLY_INIT_F
+       select PL011_SERIAL
 
 config TARGET_BG0900
        bool "Support bg0900"
        select CPU_ARM926EJS
        select SUPPORT_SPL
+       select PL011_SERIAL
 
 config TARGET_SANSA_FUZE_PLUS
        bool "Support sansa_fuze_plus"
        select CPU_ARM926EJS
        select SUPPORT_SPL
+       select PL011_SERIAL
 
 config TARGET_SC_SPS_1
        bool "Support sc_sps_1"
        select CPU_ARM926EJS
        select SUPPORT_SPL
+       select PL011_SERIAL
 
 config ORION5X
        bool "Marvell Orion"
@@ -414,24 +462,28 @@ config TARGET_SPEAR300
        select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
        imply CMD_SAVES
+       select PL011_SERIAL
 
 config TARGET_SPEAR310
        bool "Support spear310"
        select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
        imply CMD_SAVES
+       select PL011_SERIAL
 
 config TARGET_SPEAR320
        bool "Support spear320"
        select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
        imply CMD_SAVES
+       select PL011_SERIAL
 
 config TARGET_SPEAR600
        bool "Support spear600"
        select CPU_ARM926EJS
        select BOARD_EARLY_INIT_F
        imply CMD_SAVES
+       select PL011_SERIAL
 
 config TARGET_STV0991
        bool "Support stv0991"
@@ -441,12 +493,14 @@ config TARGET_STV0991
        select DM_SPI
        select DM_SPI_FLASH
        select SPI_FLASH
+       select PL01X_SERIAL
 
 config TARGET_X600
        bool "Support x600"
        select BOARD_LATE_INIT
        select CPU_ARM926EJS
        select SUPPORT_SPL
+       select PL011_SERIAL
 
 config TARGET_IMX31_PHYCORE
        bool "Support imx31_phycore_eet"
@@ -495,6 +549,7 @@ config ARCH_BCM283X
        select DM_SERIAL
        select DM_GPIO
        select OF_CONTROL
+       select PL01X_SERIAL
        imply FAT_WRITE
 
 config TARGET_VEXPRESS_CA15_TC2
@@ -502,14 +557,17 @@ config TARGET_VEXPRESS_CA15_TC2
        select CPU_V7
        select CPU_V7_HAS_NONSEC
        select CPU_V7_HAS_VIRT
+       select PL011_SERIAL
 
 config TARGET_VEXPRESS_CA5X2
        bool "Support vexpress_ca5x2"
        select CPU_V7
+       select PL011_SERIAL
 
 config TARGET_VEXPRESS_CA9X4
        bool "Support vexpress_ca9x4"
        select CPU_V7
+       select PL011_SERIAL
 
 config TARGET_BCM23550_W1D
        bool "Support bcm23550_w1d"
@@ -568,11 +626,13 @@ config ARCH_S5PC1XX
 config ARCH_HIGHBANK
        bool "Calxeda Highbank"
        select CPU_V7
+       select PL011_SERIAL
 
 config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select DM
        select DM_SERIAL
+       select PL01X_SERIAL
 
 config ARCH_KEYSTONE
        bool "TI Keystone"
@@ -599,6 +659,10 @@ config ARCH_MESON
          targeted at media players and tablet computers. We currently
          support the S905 (GXBaby) 64-bit SoC.
 
+config ARCH_MX25
+       bool "NXP MX25"
+       select CPU_ARM926EJS
+
 config ARCH_MX7ULP
         bool "NXP MX7ULP"
         select CPU_V7
@@ -631,6 +695,13 @@ config ARCH_MX5
        select CPU_V7
        select BOARD_EARLY_INIT_F
 
+config ARCH_QEMU
+       bool "QEMU Virtual Platform"
+       select DM
+       select DM_SERIAL
+       select OF_CONTROL
+       select PL01X_SERIAL
+
 config ARCH_RMOBILE
        bool "Renesas ARM SoCs"
        select DM
@@ -674,6 +745,7 @@ config ARCH_SOCFPGA
 
 config ARCH_SUNXI
        bool "Support sunxi (Allwinner) SoCs"
+       select BINMAN
        select CMD_GPIO
        select CMD_MMC if MMC
        select CMD_USB if DISTRO_DEFAULTS
@@ -690,12 +762,14 @@ config ARCH_SUNXI
        select SPL_SYS_MALLOC_SIMPLE if SPL
        select SYS_NS16550
        select SPL_SYS_THUMB_BUILD if !ARM64
+       select SYS_THUMB_BUILD if !ARM64
        select USB if DISTRO_DEFAULTS
        select USB_STORAGE if DISTRO_DEFAULTS
        select USB_KEYBOARD if DISTRO_DEFAULTS
        select USE_TINY_PRINTF
        imply CMD_GPT
        imply FAT_WRITE
+       imply OF_LIBFDT_OVERLAY
        imply PRE_CONSOLE_BUFFER
        imply SPL_GPIO_SUPPORT
        imply SPL_LIBCOMMON_SUPPORT
@@ -704,13 +778,13 @@ config ARCH_SUNXI
        imply SPL_MMC_SUPPORT if MMC
        imply SPL_POWER_SUPPORT
        imply SPL_SERIAL_SUPPORT
-       imply USB_ETHER
        imply USB_GADGET
 
 config TARGET_TS4600
        bool "Support TS4600"
        select CPU_ARM926EJS
        select SUPPORT_SPL
+       select PL011_SERIAL
 
 config ARCH_VF610
        bool "Freescale Vybrid"
@@ -720,7 +794,7 @@ config ARCH_VF610
        imply NAND
 
 config ARCH_ZYNQ
-       bool "Xilinx Zynq Platform"
+       bool "Xilinx Zynq based platform"
        select BOARD_LATE_INIT
        select CPU_V7
        select SUPPORT_SPL
@@ -746,7 +820,7 @@ config ARCH_ZYNQ
        imply CMD_SPL
 
 config ARCH_ZYNQMP
-       bool "Support Xilinx ZynqMP Platform"
+       bool "Xilinx ZynqMP based platform"
        select ARM64
        select BOARD_LATE_INIT
        select DM
@@ -755,7 +829,7 @@ config ARCH_ZYNQMP
        select SUPPORT_SPL
        select CLK
        select SPL_BOARD_INIT if SPL
-       select SPL_CLK
+       select SPL_CLK if SPL
        select DM_USB if USB
        imply FAT_WRITE
 
@@ -766,15 +840,18 @@ config TEGRA
 config TARGET_VEXPRESS64_AEMV8A
        bool "Support vexpress_aemv8a"
        select ARM64
+       select PL01X_SERIAL
 
 config TARGET_VEXPRESS64_BASE_FVP
        bool "Support Versatile Express ARMv8a FVP BASE model"
        select ARM64
        select SEMIHOSTING
+       select PL01X_SERIAL
 
 config TARGET_VEXPRESS64_BASE_FVP_DRAM
        bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
        select ARM64
+       select PL01X_SERIAL
        help
          This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
          the default config to allow the user to load the images directly into
@@ -784,6 +861,7 @@ config TARGET_VEXPRESS64_BASE_FVP_DRAM
 config TARGET_VEXPRESS64_JUNO
        bool "Support Versatile Express Juno Development Platform"
        select ARM64
+       select PL01X_SERIAL
 
 config TARGET_LS2080A_EMU
        bool "Support ls2080a_emu"
@@ -816,6 +894,7 @@ config TARGET_LS1088AQDS
        select ARMV8_MULTIENTRY
        select ARCH_MISC_INIT
        select BOARD_LATE_INIT
+       select SUPPORT_SPL
        help
          Support for NXP LS1088AQDS platform
          The LS1088A Development System (QDS) is a high-performance
@@ -831,6 +910,7 @@ config TARGET_LS2080AQDS
        select SUPPORT_SPL
        select ARCH_MISC_INIT
        imply SCSI
+       imply SCSI_AHCI
        help
          Support for Freescale LS2080AQDS platform
          The LS2080A Development System (QDS) is a high-performance
@@ -846,6 +926,7 @@ config TARGET_LS2080ARDB
        select SUPPORT_SPL
        select ARCH_MISC_INIT
        imply SCSI
+       imply SCSI_AHCI
        help
          Support for Freescale LS2080ARDB platform.
          The LS2080A Reference design board (RDB) is a high-performance
@@ -873,6 +954,7 @@ config TARGET_HIKEY
        select DM_GPIO
        select DM_SERIAL
        select OF_CONTROL
+       select PL01X_SERIAL
          help
          Support for HiKey 96boards platform. It features a HI6220
          SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
@@ -884,6 +966,7 @@ config TARGET_POPLAR
        select OF_CONTROL
        select DM_SERIAL
        select DM_USB
+       select PL01X_SERIAL
          help
          Support for Poplar 96boards EE platform. It features a HI3798cv200
          SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
@@ -907,12 +990,25 @@ config TARGET_LS1012ARDB
        select ARM64
        select BOARD_LATE_INIT
        imply SCSI
+       imply SCSI_AHCI
        help
          Support for Freescale LS1012ARDB platform.
          The LS1012A Reference design board (RDB) is a high-performance
          development platform that supports the QorIQ LS1012A
          Layerscape Architecture processor.
 
+config TARGET_LS1012A2G5RDB
+       bool "Support ls1012a2g5rdb"
+       select ARCH_LS1012A
+       select ARM64
+       select BOARD_LATE_INIT
+       imply SCSI
+       help
+         Support for Freescale LS1012A2G5RDB platform.
+         The LS1012A 2G5 Reference design board (RDB) is a high-performance
+         development platform that supports the QorIQ LS1012A
+         Layerscape Architecture processor.
+
 config TARGET_LS1012AFRDM
        bool "Support ls1012afrdm"
        select ARCH_LS1012A
@@ -930,6 +1026,7 @@ config TARGET_LS1088ARDB
        select ARMV8_MULTIENTRY
        select ARCH_MISC_INIT
        select BOARD_LATE_INIT
+       select SUPPORT_SPL
        help
          Support for NXP LS1088ARDB platform.
          The LS1088A Reference design board (RDB) is a high-performance
@@ -1110,6 +1207,7 @@ config ARCH_ROCKCHIP
        select DM_USB if USB
        select DM_PWM
        select DM_REGULATOR
+       select ENABLE_ARM_SOC_BOOT0_HOOK
        imply CMD_FASTBOOT
        imply FASTBOOT
        imply FAT_WRITE
@@ -1124,6 +1222,7 @@ config TARGET_THUNDERX_88XX
        select ARM64
        select OF_CONTROL
        select SYS_CACHE_SHIFT_7
+       select PL01X_SERIAL
 
 config ARCH_ASPEED
        bool "Support Aspeed SoCs"
@@ -1154,6 +1253,8 @@ source "arch/arm/mach-mvebu/Kconfig"
 
 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
 
+source "arch/arm/mach-imx/mx2/Kconfig"
+
 source "arch/arm/mach-imx/mx7ulp/Kconfig"
 
 source "arch/arm/mach-imx/mx7/Kconfig"
@@ -1172,6 +1273,8 @@ source "arch/arm/mach-rmobile/Kconfig"
 
 source "arch/arm/mach-meson/Kconfig"
 
+source "arch/arm/mach-qemu/Kconfig"
+
 source "arch/arm/mach-rockchip/Kconfig"
 
 source "arch/arm/mach-s5pc1xx/Kconfig"
@@ -1219,6 +1322,7 @@ source "board/broadcom/bcmns2/Kconfig"
 source "board/cavium/thunderx/Kconfig"
 source "board/cirrus/edb93xx/Kconfig"
 source "board/creative/xfi3/Kconfig"
+source "board/eets/pdu001/Kconfig"
 source "board/freescale/ls2080a/Kconfig"
 source "board/freescale/ls2080aqds/Kconfig"
 source "board/freescale/ls2080ardb/Kconfig"
@@ -1234,7 +1338,6 @@ source "board/freescale/ls1012aqds/Kconfig"
 source "board/freescale/ls1012ardb/Kconfig"
 source "board/freescale/ls1012afrdm/Kconfig"
 source "board/freescale/mx23evk/Kconfig"
-source "board/freescale/mx25pdk/Kconfig"
 source "board/freescale/mx28evk/Kconfig"
 source "board/freescale/mx31ads/Kconfig"
 source "board/freescale/mx31pdk/Kconfig"
@@ -1260,7 +1363,6 @@ source "board/spear/spear320/Kconfig"
 source "board/spear/spear600/Kconfig"
 source "board/spear/x600/Kconfig"
 source "board/st/stv0991/Kconfig"
-source "board/syteco/zmx25/Kconfig"
 source "board/tcl/sl50/Kconfig"
 source "board/birdland/bav335x/Kconfig"
 source "board/timll/devkit3250/Kconfig"