diff options
Diffstat (limited to 'arch')
45 files changed, 265 insertions, 161 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index ffc7b453794..76c690f6675 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -12,6 +12,7 @@ config ARC bool "ARC architecture" select HAVE_PRIVATE_LIBGCC select SUPPORT_OF_CONTROL + select ARCH_EARLY_INIT_R config ARM bool "ARM architecture" @@ -25,6 +26,7 @@ config AVR32 config BLACKFIN bool "Blackfin architecture" + select ARCH_MISC_INIT config M68K bool "M68000 architecture" @@ -60,6 +62,7 @@ config PPC config SANDBOX bool "Sandbox" + select BOARD_LATE_INIT select SUPPORT_OF_CONTROL select DM select DM_KEYBOARD diff --git a/arch/arc/include/asm/config.h b/arch/arc/include/asm/config.h index d2d791988e2..7aaa5c29127 100644 --- a/arch/arc/include/asm/config.h +++ b/arch/arc/include/asm/config.h @@ -8,7 +8,6 @@ #define __ASM_ARC_CONFIG_H_ #define CONFIG_SYS_BOOT_RAMDISK_HIGH -#define CONFIG_ARCH_EARLY_INIT_R #define CONFIG_LMB diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2554a2cd14b..c04adfbe503 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -201,6 +201,8 @@ config ARCH_DAVINCI config KIRKWOOD bool "Marvell Kirkwood" select CPU_ARM926EJS + select BOARD_EARLY_INIT_F + select ARCH_MISC_INIT config ARCH_MVEBU bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)" @@ -224,10 +226,13 @@ config TARGET_WORK_92105 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 @@ -254,16 +259,19 @@ 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" @@ -287,18 +295,22 @@ config ORION5X config TARGET_SPEAR300 bool "Support spear300" select CPU_ARM926EJS + select BOARD_EARLY_INIT_F config TARGET_SPEAR310 bool "Support spear310" select CPU_ARM926EJS + select BOARD_EARLY_INIT_F config TARGET_SPEAR320 bool "Support spear320" select CPU_ARM926EJS + select BOARD_EARLY_INIT_F config TARGET_SPEAR600 bool "Support spear600" select CPU_ARM926EJS + select BOARD_EARLY_INIT_F config TARGET_STV0991 bool "Support stv0991" @@ -311,21 +323,32 @@ config TARGET_STV0991 config TARGET_X600 bool "Support x600" + select BOARD_LATE_INIT select CPU_ARM926EJS select SUPPORT_SPL config TARGET_IMX31_PHYCORE - bool "Support imx31_phycore" + bool "Support imx31_phycore_eet" select CPU_ARM1136 + select BOARD_EARLY_INIT_F + +config TARGET_IMX31_PHYCORE_EET + bool "Support imx31_phycore_eet" + select BOARD_LATE_INIT + select CPU_ARM1136 + select BOARD_EARLY_INIT_F config TARGET_MX31ADS bool "Support mx31ads" select CPU_ARM1136 + select BOARD_EARLY_INIT_F config TARGET_MX31PDK bool "Support mx31pdk" + select BOARD_LATE_INIT select CPU_ARM1136 select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_WOODBURN bool "Support woodburn" @@ -342,6 +365,7 @@ config TARGET_FLEA3 config TARGET_MX35PDK bool "Support mx35pdk" + select BOARD_LATE_INIT select CPU_ARM1136 config ARCH_BCM283X @@ -368,14 +392,17 @@ config TARGET_VEXPRESS_CA9X4 config TARGET_BRXRE1 bool "Support BRXRE1" select ARCH_OMAP2 + select BOARD_LATE_INIT config TARGET_BRPPT1 bool "Support BRPPT1" select ARCH_OMAP2 + select BOARD_LATE_INIT config TARGET_DRACO bool "Support draco" select ARCH_OMAP2 + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO @@ -383,6 +410,7 @@ config TARGET_DRACO config TARGET_THUBAN bool "Support thuban" select ARCH_OMAP2 + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO @@ -390,6 +418,7 @@ config TARGET_THUBAN config TARGET_RASTABAN bool "Support rastaban" select ARCH_OMAP2 + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO @@ -397,6 +426,7 @@ config TARGET_RASTABAN config TARGET_ETAMIN bool "Support etamin" select ARCH_OMAP2 + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO @@ -404,6 +434,7 @@ config TARGET_ETAMIN config TARGET_PXM2 bool "Support pxm2" select ARCH_OMAP2 + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO @@ -411,6 +442,7 @@ config TARGET_PXM2 config TARGET_RUT bool "Support rut" select ARCH_OMAP2 + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO @@ -485,6 +517,8 @@ config ARCH_MX7 select SYS_FSL_HAS_SEC if SECURE_BOOT select SYS_FSL_SEC_COMPAT_4 select SYS_FSL_SEC_LE + select BOARD_EARLY_INIT_F + select ARCH_MISC_INIT config ARCH_MX6 bool "Freescale MX6" @@ -496,31 +530,41 @@ config ARCH_MX6 config ARCH_MX5 bool "Freescale MX5" select CPU_V7 + select BOARD_EARLY_INIT_F config TARGET_M53EVK bool "Support m53evk" select CPU_V7 select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_MX51EVK bool "Support mx51evk" + select BOARD_LATE_INIT select CPU_V7 + select BOARD_EARLY_INIT_F config TARGET_MX53ARD bool "Support mx53ard" select CPU_V7 + select BOARD_EARLY_INIT_F config TARGET_MX53EVK bool "Support mx53evk" + select BOARD_LATE_INIT select CPU_V7 + select BOARD_EARLY_INIT_F config TARGET_MX53LOCO bool "Support mx53loco" + select BOARD_LATE_INIT select CPU_V7 + select BOARD_EARLY_INIT_F config TARGET_MX53SMD bool "Support mx53smd" select CPU_V7 + select BOARD_EARLY_INIT_F config OMAP34XX bool "OMAP34XX SoC" @@ -560,6 +604,7 @@ config ARCH_RMOBILE bool "Renesas ARM SoCs" select DM select DM_SERIAL + select BOARD_EARLY_INIT_F config TARGET_S32V234EVB bool "Support s32v234evb" @@ -586,6 +631,8 @@ config ARCH_SOCFPGA select DM_SPI_FLASH select DM_SPI select ENABLE_ARM_SOC_BOOT0_HOOK + select ARCH_EARLY_INIT_R + select ARCH_MISC_INIT config TARGET_CM_T43 bool "Support cm_t43" @@ -630,6 +677,7 @@ config TARGET_VF610TWR config TARGET_COLIBRI_VF bool "Support Colibri VF50/61" + select BOARD_LATE_INIT select CPU_V7 select SYS_FSL_ERRATUM_ESDHC111 @@ -649,6 +697,7 @@ config TARGET_BK4R1 config ARCH_ZYNQ bool "Xilinx Zynq Platform" + select BOARD_LATE_INIT select CPU_V7 select SUPPORT_SPL select OF_CONTROL @@ -669,6 +718,7 @@ config ARCH_ZYNQ config ARCH_ZYNQMP bool "Support Xilinx ZynqMP Platform" select ARM64 + select BOARD_LATE_INIT select DM select OF_CONTROL select DM_SERIAL @@ -707,6 +757,7 @@ config TARGET_LS2080A_EMU select ARCH_LS2080A select ARM64 select ARMV8_MULTIENTRY + select ARCH_MISC_INIT help Support for Freescale LS2080A_EMU platform The LS2080A Development System (EMULATOR) is a pre silicon @@ -718,6 +769,7 @@ config TARGET_LS2080A_SIMU select ARCH_LS2080A select ARM64 select ARMV8_MULTIENTRY + select ARCH_MISC_INIT help Support for Freescale LS2080A_SIMU platform The LS2080A Development System (QDS) is a pre silicon @@ -729,7 +781,9 @@ config TARGET_LS2080AQDS select ARCH_LS2080A select ARM64 select ARMV8_MULTIENTRY + select BOARD_LATE_INIT select SUPPORT_SPL + select ARCH_MISC_INIT help Support for Freescale LS2080AQDS platform The LS2080A Development System (QDS) is a high-performance @@ -741,7 +795,9 @@ config TARGET_LS2080ARDB select ARCH_LS2080A select ARM64 select ARMV8_MULTIENTRY + select BOARD_LATE_INIT select SUPPORT_SPL + select ARCH_MISC_INIT help Support for Freescale LS2080ARDB platform. The LS2080A Reference design board (RDB) is a high-performance @@ -763,6 +819,7 @@ config TARGET_LS1012AQDS bool "Support ls1012aqds" select ARCH_LS1012A select ARM64 + select BOARD_LATE_INIT help Support for Freescale LS1012AQDS platform. The LS1012A Development System (QDS) is a high-performance @@ -773,6 +830,7 @@ config TARGET_LS1012ARDB bool "Support ls1012ardb" select ARCH_LS1012A select ARM64 + select BOARD_LATE_INIT help Support for Freescale LS1012ARDB platform. The LS1012A Reference design board (RDB) is a high-performance @@ -791,6 +849,7 @@ config TARGET_LS1012AFRDM config TARGET_LS1021AQDS bool "Support ls1021aqds" + select BOARD_LATE_INIT select CPU_V7 select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT @@ -799,9 +858,11 @@ config TARGET_LS1021AQDS select ARCH_SUPPORT_PSCI select LS1_DEEP_SLEEP select SYS_FSL_DDR + select BOARD_EARLY_INIT_F config TARGET_LS1021ATWR bool "Support ls1021atwr" + select BOARD_LATE_INIT select CPU_V7 select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT @@ -809,9 +870,11 @@ config TARGET_LS1021ATWR select ARCH_LS1021A select ARCH_SUPPORT_PSCI select LS1_DEEP_SLEEP + select BOARD_EARLY_INIT_F config TARGET_LS1021AIOT bool "Support ls1021aiot" + select BOARD_LATE_INIT select CPU_V7 select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT @@ -829,7 +892,9 @@ config TARGET_LS1043AQDS select ARCH_LS1043A select ARM64 select ARMV8_MULTIENTRY + select BOARD_LATE_INIT select SUPPORT_SPL + select BOARD_EARLY_INIT_F help Support for Freescale LS1043AQDS platform. @@ -838,7 +903,9 @@ config TARGET_LS1043ARDB select ARCH_LS1043A select ARM64 select ARMV8_MULTIENTRY + select BOARD_LATE_INIT select SUPPORT_SPL + select BOARD_EARLY_INIT_F help Support for Freescale LS1043ARDB platform. @@ -847,8 +914,10 @@ config TARGET_LS1046AQDS select ARCH_LS1046A select ARM64 select ARMV8_MULTIENTRY + select BOARD_LATE_INIT select SUPPORT_SPL select DM_SPI_FLASH if DM_SPI + select BOARD_EARLY_INIT_F help Support for Freescale LS1046AQDS platform. The LS1046A Development System (QDS) is a high-performance @@ -860,9 +929,11 @@ config TARGET_LS1046ARDB select ARCH_LS1046A select ARM64 select ARMV8_MULTIENTRY + select BOARD_LATE_INIT select SUPPORT_SPL select DM_SPI_FLASH if DM_SPI select POWER_MC34VR500 + select BOARD_EARLY_INIT_F help Support for Freescale LS1046ARDB platform. The LS1046A Reference Design Board (RDB) is a high-performance @@ -883,6 +954,7 @@ config TARGET_COLIBRI_PXA270 config ARCH_UNIPHIER bool "Socionext UniPhier SoCs" + select BOARD_LATE_INIT select CLK_UNIPHIER select DM select DM_GPIO diff --git a/arch/arm/cpu/armv7/mx5/Kconfig b/arch/arm/cpu/armv7/mx5/Kconfig index 5fb55135abc..7b55747612a 100644 --- a/arch/arm/cpu/armv7/mx5/Kconfig +++ b/arch/arm/cpu/armv7/mx5/Kconfig @@ -20,6 +20,7 @@ config TARGET_USBARMORY config TARGET_MX53CX9020 bool "Support CX9020" + select BOARD_LATE_INIT select CPU_V7 select MX53 select DM diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig index c646966f754..3b0409122ed 100644 --- a/arch/arm/cpu/armv7/mx6/Kconfig +++ b/arch/arm/cpu/armv7/mx6/Kconfig @@ -53,10 +53,12 @@ choice config TARGET_ADVANTECH_DMS_BA16 bool "Advantech dms-ba16" + select BOARD_LATE_INIT select MX6Q config TARGET_APALIS_IMX6 bool "Toradex Apalis iMX6 board" + select BOARD_LATE_INIT select SUPPORT_SPL select DM select DM_SERIAL @@ -67,12 +69,15 @@ config TARGET_ARISTAINETOS config TARGET_ARISTAINETOS2 bool "aristainetos2" + select BOARD_LATE_INIT config TARGET_ARISTAINETOS2B bool "Support aristainetos2-revB" + select BOARD_LATE_INIT config TARGET_CGTQMX6EVAL bool "cgtqmx6eval" + select BOARD_LATE_INIT select SUPPORT_SPL select DM select DM_THERMAL @@ -86,6 +91,7 @@ config TARGET_CM_FX6 config TARGET_COLIBRI_IMX6 bool "Toradex Colibri iMX6 board" + select BOARD_LATE_INIT select SUPPORT_SPL select DM select DM_SERIAL @@ -93,17 +99,21 @@ config TARGET_COLIBRI_IMX6 config TARGET_EMBESTMX6BOARDS bool "embestmx6boards" + select BOARD_LATE_INIT config TARGET_GE_B450V3 bool "General Electric B450v3" + select BOARD_LATE_INIT select MX6Q config TARGET_GE_B650V3 bool "General Electric B650v3" + select BOARD_LATE_INIT select MX6Q config TARGET_GE_B850V3 bool "General Electric B850v3" + select BOARD_LATE_INIT select MX6Q config TARGET_GW_VENTANA @@ -112,10 +122,12 @@ config TARGET_GW_VENTANA config TARGET_KOSAGI_NOVENA bool "Kosagi Novena" + select BOARD_LATE_INIT select SUPPORT_SPL config TARGET_MX6CUBOXI bool "Solid-run mx6 boards" + select BOARD_LATE_INIT select SUPPORT_SPL config TARGET_MX6QARM2 @@ -147,14 +159,18 @@ config TARGET_MX6Q_ICORE_RQS config TARGET_MX6QSABREAUTO bool "mx6qsabreauto" + select BOARD_LATE_INIT select DM select DM_THERMAL + select BOARD_EARLY_INIT_F config TARGET_MX6SABRESD bool "mx6sabresd" + select BOARD_LATE_INIT select SUPPORT_SPL select DM select DM_THERMAL + select BOARD_EARLY_INIT_F config TARGET_MX6SLEVK bool "mx6slevk" @@ -162,6 +178,7 @@ config TARGET_MX6SLEVK config TARGET_MX6SLLEVK bool "mx6sll evk" + select BOARD_LATE_INIT select MX6SLL select DM select DM_THERMAL @@ -172,21 +189,26 @@ config TARGET_MX6SXSABRESD select SUPPORT_SPL select DM select DM_THERMAL + select BOARD_EARLY_INIT_F config TARGET_MX6SXSABREAUTO bool "mx6sxsabreauto" + select BOARD_LATE_INIT select MX6SX select DM select DM_THERMAL + select BOARD_EARLY_INIT_F config TARGET_MX6UL_9X9_EVK bool "mx6ul_9x9_evk" + select BOARD_LATE_INIT select MX6UL select DM select DM_THERMAL select SUPPORT_SPL config TARGET_MX6UL_14X14_EVK + select BOARD_LATE_INIT bool "mx6ul_14x14_evk" select MX6UL select DM @@ -207,6 +229,7 @@ config TARGET_MX6UL_GEAM config TARGET_MX6ULL_14X14_EVK bool "Support mx6ull_14x14_evk" + select BOARD_LATE_INIT select MX6ULL select DM select DM_THERMAL @@ -224,6 +247,7 @@ config TARGET_PICO_IMX6UL config TARGET_LITEBOARD bool "Grinn liteBoard (i.MX6UL)" + select BOARD_LATE_INIT select LITESOM config TARGET_PLATINUM_PICON @@ -236,6 +260,7 @@ config TARGET_PLATINUM_TITANIUM config TARGET_PCM058 bool "Phytec PCM058 i.MX6 Quad" + select BOARD_LATE_INIT select SUPPORT_SPL config TARGET_SECOMX6 @@ -249,13 +274,16 @@ config TARGET_TITANIUM config TARGET_TQMA6 bool "TQ Systems TQMa6 board" + select BOARD_LATE_INIT config TARGET_UDOO bool "udoo" + select BOARD_LATE_INIT select SUPPORT_SPL config TARGET_UDOO_NEO bool "UDOO Neo" + select BOARD_LATE_INIT select SUPPORT_SPL select MX6SX select DM @@ -263,19 +291,23 @@ config TARGET_UDOO_NEO config TARGET_SAMTEC_VINING_2000 bool "samtec VIN|ING 2000" + select BOARD_LATE_INIT select MX6SX select DM select DM_THERMAL config TARGET_WANDBOARD bool "wandboard" + select BOARD_LATE_INIT select SUPPORT_SPL config TARGET_WARP bool "WaRP" + select BOARD_LATE_INIT config TARGET_XPRESS bool "CCV xPress" + select BOARD_LATE_INIT select MX6UL select DM select DM_THERMAL @@ -283,12 +315,14 @@ config TARGET_XPRESS config TARGET_ZC5202 bool "zc5202" + select BOARD_LATE_INIT select SUPPORT_SPL select DM select DM_THERMAL config TARGET_ZC5601 bool "zc5601" + select BOARD_LATE_INIT select SUPPORT_SPL select DM select DM_THERMAL diff --git a/arch/arm/cpu/armv7/mx7/Kconfig b/arch/arm/cpu/armv7/mx7/Kconfig index fb00b8c67c4..8dfb4c96464 100644 --- a/arch/arm/cpu/armv7/mx7/Kconfig +++ b/arch/arm/cpu/armv7/mx7/Kconfig @@ -18,18 +18,21 @@ choice config TARGET_MX7DSABRESD bool "mx7dsabresd" + select BOARD_LATE_INIT select MX7D select DM select DM_THERMAL config TARGET_WARP7 bool "warp7" + select BOARD_LATE_INIT select MX7D select DM select DM_THERMAL config TARGET_COLIBRI_IMX7 bool "Support Colibri iMX7S/iMX7D modules" + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_THERMAL diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index ba411e2af85..47897f4c900 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -5,6 +5,8 @@ config ARCH_LS1012A select SYS_FSL_DDR_BE select SYS_FSL_MMDC select SYS_FSL_ERRATUM_A010315 + select ARCH_EARLY_INIT_R + select BOARD_EARLY_INIT_F config ARCH_LS1043A bool @@ -22,6 +24,8 @@ config ARCH_LS1043A select SYS_FSL_ERRATUM_A010539 select SYS_FSL_HAS_DDR3 select SYS_FSL_HAS_DDR4 + select ARCH_EARLY_INIT_R + select BOARD_EARLY_INIT_F config ARCH_LS1046A bool @@ -38,6 +42,8 @@ config ARCH_LS1046A select SYS_FSL_ERRATUM_A010539 select SYS_FSL_HAS_DDR4 select SYS_FSL_SRDS_2 + select ARCH_EARLY_INIT_R + select BOARD_EARLY_INIT_F config ARCH_LS2080A bool @@ -62,6 +68,8 @@ config ARCH_LS2080A select SYS_FSL_ERRATUM_A009803 select SYS_FSL_ERRATUM_A009942 select SYS_FSL_ERRATUM_A010165 + select ARCH_EARLY_INIT_R + select BOARD_EARLY_INIT_F config FSL_LSCH2 bool diff --git a/arch/arm/include/asm/fsl_secure_boot.h b/arch/arm/include/asm/fsl_secure_boot.h index f920215d015..17ca5409080 100644 --- a/arch/arm/include/asm/fsl_secure_boot.h +++ b/arch/arm/include/asm/fsl_secure_boot.h @@ -7,14 +7,6 @@ #ifndef __FSL_SECURE_BOOT_H #define __FSL_SECURE_BOOT_H -#ifdef CONFIG_SECURE_BOOT - -#ifndef CONFIG_FIT_SIGNATURE -#define CONFIG_CHAIN_OF_TRUST -#endif - -#endif - #ifdef CONFIG_CHAIN_OF_TRUST #define CONFIG_CMD_ESBC_VALIDATE #define CONFIG_FSL_SEC_MON diff --git a/arch/arm/include/asm/imx-common/dma.h b/arch/arm/include/asm/imx-common/dma.h index 1aec4f9d5a2..0244947b6e0 100644 --- a/arch/arm/include/asm/imx-common/dma.h +++ b/arch/arm/include/asm/imx-common/dma.h @@ -16,12 +16,7 @@ #include <linux/list.h> #include <linux/compiler.h> -#ifndef CONFIG_ARCH_DMA_PIO_WORDS -#define DMA_PIO_WORDS 15 -#else -#define DMA_PIO_WORDS CONFIG_ARCH_DMA_PIO_WORDS -#endif - +#define DMA_PIO_WORDS 15 #define MXS_DMA_ALIGNMENT ARCH_DMA_MINALIGN /* diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 13e19ba2fe6..99b88d17852 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig @@ -11,6 +11,7 @@ config TARGET_AT91RM9200EK config TARGET_AT91SAM9260EK bool "Atmel at91sam9260 reference board" select CPU_ARM926EJS + select BOARD_EARLY_INIT_F config TARGET_ETHERNUT5 bool "Ethernut5 board" @@ -25,6 +26,7 @@ config TARGET_SNAPPER9260 config TARGET_GURNARD bool "Support gurnard" + select BOARD_LATE_INIT select CPU_ARM926EJS select DM select DM_SERIAL @@ -42,6 +44,7 @@ config TARGET_PM9261 config TARGET_AT91SAM9263EK bool "Atmel at91sam9263 reference board" select CPU_ARM926EJS + select BOARD_EARLY_INIT_F config TARGET_USB_A9263 bool "Caloa USB A9260 board" @@ -55,6 +58,7 @@ config TARGET_AT91SAM9M10G45EK bool "Atmel AT91SAM9M10G45-EK board" select CPU_ARM926EJS select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_PM9G45 bool "Ronetix pm9g45 board" @@ -69,45 +73,55 @@ config TARGET_AT91SAM9N12EK bool "Atmel AT91SAM9N12-EK board" select CPU_ARM926EJS select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_AT91SAM9RLEK bool "Atmel at91sam9rl reference board" select CPU_ARM926EJS + select BOARD_EARLY_INIT_F config TARGET_AT91SAM9X5EK bool "Atmel AT91SAM9X5-EK board" select CPU_ARM926EJS select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_SAMA5D2_PTC bool "SAMA5D2 PTC board" select CPU_V7 select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_SAMA5D2_XPLAINED bool "SAMA5D2 Xplained board" select CPU_V7 select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_SAMA5D3_XPLAINED bool "SAMA5D3 Xplained board" select CPU_V7 select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_SAMA5D3XEK bool "SAMA5D3X-EK board" + select BOARD_LATE_INIT select CPU_V7 select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_SAMA5D4_XPLAINED bool "SAMA5D4 Xplained board" select CPU_V7 select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_SAMA5D4EK bool "SAMA5D4 Evaluation Kit" select CPU_V7 select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_MA5D4EVK bool "DENX MA5D4EVK Evaluation Kit" diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig index c593dadf682..4757f2496df 100644 --- a/arch/arm/mach-davinci/Kconfig +++ b/arch/arm/mach-davinci/Kconfig @@ -18,6 +18,7 @@ config TARGET_DA850EVM config TARGET_EA20 bool "EA20 board" + select BOARD_LATE_INIT config TARGET_OMAPL138_LCDK bool "OMAPL138 LCDK" diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index 07118fc3df3..9bd8ba5eea8 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig @@ -7,6 +7,7 @@ choice config ARCH_EXYNOS4 bool "Exynos4 SoC family" select CPU_V7 + select BOARD_EARLY_INIT_F help Samsung Exynos4 SoC family are based on ARM Cortex-A9 CPU. There are multiple SoCs in this family including Exynos4210, Exynos4412, @@ -15,6 +16,7 @@ config ARCH_EXYNOS4 config ARCH_EXYNOS5 bool "Exynos5 SoC family" select CPU_V7 + select BOARD_EARLY_INIT_F help Samsung Exynos5 SoC family are based on ARM Cortex-A15 CPU (and Cortex-A7 CPU in big.LITTLE configuration). There are multiple SoCs @@ -23,6 +25,7 @@ config ARCH_EXYNOS5 config ARCH_EXYNOS7 bool "Exynos7 SoC family" select ARM64 + select BOARD_EARLY_INIT_F help Samsung Exynos7 SoC family are based on ARM Cortex-A57 CPU or Cortex-A53 CPU (and some in a big.LITTLE configuration). There are diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig index 9c24921b5ca..ddfae8c4b4e 100644 --- a/arch/arm/mach-kirkwood/Kconfig +++ b/arch/arm/mach-kirkwood/Kconfig @@ -33,6 +33,7 @@ config TARGET_ICONNECT config TARGET_KM_KIRKWOOD bool "KM_KIRKWOOD Board" + select BOARD_LATE_INIT config TARGET_NET2BIG_V2 bool "LaCie 2Big Network v2 NAS Board" diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index 40476dc421d..53117c4296d 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig @@ -8,6 +8,8 @@ config ARMADA_32BIT select SPL_DM_SEQ_ALIAS select SPL_OF_CONTROL select SPL_SIMPLE_BUS + select BOARD_EARLY_INIT_F + select ARCH_MISC_INIT config ARMADA_64BIT bool @@ -86,6 +88,7 @@ config TARGET_DB_88F6820_AMC config TARGET_MVEBU_ARMADA_8K bool "Support Armada 7k/8k platforms" select ARMADA_8K + select BOARD_LATE_INIT config TARGET_DB_MV784MP_GP bool "Support db-mv784mp-gp" @@ -101,6 +104,7 @@ config TARGET_MAXBCM config TARGET_THEADORABLE bool "Support theadorable Armada XP" + select BOARD_LATE_INIT if USB select MV78260 endchoice diff --git a/arch/arm/mach-omap2/am33xx/Kconfig b/arch/arm/mach-omap2/am33xx/Kconfig index 56c44062c41..ae1c3cf5edb 100644 --- a/arch/arm/mach-omap2/am33xx/Kconfig +++ b/arch/arm/mach-omap2/am33xx/Kconfig @@ -6,6 +6,7 @@ choice config TARGET_AM335X_EVM bool "Support am335x_evm" + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO @@ -20,6 +21,7 @@ config TARGET_AM335X_EVM config TARGET_AM335X_BALTOS bool "Support am335x_baltos" + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO @@ -32,18 +34,21 @@ config TARGET_AM335X_IGEP0033 config TARGET_AM335X_SHC bool "Support am335x based shc board from bosch" + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO config TARGET_AM335X_SL50 bool "Support am335x_sl50" + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO config TARGET_BAV335X bool "Support bav335x" + select BOARD_LATE_INIT select DM select DM_SERIAL help @@ -96,6 +101,7 @@ config SPL_I2C_SUPPORT config TARGET_AM43XX_EVM bool "Support am43xx_evm" + select BOARD_LATE_INIT select TI_I2C_BOARD_DETECT help This option specifies support for the AM43xx diff --git a/arch/arm/mach-omap2/config.mk b/arch/arm/mach-omap2/config.mk index 20b555357a0..af455366ed9 100644 --- a/arch/arm/mach-omap2/config.mk +++ b/arch/arm/mach-omap2/config.mk @@ -6,34 +6,52 @@ include $(srctree)/arch/arm/mach-omap2/config_secure.mk ifdef CONFIG_SPL_BUILD -ifeq ($(CONFIG_TI_SECURE_DEVICE),y) +ifeq ($(CONFIG_TI_SECURE_DEVICE),y) # Refer to README.ti-secure for more info +# On DRA7xx/AM57xx: +# +# For booting spl from SD/MMC/eMMC use +# u-boot-spl_HS_MLO # -# For booting from SPI use -# u-boot-spl_HS_SPI_X-LOADER to program flash +# For booting spl over UART or USB use +# u-boot-spl_HS_ULO # +# For booting spl from QSPI or NOR use +# u-boot-spl_HS_X-LOADER +ifeq ($(CONFIG_OMAP54XX),y) +ALL-y += u-boot-spl_HS_MLO +ALL-y += u-boot-spl_HS_ULO +ALL-y += u-boot-spl_HS_X-LOADER +endif # On AM43XX: # +# For booting spl from SPI flash use +# u-boot-spl_HS_SPI_X-LOADER +# # For booting spl from all other media use # u-boot-spl_HS_ISSW -# +ifeq ($(CONFIG_AM43XX),y) +ALL-y += u-boot-spl_HS_SPI_X-LOADER +ALL-y += u-boot-spl_HS_ISSW +endif # On AM33XX: # -# For booting spl from NAND flash use +# For booting spl from SPI flash use +# u-boot-spl_HS_SPI_X-LOADER +# +# For booting spl from NAND flash or raw SD/MMC/eMMC use # u-boot-spl_HS_X-LOADER # -# For booting spl from SD/MMC/eMMC media use +# For booting spl from a filesystem on SD/MMC/eMMC use # u-boot-spl_HS_MLO # # For booting spl over UART, USB, or Ethernet use # u-boot-spl_HS_2ND -# -# Refer to README.ti-secure for more info -# -ALL-y += u-boot-spl_HS_ISSW +ifeq ($(CONFIG_AM33XX),y) ALL-y += u-boot-spl_HS_SPI_X-LOADER ALL-y += u-boot-spl_HS_X-LOADER ALL-y += u-boot-spl_HS_MLO ALL-y += u-boot-spl_HS_2ND +endif else ALL-y += MLO ifeq ($(CONFIG_AM33XX),y) diff --git a/arch/arm/mach-omap2/omap3/Kconfig b/arch/arm/mach-omap2/omap3/Kconfig index 7d884a237bb..4a7957fde85 100644 --- a/arch/arm/mach-omap2/omap3/Kconfig +++ b/arch/arm/mach-omap2/omap3/Kconfig @@ -96,9 +96,11 @@ config TARGET_TRICORDER config TARGET_MCX bool "MCX" + select BOARD_LATE_INIT config TARGET_OMAP3_LOGIC bool "OMAP3 Logic" + select BOARD_LATE_INIT select DM select DM_SERIAL select DM_GPIO diff --git a/arch/arm/mach-omap2/omap5/Kconfig b/arch/arm/mach-omap2/omap5/Kconfig index 242d1ee9287..c5edc7c98d4 100644 --- a/arch/arm/mach-omap2/omap5/Kconfig +++ b/arch/arm/mach-omap2/omap5/Kconfig @@ -51,11 +51,13 @@ config TARGET_OMAP5_UEVM config TARGET_DRA7XX_EVM bool "TI DRA7XX" + select BOARD_LATE_INIT select TI_I2C_BOARD_DETECT select PHYS_64BIT config TARGET_AM57XX_EVM bool "AM57XX" + select BOARD_LATE_INIT select TI_I2C_BOARD_DETECT endchoice diff --git a/arch/arm/mach-rockchip/rk3036/Kconfig b/arch/arm/mach-rockchip/rk3036/Kconfig index 9263608e8a3..c63db343e26 100644 --- a/arch/arm/mach-rockchip/rk3036/Kconfig +++ b/arch/arm/mach-rockchip/rk3036/Kconfig @@ -2,9 +2,11 @@ if ROCKCHIP_RK3036 config TARGET_EVB_RK3036 bool "EVB_RK3036" + select BOARD_LATE_INIT config TARGET_KYLIN_RK3036 bool "KYLIN_RK3036" + select BOARD_LATE_INIT config SYS_SOC default "rockchip" diff --git a/arch/arm/mach-rockchip/rk3288/Kconfig b/arch/arm/mach-rockchip/rk3288/Kconfig index 54545f378ca..35d8dbfc7e2 100644 --- a/arch/arm/mach-rockchip/rk3288/Kconfig +++ b/arch/arm/mach-rockchip/rk3288/Kconfig @@ -2,6 +2,7 @@ if ROCKCHIP_RK3288 config TARGET_FIREFLY_RK3288 bool "Firefly-RK3288" + select BOARD_LATE_INIT help Firefly is a RK3288-based development board with 2 USB ports, HDMI, VGA, micro-SD card, audio, WiFi and Gigabit Ethernet, It @@ -10,6 +11,7 @@ config TARGET_FIREFLY_RK3288 config TARGET_EVB_RK3288 bool "Evb-RK3288" + select BOARD_LATE_INIT help EVB-RK3288 is a RK3288-based development board with 2 USB ports, HDMI, VGA, micro-SD card, audio, WiFi and Gigabit Ethernet, It @@ -18,6 +20,7 @@ config TARGET_EVB_RK3288 config TARGET_FENNEC_RK3288 bool "Fennec-RK3288" + select BOARD_LATE_INIT help Fennec is a RK3288-based development board with 2 USB ports, HDMI, micro-SD card, audio, WiFi and Gigabit Ethernet. It also @@ -26,6 +29,7 @@ config TARGET_FENNEC_RK3288 config TARGET_POPMETAL_RK3288 bool "PopMetal-RK3288" + select BOARD_LATE_INIT help PopMetal is a RK3288-based development board with 3 USB host ports, 1 micro USB OTG port, HDMI, VGA, micro-SD card, audio, WiFi, Gigabit @@ -35,6 +39,7 @@ config TARGET_POPMETAL_RK3288 config TARGET_MINIARM_RK3288 bool "miniarm-RK3288" + select BOARD_LATE_INIT help Miniarm is a RK3288-based development board with 2 USB ports, HDMI, micro-SD card, audio, Gigabit Ethernet. It also includes on-board @@ -43,6 +48,7 @@ config TARGET_MINIARM_RK3288 config TARGET_CHROMEBOOK_JERRY bool "Google/Rockchip Veyron-Jerry Chromebook" + select BOARD_LATE_INIT help Jerry is a RK3288-based clamshell device with 2 USB 3.0 ports, HDMI, an 11.9 inch EDP display, micro-SD card, touchpad and @@ -51,6 +57,7 @@ config TARGET_CHROMEBOOK_JERRY config TARGET_CHROMEBIT_MICKEY bool "Google/Rockchip Veyron-Mickey Chromebit" + select BOARD_LATE_INIT help Mickey is a small RK3288-based device with one USB 3.0 port, HDMI and WiFi. It has a separate power port and is designed to connect @@ -60,6 +67,7 @@ config TARGET_CHROMEBIT_MICKEY config TARGET_CHROMEBOOK_MINNIE bool "Google/Rockchip Veyron-Minnie Chromebook" + select BOARD_LATE_INIT help Minnie is a RK3288-based convertible clamshell device with 2 USB 3.0 ports, micro HDMI, a 10.1-inch 1280x800 EDP display, micro-SD card, @@ -70,6 +78,7 @@ config TARGET_CHROMEBOOK_MINNIE config TARGET_ROCK2 bool "Radxa Rock 2" + select BOARD_LATE_INIT help Rock 2 is a SOM and base-board combination based on RK3288. It includes Ethernet, HDMI, 3 USB, micro-SD, audio, SATA, WiFi and diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig index 6991af87752..df9e8d42134 100644 --- a/arch/arm/mach-socfpga/Kconfig +++ b/arch/arm/mach-socfpga/Kconfig @@ -64,6 +64,7 @@ config TARGET_SOCFPGA_IS1 config TARGET_SOCFPGA_SAMTEC_VINING_FPGA bool "samtec VIN|ING FPGA (Cyclone V)" + select BOARD_LATE_INIT select TARGET_SOCFPGA_CYCLONE5 config TARGET_SOCFPGA_SR1500 diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index 5bdbc700a4b..c9f2380f4d9 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -37,6 +37,7 @@ config TEGRA_COMMON select MISC select OF_CONTROL select VIDCONSOLE_AS_LCD if DM_VIDEO + select BOARD_EARLY_INIT_F config TEGRA_NO_BPMP bool "Tegra common options for SoCs without BPMP" diff --git a/arch/arm/mach-tegra/tegra114/Kconfig b/arch/arm/mach-tegra/tegra114/Kconfig index 1047b9227f7..5f0f909dd3b 100644 --- a/arch/arm/mach-tegra/tegra114/Kconfig +++ b/arch/arm/mach-tegra/tegra114/Kconfig @@ -6,6 +6,7 @@ choice config TARGET_DALMORE bool "NVIDIA Tegra114 Dalmore evaluation board" + select BOARD_LATE_INIT endchoice diff --git a/arch/arm/mach-tegra/tegra124/Kconfig b/arch/arm/mach-tegra/tegra124/Kconfig index df774622838..ca96a263b76 100644 --- a/arch/arm/mach-tegra/tegra124/Kconfig +++ b/arch/arm/mach-tegra/tegra124/Kconfig @@ -6,12 +6,14 @@ choice config TARGET_JETSON_TK1 bool "NVIDIA Tegra124 Jetson TK1 board" + select BOARD_LATE_INIT select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI config TARGET_CEI_TK1_SOM bool "Colorado Engineering Inc Tegra124 TK1-som board" + select BOARD_LATE_INIT select CPU_V7_HAS_NONSEC if !SPL_BUILD select CPU_V7_HAS_VIRT if !SPL_BUILD help @@ -23,6 +25,7 @@ config TARGET_CEI_TK1_SOM config TARGET_NYAN_BIG bool "Google/NVIDIA Nyan-big Chromebook" + select BOARD_LATE_INIT help Nyan Big is a Tegra124 clamshell board that is very similar to venice2, but it has a different panel, the sdcard CD and WP @@ -32,6 +35,7 @@ config TARGET_NYAN_BIG config TARGET_VENICE2 bool "NVIDIA Tegra124 Venice2" + select BOARD_LATE_INIT endchoice diff --git a/arch/arm/mach-tegra/tegra186/Kconfig b/arch/arm/mach-tegra/tegra186/Kconfig index 97cf23f31f8..b2e53b58caf 100644 --- a/arch/arm/mach-tegra/tegra186/Kconfig +++ b/arch/arm/mach-tegra/tegra186/Kconfig @@ -9,6 +9,7 @@ choice config TARGET_P2771_0000 bool "NVIDIA Tegra186 P2771-0000 board" + select BOARD_LATE_INIT help P2771-0000 is a P3310 CPU board married to a P2597 I/O board. The combination contains SoC, DRAM, eMMC, SD card slot, HDMI, USB diff --git a/arch/arm/mach-tegra/tegra20/Kconfig b/arch/arm/mach-tegra/tegra20/Kconfig index 1bb8dff5b23..99445a4f26e 100644 --- a/arch/arm/mach-tegra/tegra20/Kconfig +++ b/arch/arm/mach-tegra/tegra20/Kconfig @@ -6,33 +6,43 @@ choice config TARGET_HARMONY bool "NVIDIA Tegra20 Harmony evaluation board" + select BOARD_LATE_INIT config TARGET_MEDCOM_WIDE bool "Avionic Design Medcom-Wide board" + select BOARD_LATE_INIT config TARGET_PAZ00 bool "Paz00 board" + select BOARD_LATE_INIT config TARGET_PLUTUX bool "Avionic Design Plutux board" + select BOARD_LATE_INIT config TARGET_SEABOARD bool "NVIDIA Seaboard" + select BOARD_LATE_INIT config TARGET_TEC bool "Avionic Design Tamonten Evaluation Carrier" + select BOARD_LATE_INIT config TARGET_TRIMSLICE bool "Compulab TrimSlice board" + select BOARD_LATE_INIT config TARGET_VENTANA bool "NVIDIA Tegra20 Ventana evaluation board" + select BOARD_LATE_INIT config TARGET_WHISTLER bool "NVIDIA Tegra20 Whistler evaluation board" + select BOARD_LATE_INIT config TARGET_COLIBRI_T20 bool "Toradex Colibri T20 board" + select BOARD_LATE_INIT endchoice diff --git a/arch/arm/mach-tegra/tegra210/Kconfig b/arch/arm/mach-tegra/tegra210/Kconfig index 055fb124d8b..3637473051b 100644 --- a/arch/arm/mach-tegra/tegra210/Kconfig +++ b/arch/arm/mach-tegra/tegra210/Kconfig @@ -5,6 +5,7 @@ choice config TARGET_E2220_1170 bool "NVIDIA Tegra210 E2220-1170 board" + select BOARD_LATE_INIT help E2220-1170 is a Tegra210 bringup board with onboard SoC, DRAM, eMMC, SD card slot, HDMI, USB micro-B port, and sockets for various @@ -12,6 +13,7 @@ config TARGET_E2220_1170 config TARGET_P2371_0000 bool "NVIDIA Tegra210 P2371-0000 board" + select BOARD_LATE_INIT help P2371-0000 is a P2581 or P2530 CPU board married to a P2595 I/O board. The combination contains SoC, DRAM, eMMC, SD card slot, @@ -20,6 +22,7 @@ config TARGET_P2371_0000 config TARGET_P2371_2180 bool "NVIDIA Tegra210 P2371-2180 (Jetson TX1) board" + select BOARD_LATE_INIT help P2371-2180 (Jetson TX1 developer kit) is a P2180 CPU board married to a P2597 I/O board. The combination contains SoC, DRAM, eMMC, SD @@ -28,6 +31,7 @@ config TARGET_P2371_2180 config TARGET_P2571 bool "NVIDIA Tegra210 P2571 base board" + select BOARD_LATE_INIT help P2571 is a P2530 married to a P1963 I/O board diff --git a/arch/arm/mach-tegra/tegra30/Kconfig b/arch/arm/mach-tegra/tegra30/Kconfig index e78331e4cb3..85b8ce294f2 100644 --- a/arch/arm/mach-tegra/tegra30/Kconfig +++ b/arch/arm/mach-tegra/tegra30/Kconfig @@ -6,18 +6,23 @@ choice config TARGET_APALIS_T30 bool "Toradex Apalis T30 board" + select BOARD_LATE_INIT config TARGET_BEAVER bool "NVIDIA Tegra30 Beaver evaluation board" + select BOARD_LATE_INIT config TARGET_CARDHU bool "NVIDIA Tegra30 Cardhu evaluation board" + select BOARD_LATE_INIT config TARGET_COLIBRI_T30 bool "Toradex Colibri T30 board" + select BOARD_LATE_INIT config TARGET_TEC_NG bool "Avionic Design TEC-NG board" + select BOARD_LATE_INIT endchoice diff --git a/arch/blackfin/include/asm/config.h b/arch/blackfin/include/asm/config.h index de3c97931d1..4e8313d811e 100644 --- a/arch/blackfin/include/asm/config.h +++ b/arch/blackfin/include/asm/config.h @@ -171,8 +171,6 @@ } #endif -#define CONFIG_ARCH_MISC_INIT - #define CONFIG_CPU CONFIG_BFIN_CPU #endif diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 30ea484f48a..80d85e46d48 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig @@ -10,6 +10,7 @@ choice config TARGET_MICROBLAZE_GENERIC bool "Support microblaze-generic" + select BOARD_LATE_INIT select SUPPORT_SPL select OF_CONTROL select DM diff --git a/arch/powerpc/cpu/mpc5xxx/speed.c b/arch/powerpc/cpu/mpc5xxx/speed.c index 30a0a358dd4..b37c4a5208b 100644 --- a/arch/powerpc/cpu/mpc5xxx/speed.c +++ b/arch/powerpc/cpu/mpc5xxx/speed.c @@ -69,7 +69,7 @@ int get_clocks (void) return (0); } -int prt_mpc5xxx_clks (void) +int print_cpuinfo(void) { char buf1[32], buf2[32], buf3[32]; diff --git a/arch/powerpc/cpu/mpc8260/spi.c b/arch/powerpc/cpu/mpc8260/spi.c index 8c91a713bba..c7fb4e9a6c0 100644 --- a/arch/powerpc/cpu/mpc8260/spi.c +++ b/arch/powerpc/cpu/mpc8260/spi.c @@ -181,14 +181,7 @@ void spi_init_f (void) spi->spi_tbc = 0; spi->spi_txtmp = 0; - /* Allocate space for one transmit and one receive buffer - * descriptor in the DP ram - */ -#ifdef CONFIG_SYS_ALLOC_DPRAM - dpaddr = m8260_cpm_dpalloc (sizeof(cbd_t)*2, 8); -#else dpaddr = CPM_SPI_BASE; -#endif /* 3 */ /* Set up the SPI parameters in the parameter ram */ diff --git a/arch/powerpc/cpu/mpc83xx/Kconfig b/arch/powerpc/cpu/mpc83xx/Kconfig index 184063c40bf..bf3be50c48c 100644 --- a/arch/powerpc/cpu/mpc83xx/Kconfig +++ b/arch/powerpc/cpu/mpc83xx/Kconfig @@ -27,30 +27,36 @@ config TARGET_MPC8308RDB config TARGET_MPC8313ERDB bool "Support MPC8313ERDB" select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_MPC8315ERDB bool "Support MPC8315ERDB" + select BOARD_EARLY_INIT_F config TARGET_MPC8323ERDB bool "Support MPC8323ERDB" config TARGET_MPC832XEMDS bool "Support MPC832XEMDS" + select BOARD_EARLY_INIT_F config TARGET_MPC8349EMDS bool "Support MPC8349EMDS" select SYS_FSL_DDR select SYS_FSL_HAS_DDR2 select SYS_FSL_DDR_BE + select BOARD_EARLY_INIT_F config TARGET_MPC8349ITX bool "Support MPC8349ITX" config TARGET_MPC837XEMDS bool "Support MPC837XEMDS" + select BOARD_EARLY_INIT_F config TARGET_MPC837XERDB bool "Support MPC837XERDB" + select BOARD_EARLY_INIT_F config TARGET_IDS8313 bool "Support ids8313" diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig index 615d7e13a9f..38ea4c1440b 100644 --- a/arch/powerpc/cpu/mpc85xx/Kconfig +++ b/arch/powerpc/cpu/mpc85xx/Kconfig @@ -25,6 +25,7 @@ config TARGET_B4420QDS config TARGET_B4860QDS bool "Support B4860QDS" select ARCH_B4860 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT @@ -32,15 +33,19 @@ config TARGET_BSC9131RDB bool "Support BSC9131RDB" select ARCH_BSC9131 select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_BSC9132QDS bool "Support BSC9132QDS" select ARCH_BSC9132 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL + select BOARD_EARLY_INIT_F config TARGET_C29XPCIE bool "Support C29XPCIE" select ARCH_C29X + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select SUPPORT_TPL select PHYS_64BIT @@ -49,21 +54,25 @@ config TARGET_P3041DS bool "Support P3041DS" select PHYS_64BIT select ARCH_P3041 + select BOARD_LATE_INIT if CHAIN_OF_TRUST config TARGET_P4080DS bool "Support P4080DS" select PHYS_64BIT select ARCH_P4080 + select BOARD_LATE_INIT if CHAIN_OF_TRUST config TARGET_P5020DS bool "Support P5020DS" select PHYS_64BIT select ARCH_P5020 + select BOARD_LATE_INIT if CHAIN_OF_TRUST config TARGET_P5040DS bool "Support P5040DS" select PHYS_64BIT select ARCH_P5040 + select BOARD_LATE_INIT if CHAIN_OF_TRUST config TARGET_MPC8536DS bool "Support MPC8536DS" @@ -112,12 +121,14 @@ config TARGET_MPC8572DS config TARGET_P1010RDB_PA bool "Support P1010RDB_PA" select ARCH_P1010 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select SUPPORT_TPL config TARGET_P1010RDB_PB bool "Support P1010RDB_PB" select ARCH_P1010 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select SUPPORT_TPL @@ -186,6 +197,7 @@ config TARGET_P1_TWR config TARGET_P2041RDB bool "Support P2041RDB" select ARCH_P2041 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select PHYS_64BIT config TARGET_QEMU_PPCE500 @@ -196,65 +208,76 @@ config TARGET_QEMU_PPCE500 config TARGET_T1024QDS bool "Support T1024QDS" select ARCH_T1024 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT config TARGET_T1023RDB bool "Support T1023RDB" select ARCH_T1023 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT config TARGET_T1024RDB bool "Support T1024RDB" select ARCH_T1024 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT config TARGET_T1040QDS bool "Support T1040QDS" select ARCH_T1040 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select PHYS_64BIT config TARGET_T1040RDB bool "Support T1040RDB" select ARCH_T1040 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT config TARGET_T1040D4RDB bool "Support T1040D4RDB" select ARCH_T1040 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT config TARGET_T1042RDB bool "Support T1042RDB" select ARCH_T1042 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT config TARGET_T1042D4RDB bool "Support T1042D4RDB" select ARCH_T1042 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT config TARGET_T1042RDB_PI bool "Support T1042RDB_PI" select ARCH_T1042 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT config TARGET_T2080QDS bool "Support T2080QDS" select ARCH_T2080 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT config TARGET_T2080RDB bool "Support T2080RDB" select ARCH_T2080 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT @@ -267,6 +290,7 @@ config TARGET_T2081QDS config TARGET_T4160QDS bool "Support T4160QDS" select ARCH_T4160 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT @@ -279,6 +303,7 @@ config TARGET_T4160RDB config TARGET_T4240QDS bool "Support T4240QDS" select ARCH_T4240 + select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT diff --git a/arch/powerpc/cpu/mpc86xx/Kconfig b/arch/powerpc/cpu/mpc86xx/Kconfig index ff21c4823b1..fcac6584e89 100644 --- a/arch/powerpc/cpu/mpc86xx/Kconfig +++ b/arch/powerpc/cpu/mpc86xx/Kconfig @@ -11,10 +11,12 @@ choice config TARGET_SBC8641D bool "Support sbc8641d" select ARCH_MPC8641 + select BOARD_EARLY_INIT_F config TARGET_MPC8610HPCD bool "Support MPC8610HPCD" select ARCH_MPC8610 + select BOARD_EARLY_INIT_F config TARGET_MPC8641HPCN bool "Support MPC8641HPCN" diff --git a/arch/powerpc/cpu/mpc8xx/Makefile b/arch/powerpc/cpu/mpc8xx/Makefile index f83fd5ecf4d..6f81fee571b 100644 --- a/arch/powerpc/cpu/mpc8xx/Makefile +++ b/arch/powerpc/cpu/mpc8xx/Makefile @@ -10,7 +10,6 @@ extra-y += start.o extra-y += traps.o obj-y += bedbug_860.o -obj-y += commproc.o obj-y += cpu.o obj-y += cpu_init.o obj-y += fec.o diff --git a/arch/powerpc/cpu/mpc8xx/commproc.c b/arch/powerpc/cpu/mpc8xx/commproc.c deleted file mode 100644 index f8581d130d4..00000000000 --- a/arch/powerpc/cpu/mpc8xx/commproc.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * (C) Copyright 2000-2002 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include <commproc.h> - -DECLARE_GLOBAL_DATA_PTR; - -#ifdef CONFIG_SYS_ALLOC_DPRAM - -int dpram_init (void) -{ - /* Reclaim the DP memory for our use. */ - gd->arch.dp_alloc_base = CPM_DATAONLY_BASE; - gd->arch.dp_alloc_top = CPM_DATAONLY_BASE + CPM_DATAONLY_SIZE; - - return (0); -} - -/* Allocate some memory from the dual ported ram. We may want to - * enforce alignment restrictions, but right now everyone is a good - * citizen. - */ -uint dpram_alloc (uint size) -{ - uint addr = gd->arch.dp_alloc_base; - - if ((gd->arch.dp_alloc_base + size) >= gd->arch.dp_alloc_top) - return (CPM_DP_NOSPACE); - - gd->arch.dp_alloc_base += size; - - return addr; -} - -uint dpram_base (void) -{ - return gd->arch.dp_alloc_base; -} - -/* Allocate some memory from the dual ported ram. We may want to - * enforce alignment restrictions, but right now everyone is a good - * citizen. - */ -uint dpram_alloc_align (uint size, uint align) -{ - uint addr, mask = align - 1; - - addr = (gd->arch.dp_alloc_base + mask) & ~mask; - - if ((addr + size) >= gd->arch.dp_alloc_top) - return (CPM_DP_NOSPACE); - - gd->arch.dp_alloc_base = addr + size; - - return addr; -} - -uint dpram_base_align (uint align) -{ - uint mask = align - 1; - - return (gd->arch.dp_alloc_base + mask) & ~mask; -} -#endif /* CONFIG_SYS_ALLOC_DPRAM */ diff --git a/arch/powerpc/cpu/mpc8xx/fec.c b/arch/powerpc/cpu/mpc8xx/fec.c index 0940906b1d4..b27310fffb9 100644 --- a/arch/powerpc/cpu/mpc8xx/fec.c +++ b/arch/powerpc/cpu/mpc8xx/fec.c @@ -570,14 +570,8 @@ static int fec_init (struct eth_device *dev, bd_t * bd) rxIdx = 0; txIdx = 0; - if (!rtx) { -#ifdef CONFIG_SYS_ALLOC_DPRAM - rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + - dpram_alloc_align (sizeof (RTXBD), 8)); -#else - rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + CPM_FEC_BASE); -#endif - } + if (!rtx) + rtx = (RTXBD *)(immr->im_cpm.cp_dpmem + CPM_FEC_BASE); /* * Setup Receiver Buffer Descriptors (13.14.24.18) * Settings: diff --git a/arch/powerpc/cpu/mpc8xx/i2c.c b/arch/powerpc/cpu/mpc8xx/i2c.c index 3dff4ab4ac4..54d5cb51302 100644 --- a/arch/powerpc/cpu/mpc8xx/i2c.c +++ b/arch/powerpc/cpu/mpc8xx/i2c.c @@ -190,17 +190,7 @@ void i2c_init(int speed, int slaveaddr) iip->iic_rpbase = 0; #endif -#ifdef CONFIG_SYS_ALLOC_DPRAM - dpaddr = iip->iic_rbase; - if (dpaddr == 0) { - /* need to allocate dual port ram */ - dpaddr = dpram_alloc_align((NUM_RX_BDS * sizeof(I2C_BD)) + - (NUM_TX_BDS * sizeof(I2C_BD)) + - MAX_TX_SPACE, 8); - } -#else dpaddr = CPM_I2C_BASE; -#endif /* * initialise data in dual port ram: diff --git a/arch/powerpc/cpu/mpc8xx/scc.c b/arch/powerpc/cpu/mpc8xx/scc.c index 3474637fac9..17bcc2fe0a1 100644 --- a/arch/powerpc/cpu/mpc8xx/scc.c +++ b/arch/powerpc/cpu/mpc8xx/scc.c @@ -199,14 +199,8 @@ static int scc_init (struct eth_device *dev, bd_t * bis) rxIdx = 0; txIdx = 0; - if (!rtx) { -#ifdef CONFIG_SYS_ALLOC_DPRAM - rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + - dpram_alloc_align (sizeof (RTXBD), 8)); -#else - rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + CPM_SCC_BASE); -#endif - } + if (!rtx) + rtx = (RTXBD *)(immr->im_cpm.cp_dpmem + CPM_SCC_BASE); #if (defined(PA_ENET_RXD) && defined(PA_ENET_TXD)) /* Configure port A pins for Txd and Rxd. diff --git a/arch/powerpc/cpu/mpc8xx/serial.c b/arch/powerpc/cpu/mpc8xx/serial.c index 94c785f611c..b6e12d0d854 100644 --- a/arch/powerpc/cpu/mpc8xx/serial.c +++ b/arch/powerpc/cpu/mpc8xx/serial.c @@ -176,15 +176,7 @@ static int smc_init (void) /* Set the physical address of the host memory buffers in * the buffer descriptors. */ - -#ifdef CONFIG_SYS_ALLOC_DPRAM - /* allocate - * size of struct serialbuffer with bd rx/tx, buffer rx/tx and rx index - */ - dpaddr = dpram_alloc_align((sizeof(serialbuffer_t)), 8); -#else - dpaddr = CPM_SERIAL_BASE ; -#endif + dpaddr = CPM_SERIAL_BASE; rtx = (serialbuffer_t *)&cp->cp_dpmem[dpaddr]; /* Allocate space for two buffer descriptors in the DP ram. @@ -421,12 +413,7 @@ static int scc_init (void) #endif /* Allocate space for two buffer descriptors in the DP ram. */ - -#ifdef CONFIG_SYS_ALLOC_DPRAM - dpaddr = dpram_alloc_align (sizeof(cbd_t)*2 + 2, 8) ; -#else - dpaddr = CPM_SERIAL2_BASE ; -#endif + dpaddr = dpram_alloc_align(sizeof(cbd_t)*2 + 2, 8); /* Enable SDMA. */ im->im_siu_conf.sc_sdcr = 0x0001; diff --git a/arch/powerpc/cpu/mpc8xx/spi.c b/arch/powerpc/cpu/mpc8xx/spi.c index 6267c0e204d..35b425e7c14 100644 --- a/arch/powerpc/cpu/mpc8xx/spi.c +++ b/arch/powerpc/cpu/mpc8xx/spi.c @@ -187,14 +187,7 @@ void spi_init_f (void) spi->spi_tbc = 0; spi->spi_txtmp = 0; - /* Allocate space for one transmit and one receive buffer - * descriptor in the DP ram - */ -#ifdef CONFIG_SYS_ALLOC_DPRAM - dpaddr = dpram_alloc_align (sizeof(cbd_t)*2, 8); -#else dpaddr = CPM_SPI_BASE; -#endif /* 3 */ /* Set up the SPI parameters in the parameter ram */ diff --git a/arch/powerpc/cpu/mpc8xxx/cpu.c b/arch/powerpc/cpu/mpc8xxx/cpu.c index 584f3b8d616..afb5b512ba5 100644 --- a/arch/powerpc/cpu/mpc8xxx/cpu.c +++ b/arch/powerpc/cpu/mpc8xxx/cpu.c @@ -308,7 +308,7 @@ int is_core_valid(unsigned int core) return !!((1 << core) & cpu_mask()); } -int probecpu (void) +int arch_cpu_init(void) { uint svr; uint ver; diff --git a/arch/powerpc/include/asm/fsl_secure_boot.h b/arch/powerpc/include/asm/fsl_secure_boot.h index ab2957901c6..e17ead56962 100644 --- a/arch/powerpc/include/asm/fsl_secure_boot.h +++ b/arch/powerpc/include/asm/fsl_secure_boot.h @@ -9,11 +9,6 @@ #include <asm/config_mpc85xx.h> #ifdef CONFIG_SECURE_BOOT - -#ifndef CONFIG_FIT_SIGNATURE -#define CONFIG_CHAIN_OF_TRUST -#endif - #if defined(CONFIG_FSL_CORENET) #define CONFIG_SYS_PBI_FLASH_BASE 0xc0000000 #elif defined(CONFIG_TARGET_BSC9132QDS) diff --git a/arch/powerpc/include/asm/global_data.h b/arch/powerpc/include/asm/global_data.h index 4090975bf5e..3943d0e92b9 100644 --- a/arch/powerpc/include/asm/global_data.h +++ b/arch/powerpc/include/asm/global_data.h @@ -96,7 +96,7 @@ struct arch_global_data { unsigned long arbiter_event_attributes; unsigned long arbiter_event_address; #endif -#if defined(CONFIG_SYS_ALLOC_DPRAM) || defined(CONFIG_CPM2) +#if defined(CONFIG_CPM2) unsigned int dp_alloc_base; unsigned int dp_alloc_top; #endif |