From c3ab97c1dd48ef8f4f737f1e83b3e39ccf13a532 Mon Sep 17 00:00:00 2001 From: Faiz Abbas Date: Mon, 3 Aug 2020 11:35:04 +0530 Subject: spl: usb: Create an API spl_usb_load() Create a new API spl_usb_load() that takes the filename as a parameter instead of taking the default U-boot PAYLOAD_NAME Signed-off-by: Faiz Abbas --- include/spl.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'include') diff --git a/include/spl.h b/include/spl.h index 580e4e024fd..b72dfc7e3d4 100644 --- a/include/spl.h +++ b/include/spl.h @@ -503,6 +503,20 @@ int spl_mmc_load(struct spl_image_info *spl_image, int raw_part, unsigned long raw_sect); +/** + * spl_usb_load() - Load an image file from USB mass storage + * + * @param spl_image Image data filled in by loading process + * @param bootdev Describes which device to load from + * @param raw_part Fat partition to load from + * @param filename Name of file to load + * + * @return 0 on success, otherwise error code + */ +int spl_usb_load(struct spl_image_info *spl_image, + struct spl_boot_device *bootdev, + int partition, const char *filename); + int spl_ymodem_load_image(struct spl_image_info *spl_image, struct spl_boot_device *bootdev); -- cgit v1.3.1 From b528c725e70d93373c1868ee1193174303eb0c60 Mon Sep 17 00:00:00 2001 From: Faiz Abbas Date: Mon, 3 Aug 2020 11:35:13 +0530 Subject: configs: am65x_evm: Add support for DFU related configs Add offset and environment related configs used for booting from DFU. Signed-off-by: Faiz Abbas --- include/configs/am65x_evm.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/configs/am65x_evm.h b/include/configs/am65x_evm.h index 4de0dacee3c..9b19d7c3194 100644 --- a/include/configs/am65x_evm.h +++ b/include/configs/am65x_evm.h @@ -22,6 +22,7 @@ #ifdef CONFIG_TARGET_AM654_A53_EVM #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SPL_TEXT_BASE + \ CONFIG_SYS_K3_NON_SECURE_MSRAM_SIZE) +#define CONFIG_SYS_DFU_DATA_BUF_SIZE 0x20000 #else /* * Maximum size in memory allocated to the SPL BSS. Keep it as tight as @@ -44,6 +45,7 @@ /* Configure R5 SPL post-relocation malloc pool in DDR */ #define CONFIG_SYS_SPL_MALLOC_START 0x84000000 #define CONFIG_SYS_SPL_MALLOC_SIZE SZ_16M +#define CONFIG_SYS_DFU_DATA_BUF_SIZE 0x5000 #endif #ifdef CONFIG_SYS_K3_SPL_ATF @@ -124,8 +126,8 @@ "rootfstype=ubifs root=ubi0:rootfs rw ubi.mtd=ospi.rootfs\0" #define EXTRA_ENV_DFUARGS \ - "dfu_bufsiz=0x20000\0" \ DFU_ALT_INFO_MMC \ + DFU_ALT_INFO_RAM \ DFU_ALT_INFO_EMMC \ DFU_ALT_INFO_OSPI -- cgit v1.3.1 From eb5bf2f3b6eca92699b6658045f3b8114722fab1 Mon Sep 17 00:00:00 2001 From: Faiz Abbas Date: Mon, 3 Aug 2020 11:35:14 +0530 Subject: configs: am65x_evm_a53: Enable USB Mass storage and DFU boot modes Enable configs to facilitate booting from USB Mass Storage devices as well as USB peripheral boot Signed-off-by: Faiz Abbas --- configs/am65x_evm_a53_defconfig | 10 ++++++++++ include/configs/am65x_evm.h | 2 ++ 2 files changed, 12 insertions(+) (limited to 'include') diff --git a/configs/am65x_evm_a53_defconfig b/configs/am65x_evm_a53_defconfig index 359f270ac73..8a94ad15305 100644 --- a/configs/am65x_evm_a53_defconfig +++ b/configs/am65x_evm_a53_defconfig @@ -26,6 +26,7 @@ CONFIG_DEFAULT_DEVICE_TREE="k3-am654-base-board" CONFIG_DISTRO_DEFAULTS=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_SPL_LOAD_FIT=y +CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000 # CONFIG_USE_SPL_FIT_GENERATOR is not set CONFIG_OF_BOARD_SETUP=y CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern" @@ -36,15 +37,21 @@ CONFIG_SPL_SEPARATE_BSS=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400 CONFIG_SPL_DMA=y +CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_DM_MAILBOX=y CONFIG_SPL_MTD_SUPPORT=y CONFIG_SPL_DM_SPI_FLASH=y CONFIG_SPL_DM_RESET=y CONFIG_SPL_POWER_DOMAIN=y +CONFIG_SPL_RAM_SUPPORT=y # CONFIG_SPL_SPI_FLASH_TINY is not set CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y CONFIG_SPL_SPI_LOAD=y +CONFIG_SPL_USB_HOST_SUPPORT=y +CONFIG_SPL_USB_STORAGE=y +CONFIG_SPL_USB_GADGET=y +CONFIG_SPL_DFU=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_CMD_ASKENV=y CONFIG_CMD_DFU=y @@ -74,6 +81,7 @@ CONFIG_DM=y CONFIG_SPL_DM=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_SPL_REGMAP=y +CONFIG_SPL_SYSCON=y CONFIG_SPL_OF_TRANSLATE=y CONFIG_CLK=y CONFIG_SPL_CLK=y @@ -114,6 +122,7 @@ CONFIG_PCI=y CONFIG_DM_PCI=y CONFIG_PCI_KEYSTONE=y CONFIG_PHY=y +CONFIG_SPL_PHY=y CONFIG_AM654_PHY=y CONFIG_OMAP_USB2_PHY=y CONFIG_PINCTRL=y @@ -139,6 +148,7 @@ CONFIG_SYSRESET_TI_SCI=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_DM_USB_GADGET=y +CONFIG_SPL_DM_USB_GADGET=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_DWC3=y diff --git a/include/configs/am65x_evm.h b/include/configs/am65x_evm.h index 9b19d7c3194..df0605657ae 100644 --- a/include/configs/am65x_evm.h +++ b/include/configs/am65x_evm.h @@ -142,6 +142,8 @@ EXTRA_ENV_RPROC_SETTINGS \ EXTRA_ENV_DFUARGS +#define CONFIG_SYS_USB_FAT_BOOT_PARTITION 1 + /* Now for the remaining common defines */ #include -- cgit v1.3.1 From cf1d6867f7747388000a52124e736b451af8e66a Mon Sep 17 00:00:00 2001 From: Lokesh Vutla Date: Wed, 5 Aug 2020 22:44:24 +0530 Subject: board: ti: j7200: Introduce support for j7200 build targets j7200-evm has minor differences with j721e-evm based on the IPs available in the SoC. Introduce separate build targets for j7200-evm to incorporate the differences. Signed-off-by: Lokesh Vutla Reviewed-by: Suman Anna --- board/ti/j721e/Kconfig | 53 +++++++++++++++++++++++++++++++++++++++++++++ board/ti/j721e/evm.c | 3 ++- include/configs/j721e_evm.h | 4 ++-- 3 files changed, 57 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/board/ti/j721e/Kconfig b/board/ti/j721e/Kconfig index e56dc53bfa0..2cbe2b2481a 100644 --- a/board/ti/j721e/Kconfig +++ b/board/ti/j721e/Kconfig @@ -27,6 +27,26 @@ config TARGET_J721E_R5_EVM imply SYS_K3_SPL_ATF imply TI_I2C_BOARD_DETECT +config TARGET_J7200_A72_EVM + bool "TI K3 based J7200 EVM running on A72" + select ARM64 + select SOC_K3_J721E + select BOARD_LATE_INIT + imply TI_I2C_BOARD_DETECT + select SYS_DISABLE_DCACHE_OPS + +config TARGET_J7200_R5_EVM + bool "TI K3 based J7200 EVM running on R5" + select CPU_V7R + select SYS_THUMB_BUILD + select SOC_K3_J721E + select K3_LOAD_SYSFW + select RAM + select SPL_RAM + select K3_J721E_DDRSS + imply SYS_K3_SPL_ATF + imply TI_I2C_BOARD_DETECT + endchoice if TARGET_J721E_A72_EVM @@ -61,3 +81,36 @@ config SPL_LDSCRIPT source "board/ti/common/Kconfig" endif + +if TARGET_J7200_A72_EVM + +config SYS_BOARD + default "j721e" + +config SYS_VENDOR + default "ti" + +config SYS_CONFIG_NAME + default "j721e_evm" + +source "board/ti/common/Kconfig" + +endif + +if TARGET_J7200_R5_EVM + +config SYS_BOARD + default "j721e" + +config SYS_VENDOR + default "ti" + +config SYS_CONFIG_NAME + default "j721e_evm" + +config SPL_LDSCRIPT + default "arch/arm/mach-omap2/u-boot-spl.lds" + +source "board/ti/common/Kconfig" + +endif diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c index 86e7cd4051e..ae508316ef9 100644 --- a/board/ti/j721e/evm.c +++ b/board/ti/j721e/evm.c @@ -362,7 +362,8 @@ void spl_board_init(void) int ret; #endif - if (IS_ENABLED(CONFIG_TARGET_J721E_A72_EVM) && + if ((IS_ENABLED(CONFIG_TARGET_J721E_A72_EVM) || + IS_ENABLED(CONFIG_TARGET_J7200_A72_EVM)) && IS_ENABLED(CONFIG_TI_I2C_BOARD_DETECT)) probe_daughtercards(); diff --git a/include/configs/j721e_evm.h b/include/configs/j721e_evm.h index e1681af3f69..c8a76037ff0 100644 --- a/include/configs/j721e_evm.h +++ b/include/configs/j721e_evm.h @@ -20,7 +20,7 @@ #define CONFIG_SYS_SDRAM_BASE1 0x880000000 /* SPL Loader Configuration */ -#ifdef CONFIG_TARGET_J721E_A72_EVM +#if defined(CONFIG_TARGET_J721E_A72_EVM) || defined(CONFIG_TARGET_J7200_A72_EVM) #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SPL_TEXT_BASE + \ CONFIG_SYS_K3_NON_SECURE_MSRAM_SIZE) /* Image load address in RAM for DFU boot*/ @@ -127,7 +127,7 @@ DFU_ALT_INFO_RAM \ DFU_ALT_INFO_OSPI -#ifdef CONFIG_TARGET_J721E_A72_EVM +#if defined(CONFIG_TARGET_J721E_A72_EVM) || defined(CONFIG_TARGET_J7200_A72_EVM) #define EXTRA_ENV_J721E_BOARD_SETTINGS_MTD \ "mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \ "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" -- cgit v1.3.1