X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=arch%2Farm%2FKconfig;h=95553bee9df3895b68332a43ff9ad35d40bd602b;hb=6f6b7cfa89e5aa3b643196a4ccc8b1ba5d6fa7a4;hp=83b7aa51dc2c22b5c365cd8091daed9ae1e1186a;hpb=bb3d9ed3a9efc64cf05295167cddfe0adf2fb7d9;p=oweals%2Fu-boot.git diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 83b7aa51dc..95553bee9d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -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 @@ -238,9 +287,8 @@ config ENABLE_ARM_SOC_BOOT0_HOOK bool "prepare BOOT0 header" help If the SoC's BOOT0 requires a header area filled with (magic) - values, then choose this option, and create a define called - ARM_SOC_BOOT0_HOOK which contains the required assembler - preprocessor code. + values, then choose this option, and create a file included as + which contains the required assembler code. config ARM_CORTEX_CPU_IS_UP bool @@ -299,6 +347,7 @@ config ARCH_AT91 config TARGET_EDB93XX bool "Support edb93xx" select CPU_ARM920T + select PL010_SERIAL config TARGET_ASPENITE bool "Support aspenite" @@ -341,70 +390,11 @@ 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 select SUPPORT_SPL -config TARGET_APX4DEVKIT - bool "Support apx4devkit" - select CPU_ARM926EJS - select SUPPORT_SPL - -config TARGET_XFI3 - bool "Support xfi3" - select CPU_ARM926EJS - select SUPPORT_SPL - -config TARGET_M28EVK - bool "Support m28evk" - select CPU_ARM926EJS - select SUPPORT_SPL - -config TARGET_MX23EVK - bool "Support mx23evk" - select CPU_ARM926EJS - select SUPPORT_SPL - select BOARD_EARLY_INIT_F - -config TARGET_MX28EVK - bool "Support mx28evk" - select CPU_ARM926EJS - select SUPPORT_SPL - select BOARD_EARLY_INIT_F - -config TARGET_MX23_OLINUXINO - bool "Support mx23_olinuxino" - select CPU_ARM926EJS - select SUPPORT_SPL - select BOARD_EARLY_INIT_F - -config TARGET_BG0900 - bool "Support bg0900" - select CPU_ARM926EJS - select SUPPORT_SPL - -config TARGET_SANSA_FUZE_PLUS - bool "Support sansa_fuze_plus" - select CPU_ARM926EJS - select SUPPORT_SPL - -config TARGET_SC_SPS_1 - bool "Support sc_sps_1" - select CPU_ARM926EJS - select SUPPORT_SPL - config ORION5X bool "Marvell Orion" select CPU_ARM926EJS @@ -414,24 +404,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 +435,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 +491,8 @@ config ARCH_BCM283X select DM_SERIAL select DM_GPIO select OF_CONTROL + select PL01X_SERIAL + select SERIAL_SEARCH_ALL imply FAT_WRITE config TARGET_VEXPRESS_CA15_TC2 @@ -502,14 +500,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 +569,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,10 +602,34 @@ config ARCH_MESON targeted at media players and tablet computers. We currently support the S905 (GXBaby) 64-bit SoC. +config ARCH_MX8M + bool "NXP i.MX8M platform" + select ARM64 + select DM + select SUPPORT_SPL + +config ARCH_MX23 + bool "NXP i.MX23 family" + select CPU_ARM926EJS + select PL011_SERIAL + select SUPPORT_SPL + +config ARCH_MX25 + bool "NXP MX25" + select CPU_ARM926EJS + imply MXC_GPIO + +config ARCH_MX28 + bool "NXP i.MX28 family" + select CPU_ARM926EJS + select PL011_SERIAL + select SUPPORT_SPL + config ARCH_MX7ULP bool "NXP MX7ULP" select CPU_V7 select ROM_UNIFIED_SECTIONS + imply MXC_GPIO config ARCH_MX7 bool "Freescale MX7" @@ -612,6 +639,7 @@ config ARCH_MX7 select SYS_FSL_SEC_LE select BOARD_EARLY_INIT_F select ARCH_MISC_INIT + imply MXC_GPIO config ARCH_MX6 bool "Freescale MX6" @@ -620,6 +648,7 @@ config ARCH_MX6 select SYS_FSL_SEC_COMPAT_4 select SYS_FSL_SEC_LE select SYS_THUMB_BUILD if SPL + imply MXC_GPIO if ARCH_MX6 config SPL_LDSCRIPT @@ -630,14 +659,14 @@ config ARCH_MX5 bool "Freescale MX5" select CPU_V7 select BOARD_EARLY_INIT_F + imply MXC_GPIO config ARCH_QEMU bool "QEMU Virtual Platform" - select CPU_V7 - select ARCH_SUPPORT_PSCI select DM select DM_SERIAL select OF_CONTROL + select PL01X_SERIAL config ARCH_RMOBILE bool "Renesas ARM SoCs" @@ -669,19 +698,21 @@ config ARCH_SOCFPGA select OF_CONTROL select SPL_OF_CONTROL select DM - select DM_SPI_FLASH - select DM_SPI select ENABLE_ARM_SOC_BOOT0_HOOK select ARCH_EARLY_INIT_R select ARCH_MISC_INIT - select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION select SYS_THUMB_BUILD imply CMD_MTDPARTS imply CRC32_VERIFY + imply DM_SPI + imply DM_SPI_FLASH imply FAT_WRITE + imply HW_WATCHDOG + imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION config ARCH_SUNXI bool "Support sunxi (Allwinner) SoCs" + select BINMAN select CMD_GPIO select CMD_MMC if MMC select CMD_USB if DISTRO_DEFAULTS @@ -694,6 +725,7 @@ config ARCH_SUNXI select OF_BOARD_SETUP select OF_CONTROL select OF_SEPARATE + select SPECIFY_CONSOLE_INDEX select SPL_STACK_R if SPL select SPL_SYS_MALLOC_SIMPLE if SPL select SYS_NS16550 @@ -705,6 +737,7 @@ config ARCH_SUNXI 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 @@ -715,11 +748,6 @@ config ARCH_SUNXI imply SPL_SERIAL_SUPPORT imply USB_GADGET -config TARGET_TS4600 - bool "Support TS4600" - select CPU_ARM926EJS - select SUPPORT_SPL - config ARCH_VF610 bool "Freescale Vybrid" select CPU_V7 @@ -728,7 +756,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 @@ -736,25 +764,23 @@ config ARCH_ZYNQ select SPL_BOARD_INIT if SPL select SPL_OF_CONTROL if SPL select DM - select DM_ETH - select DM_GPIO + select DM_ETH if NET select SPL_DM if SPL - select DM_MMC + select DM_MMC if MMC select DM_SPI select DM_SERIAL select DM_SPI_FLASH select SPL_SEPARATE_BSS if SPL select DM_USB if USB - select BLK select CLK - select SPL_CLK + select SPL_CLK if SPL select CLK_ZYNQ imply CMD_CLK imply FAT_WRITE imply CMD_SPL config ARCH_ZYNQMP - bool "Support Xilinx ZynqMP Platform" + bool "Xilinx ZynqMP based platform" select ARM64 select BOARD_LATE_INIT select DM @@ -763,7 +789,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 @@ -774,15 +800,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 @@ -792,6 +821,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" @@ -824,6 +854,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 @@ -839,6 +870,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 @@ -854,6 +886,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 @@ -881,6 +914,8 @@ config TARGET_HIKEY select DM_GPIO select DM_SERIAL select OF_CONTROL + select PL01X_SERIAL + select SPECIFY_CONSOLE_INDEX help Support for HiKey 96boards platform. It features a HI6220 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM. @@ -892,6 +927,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 @@ -915,12 +951,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 @@ -938,6 +987,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 @@ -1118,6 +1168,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 @@ -1132,6 +1183,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" @@ -1140,6 +1192,16 @@ config ARCH_ASPEED endchoice +config TI_SECURE_DEVICE + bool "HS Device Type Support" + depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS + help + If a high secure (HS) device type is being used, this config + must be set. This option impacts various aspects of the + build system (to create signed boot images that can be + authenticated) and the code. See the doc/README.ti-secure + file for further details. + source "arch/arm/mach-aspeed/Kconfig" source "arch/arm/mach-at91/Kconfig" @@ -1162,13 +1224,19 @@ source "arch/arm/mach-mvebu/Kconfig" source "arch/arm/cpu/armv7/ls102xa/Kconfig" -source "arch/arm/mach-imx/mx7ulp/Kconfig" +source "arch/arm/mach-imx/mx2/Kconfig" -source "arch/arm/mach-imx/mx7/Kconfig" +source "arch/arm/mach-imx/mx5/Kconfig" source "arch/arm/mach-imx/mx6/Kconfig" -source "arch/arm/mach-imx/mx5/Kconfig" +source "arch/arm/mach-imx/mx7/Kconfig" + +source "arch/arm/mach-imx/mx7ulp/Kconfig" + +source "arch/arm/mach-imx/mx8m/Kconfig" + +source "arch/arm/mach-imx/mxs/Kconfig" source "arch/arm/mach-omap2/Kconfig" @@ -1212,7 +1280,6 @@ source "arch/arm/cpu/armv8/Kconfig" source "arch/arm/mach-imx/Kconfig" -source "board/aries/m28evk/Kconfig" source "board/bosch/shc/Kconfig" source "board/CarMediaLab/flea3/Kconfig" source "board/Marvell/aspenite/Kconfig" @@ -1220,7 +1287,6 @@ source "board/Marvell/gplugd/Kconfig" source "board/armadeus/apf27/Kconfig" source "board/armltd/vexpress/Kconfig" source "board/armltd/vexpress64/Kconfig" -source "board/bluegiga/apx4devkit/Kconfig" source "board/broadcom/bcm23550_w1d/Kconfig" source "board/broadcom/bcm28155_ap/Kconfig" source "board/broadcom/bcmcygnus/Kconfig" @@ -1228,7 +1294,7 @@ source "board/broadcom/bcmnsp/Kconfig" 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" @@ -1243,9 +1309,6 @@ source "board/freescale/ls1046ardb/Kconfig" 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" source "board/freescale/mx35pdk/Kconfig" @@ -1258,11 +1321,7 @@ source "board/hisilicon/hikey/Kconfig" source "board/hisilicon/poplar/Kconfig" source "board/imx31_phycore/Kconfig" source "board/isee/igep003x/Kconfig" -source "board/olimex/mx23_olinuxino/Kconfig" source "board/phytec/pcm051/Kconfig" -source "board/ppcag/bg0900/Kconfig" -source "board/sandisk/sansa_fuze_plus/Kconfig" -source "board/schulercontrol/sc_sps_1/Kconfig" source "board/silica/pengwyn/Kconfig" source "board/spear/spear300/Kconfig" source "board/spear/spear310/Kconfig" @@ -1270,12 +1329,10 @@ 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" source "board/toradex/colibri_pxa270/Kconfig" -source "board/technologic/ts4600/Kconfig" source "board/vscom/baltos/Kconfig" source "board/woodburn/Kconfig" source "board/work-microwave/work_92105/Kconfig" @@ -1286,7 +1343,7 @@ source "arch/arm/Kconfig.debug" endmenu config SPL_LDSCRIPT - default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if TARGET_APX4DEVKIT || TARGET_BG0900 || TARGET_M28EVK || TARGET_MX23_OLINUXINO || TARGET_MX23EVK || TARGET_MX28EVK || TARGET_SANSA_FUZE_PLUS || TARGET_SC_SPS_1 || TARGET_TS4600 || TARGET_XFI3 + default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if ARCH_MX23 || ARCH_MX28 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64