diff --git a/arch/arm/dts/am437x-gp-evm-u-boot.dtsi b/arch/arm/dts/am437x-gp-evm-u-boot.dtsi index d950d32f1776fa5c316f43f3a265e9439cbfbabf..b55aa8e763d22f3275b61d217ae7bd1901214562 100644 --- a/arch/arm/dts/am437x-gp-evm-u-boot.dtsi +++ b/arch/arm/dts/am437x-gp-evm-u-boot.dtsi @@ -42,3 +42,19 @@ &i2c0 { u-boot,dm-spl; }; + +&l4_wkup { + u-boot,dm-spl; +}; + +&scm { + u-boot,dm-spl; +}; + +&scm_conf { + u-boot,dm-spl; +}; + +ðphy0 { + u-boot,dm-spl; +}; diff --git a/arch/arm/dts/k3-j721e-r5-common-proc-board.dts b/arch/arm/dts/k3-j721e-r5-common-proc-board.dts index 1f14d71438b4ff800a75f521e35fe446787fde14..eb577cdbc64b065960bc03cbd2d7347b3c4b68d6 100644 --- a/arch/arm/dts/k3-j721e-r5-common-proc-board.dts +++ b/arch/arm/dts/k3-j721e-r5-common-proc-board.dts @@ -157,9 +157,13 @@ }; &mcu_uart0 { + /delete-property/ power-domains; + /delete-property/ clocks; + /delete-property/ clock-names; pinctrl-names = "default"; pinctrl-0 = <&mcu_uart0_pins_default>; status = "okay"; + clock-frequency = <48000000>; }; &main_uart0 { diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig index 2e111bbf27ee4670387a5bf34d7e2d30b45f6887..8f4272286c11d6046e4635d9034cb31161424ba5 100644 --- a/arch/arm/mach-k3/Kconfig +++ b/arch/arm/mach-k3/Kconfig @@ -50,7 +50,7 @@ config SYS_K3_MCU_SCRATCHPAD_SIZE config SYS_K3_BOOT_PARAM_TABLE_INDEX hex default 0x41c7fbfc if SOC_K3_AM6 - default 0x41cffc00 if SOC_K3_J721E + default 0x41cffbfc if SOC_K3_J721E help Address at which ROM stores the value which determines if SPL is booted up by primary boot media or secondary boot media. diff --git a/arch/arm/mach-k3/am6_init.c b/arch/arm/mach-k3/am6_init.c index 8d107b870b51c0490a09b0da2f3968ce781d284c..63cd7e04589772fbbaffdc785b35e5ecb593e541 100644 --- a/arch/arm/mach-k3/am6_init.c +++ b/arch/arm/mach-k3/am6_init.c @@ -109,6 +109,16 @@ void board_init_f(ulong dummy) /* Init DM early in-order to invoke system controller */ spl_early_init(); +#ifdef CONFIG_K3_EARLY_CONS + /* + * Allow establishing an early console as required for example when + * doing a UART-based boot. Note that this console may not "survive" + * through a SYSFW PM-init step and will need a re-init in some way + * due to changing module clock frequencies. + */ + early_console_init(); +#endif + #ifdef CONFIG_K3_LOAD_SYSFW /* * Process pinctrl for the serial0 a.k.a. WKUP_UART0 module and continue diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c index 2f82edb970c88b19bcd4cc6d5ac165b5ef312d84..7af60a7f2f8294f83ddd60f2119b3065cd71d65d 100644 --- a/arch/arm/mach-k3/common.c +++ b/arch/arm/mach-k3/common.c @@ -218,7 +218,7 @@ int print_cpuinfo(void) name = "Unknown Silicon"; }; - printf("%s PG ", name); + printf("%s SR ", name); switch (rev) { case REV_PG1_0: name = "1.0"; diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index 7528de3e5c3c9955b7f5e54f7a38ff0887d3d7a0..34ca3ec9b02782fdd968fea90b69ed7d76fc936e 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -36,6 +36,7 @@ #include <ti-usb-phy-uboot.h> #include <mmc.h> #include <dm/uclass.h> +#include <hang.h> #include "../common/board_detect.h" #include "mux_data.h" @@ -707,6 +708,18 @@ void am57x_idk_lcd_detect(void) } out: env_set("idk_lcd", idk_lcd); + + /* + * On AM571x_IDK, no Display with J51 set to LCD is considered as an + * invalid configuration and we prevent boot to get user attention. + */ + if (board_is_am571x_idk() && am571x_idk_needs_lcd() && + !strncmp(idk_lcd, "no", 2)) { + printf("%s: Invalid HW configuration: display not detected/supported but J51 is set. Remove J51 to boot without display.\n", + __func__); + hang(); + } + return; } diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig index 2e64879beba6bff0231cd4d64a24007de4f6358e..075c09b6262935092e79d8077fee990d3663913a 100644 --- a/configs/am43xx_evm_defconfig +++ b/configs/am43xx_evm_defconfig @@ -15,6 +15,7 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=1" CONFIG_SYS_CONSOLE_INFO_QUIET=y # CONFIG_MISC_INIT_R is not set CONFIG_VERSION_VARIABLE=y +CONFIG_SPL_ETH_SUPPORT=y CONFIG_SPL_MTD_SUPPORT=y CONFIG_SPL_NET_SUPPORT=y CONFIG_SPL_NET_VCI_STRING="AM43xx U-Boot SPL" diff --git a/configs/am43xx_evm_usbhost_boot_defconfig b/configs/am43xx_evm_usbhost_boot_defconfig index 4eed4f58b0a8dfed982dc7dbe2e4e4dd9c30a423..21de5229c1c264a112311ddbeab0f312891a9beb 100644 --- a/configs/am43xx_evm_usbhost_boot_defconfig +++ b/configs/am43xx_evm_usbhost_boot_defconfig @@ -17,6 +17,7 @@ CONFIG_VERSION_VARIABLE=y CONFIG_SPL_MTD_SUPPORT=y CONFIG_SPL_OS_BOOT=y CONFIG_SPL_USB_HOST_SUPPORT=y +CONFIG_SPL_USB_STORAGE=y CONFIG_SPL_USB_GADGET=y CONFIG_SPL_USB_ETHER=y CONFIG_CMD_SPL=y @@ -41,12 +42,19 @@ CONFIG_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="am437x-gp-evm" CONFIG_OF_LIST="am437x-gp-evm am437x-sk-evm am43x-epos-evm am437x-idk-evm" CONFIG_ENV_IS_IN_FAT=y +CONFIG_ENV_FAT_INTERFACE="mmc" +CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y CONFIG_DM=y +CONFIG_REGMAP=y +CONFIG_SPL_REGMAP=y +CONFIG_SYSCON=y +CONFIG_SPL_SYSCON=y CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y CONFIG_DFU_SF=y +CONFIG_MISC=y CONFIG_DM_MMC=y CONFIG_MMC_OMAP_HS=y CONFIG_MTD=y @@ -56,6 +64,9 @@ CONFIG_SPI_FLASH_MACRONIX=y CONFIG_PHY_GIGE=y CONFIG_MII=y CONFIG_DRIVER_TI_CPSW=y +CONFIG_PHY=y +CONFIG_SPL_PHY=y +CONFIG_OMAP_USB2_PHY=y CONFIG_DM_SERIAL=y CONFIG_SPI=y CONFIG_TI_QSPI=y @@ -67,6 +78,7 @@ CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_OMAP=y +CONFIG_USB_DWC3_GENERIC=y CONFIG_USB_DWC3_PHY_OMAP=y CONFIG_OMAP_USB_PHY=y CONFIG_USB_GADGET=y diff --git a/configs/j721e_evm_r5_defconfig b/configs/j721e_evm_r5_defconfig index 19fbd450c7547da11324e10f3a360eb8adc050f3..b449d9b99716fe353f3c66c302caa2a5b0e6abfe 100644 --- a/configs/j721e_evm_r5_defconfig +++ b/configs/j721e_evm_r5_defconfig @@ -5,6 +5,7 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_SYS_MALLOC_F_LEN=0x70000 CONFIG_SOC_K3_J721E=y +CONFIG_K3_EARLY_CONS=y CONFIG_TARGET_J721E_R5_EVM=y CONFIG_ENV_SIZE=0x20000 CONFIG_ENV_OFFSET=0x680000 diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h index ba12428dbe6b19631fa6a609ec3316dd7da2d3a4..1b014c1022be2d88b5a2b33f55a38c7f5a8a7b41 100644 --- a/include/configs/ti_armv7_keystone2.h +++ b/include/configs/ti_armv7_keystone2.h @@ -213,6 +213,7 @@ "tftp_root=/\0" \ "nfs_root=/export\0" \ "mem_lpae=1\0" \ + "uinitrd_fixup=1\0" \ "addr_ubi=0x82000000\0" \ "addr_secdb_key=0xc000000\0" \ "name_kern=zImage\0" \