Hi Sjoerd Thanks for this series.
On Thu, 2023-04-06 at 20:55 +0200, Sjoerd Simons wrote: > Enable USB host as well as USB gadget and DFU support for a53; For the > r5 due to the smaller available size create a new config just for > DFU support > > Signed-off-by: Sjoerd Simons <sjo...@collabora.com> With the nitpick about CONFIG_USB_XHCI_DWC3 (needs to be removed) below. Tested-by: Marcel Ziswiler <marcel.ziswi...@toradex.com> I tested both USB device aka gadget (with DFU and UMS) as well as USB host on both the TI AM625 EVM aka SK as well as the Toradex Verdin AM62 [1] (plus USB integration analogous to EVM/SK to be posted later). [1] https://lore.kernel.org/all/20230607120639.82087-1-mar...@ziswiler.com/ > --- > > Changes in v2: > - Create a seperate defconfig for R5 > > configs/am62x_evm_a53_defconfig | 35 +++++++- > configs/am62x_evm_r5_usbdfu_defconfig | 116 ++++++++++++++++++++++++++ > 2 files changed, 148 insertions(+), 3 deletions(-) > create mode 100644 configs/am62x_evm_r5_usbdfu_defconfig > > diff --git a/configs/am62x_evm_a53_defconfig b/configs/am62x_evm_a53_defconfig > index cc9c8eab3e3..7dbf2f54050 100644 > --- a/configs/am62x_evm_a53_defconfig > +++ b/configs/am62x_evm_a53_defconfig > @@ -1,5 +1,6 @@ > CONFIG_ARM=y > CONFIG_ARCH_K3=y > +CONFIG_SYS_MALLOC_LEN=0x2000000 > CONFIG_SYS_MALLOC_F_LEN=0x8000 > CONFIG_SPL_LIBCOMMON_SUPPORT=y > CONFIG_SPL_LIBGENERIC_SUPPORT=y > @@ -9,9 +10,11 @@ CONFIG_K3_ATF_LOAD_ADDR=0x9e780000 > CONFIG_TARGET_AM625_A53_EVM=y > CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y > CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000 > +CONFIG_SF_DEFAULT_SPEED=25000000 > CONFIG_SPL_DM_SPI=y > CONFIG_DEFAULT_DEVICE_TREE="k3-am625-sk" > CONFIG_SPL_TEXT_BASE=0x80080000 > +CONFIG_OF_LIBFDT_OVERLAY=y > CONFIG_DM_RESET=y > CONFIG_SPL_MMC=y > CONFIG_SPL_SERIAL=y > @@ -33,17 +36,23 @@ CONFIG_SPL_SYS_MALLOC_SIMPLE=y > CONFIG_SPL_STACK_R=y > CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y > CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400 > +CONFIG_SPL_ENV_SUPPORT=y > CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot.img" > CONFIG_SPL_DM_MAILBOX=y > CONFIG_SPL_DM_SPI_FLASH=y > CONFIG_SPL_POWER_DOMAIN=y > +CONFIG_SPL_RAM_SUPPORT=y > +CONFIG_SPL_RAM_DEVICE=y > # CONFIG_SPL_SPI_FLASH_TINY is not set > CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y > CONFIG_SPL_SPI_LOAD=y > CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000 > +CONFIG_SPL_USB_GADGET=y > +CONFIG_SPL_DFU=y > CONFIG_SPL_YMODEM_SUPPORT=y > -CONFIG_SYS_BOOTM_LEN=0x800000 > +CONFIG_CMD_DFU=y > CONFIG_CMD_MMC=y > +CONFIG_CMD_USB=y > CONFIG_OF_CONTROL=y > CONFIG_SPL_OF_CONTROL=y > CONFIG_MULTI_DTB_FIT=y > @@ -54,10 +63,17 @@ CONFIG_SPL_DM=y > CONFIG_SPL_DM_SEQ_ALIAS=y > CONFIG_REGMAP=y > CONFIG_SPL_REGMAP=y > +CONFIG_SYSCON=y > +CONFIG_SPL_SYSCON=y > CONFIG_SPL_OF_TRANSLATE=y > CONFIG_CLK=y > CONFIG_SPL_CLK=y > CONFIG_CLK_TI_SCI=y > +CONFIG_DFU_MMC=y > +CONFIG_DFU_RAM=y > +CONFIG_DFU_SF=y > +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000 > +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000 > CONFIG_DMA_CHANNELS=y > CONFIG_TI_K3_NAVSS_UDMA=y > CONFIG_TI_SCI_PROTOCOL=y > @@ -68,7 +84,6 @@ CONFIG_MMC_SDHCI_ADMA=y > CONFIG_SPL_MMC_SDHCI_ADMA=y > CONFIG_MMC_SDHCI_AM654=y > CONFIG_DM_SPI_FLASH=y > -CONFIG_SF_DEFAULT_SPEED=25000000 > CONFIG_SPI_FLASH_SFDP_SUPPORT=y > CONFIG_SPI_FLASH_SOFT_RESET=y > CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y > @@ -96,5 +111,19 @@ CONFIG_CADENCE_QSPI=y > CONFIG_SYSRESET=y > CONFIG_SPL_SYSRESET=y > CONFIG_SYSRESET_TI_SCI=y > +CONFIG_USB=y > +CONFIG_DM_USB_GADGET=y > +CONFIG_SPL_DM_USB_GADGET=y > +CONFIG_USB_XHCI_HCD=y > +CONFIG_USB_XHCI_DWC3=y I believe the above got superseded by CONFIG_USB_DWC3_AM62 further below, not? At least in my testing it always crashed as follows unless I removed CONFIG_USB_XHCI_DWC3: => usb start starting USB... Bus usb@31000000: generic_phy_get_bulk : no phys property Register 1000840 NbrPorts 1 Starting the controller USB XHCI 1.10 Bus usb@31100000: generic_phy_get_bulk : no phys property Register 1000840 NbrPorts 1 Starting the controller USB XHCI 1.10 Bus usb@31100000: generic_phy_get_bulk : no phys property Register 1000840 NbrPorts 1 Starting the controller USB XHCI 1.10 scanning bus usb@31000000 for devices... 1 USB Device(s) found scanning bus usb@31100000 for devices... XHCI timeout on event type 33... cannot recover. BUG at drivers/usb/host/xhci-ring.c:496/xhci_wait_for_event()! BUG! resetting ... System reset not supported on this platform ### ERROR ### Please RESET the board ### > +CONFIG_USB_DWC3=y > +CONFIG_USB_DWC3_GENERIC=y > +CONFIG_SPL_USB_DWC3_GENERIC=y > +CONFIG_SPL_USB_DWC3_AM62=y > +CONFIG_USB_DWC3_AM62=y > +CONFIG_USB_GADGET=y > +CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments" > +CONFIG_USB_GADGET_VENDOR_NUM=0x0451 > +CONFIG_USB_GADGET_PRODUCT_NUM=0x6165 > +CONFIG_USB_GADGET_DOWNLOAD=y > CONFIG_FS_FAT_MAX_CLUSTSIZE=16384 > -CONFIG_OF_LIBFDT_OVERLAY=y > diff --git a/configs/am62x_evm_r5_usbdfu_defconfig > b/configs/am62x_evm_r5_usbdfu_defconfig > new file mode 100644 > index 00000000000..00a0821b6df > --- /dev/null > +++ b/configs/am62x_evm_r5_usbdfu_defconfig > @@ -0,0 +1,116 @@ > +CONFIG_ARM=y > +CONFIG_ARCH_K3=y > +CONFIG_SYS_MALLOC_LEN=0x08000000 > +CONFIG_SYS_MALLOC_F_LEN=0x9000 > +CONFIG_SPL_LIBCOMMON_SUPPORT=y > +CONFIG_SPL_LIBGENERIC_SUPPORT=y > +CONFIG_NR_DRAM_BANKS=2 > +CONFIG_SOC_K3_AM625=y > +CONFIG_TARGET_AM625_R5_EVM=y > +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y > +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x43c3a7f0 > +CONFIG_ENV_SIZE=0x20000 > +CONFIG_DM_GPIO=y > +CONFIG_DEFAULT_DEVICE_TREE="k3-am625-r5-sk" > +CONFIG_SPL_TEXT_BASE=0x43c00000 > +CONFIG_DM_RESET=y > +CONFIG_SPL_SERIAL=y > +CONFIG_SPL_DRIVERS_MISC=y > +CONFIG_SPL_STACK_R_ADDR=0x82000000 > +CONFIG_SPL_SYS_MALLOC_F_LEN=0x7000 > +CONFIG_SPL_SIZE_LIMIT=0x3A7F0 > +CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0x3500 > +CONFIG_SPL_LOAD_FIT=y > +CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000 > +CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y > +# CONFIG_DISPLAY_CPUINFO is not set > +CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y > +CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC=y > +CONFIG_SPL_MAX_SIZE=0x3B000 > +CONFIG_SPL_PAD_TO=0x0 > +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y > +CONFIG_SPL_BSS_START_ADDR=0x43c3b000 > +CONFIG_SPL_BSS_MAX_SIZE=0x3000 > +CONFIG_SPL_SYS_REPORT_STACK_F_USAGE=y > +CONFIG_SPL_SYS_MALLOC_SIMPLE=y > +CONFIG_SPL_STACK_R=y > +CONFIG_SPL_SEPARATE_BSS=y > +CONFIG_SYS_SPL_MALLOC=y > +CONFIG_HAS_CUSTOM_SPL_MALLOC_START=y > +CONFIG_CUSTOM_SYS_SPL_MALLOC_ADDR=0x84000000 > +CONFIG_SYS_SPL_MALLOC_SIZE=0x1000000 > +CONFIG_SPL_EARLY_BSS=y > +CONFIG_SPL_ENV_SUPPORT=y > +CONFIG_SPL_DM_MAILBOX=y > +CONFIG_SPL_DM_RESET=y > +CONFIG_SPL_POWER_DOMAIN=y > +CONFIG_SPL_RAM_SUPPORT=y > +CONFIG_SPL_RAM_DEVICE=y > +CONFIG_SPL_REMOTEPROC=y > +CONFIG_SPL_USB_GADGET=y > +CONFIG_SPL_DFU=y > +CONFIG_SPL_YMODEM_SUPPORT=y > +CONFIG_HUSH_PARSER=y > +CONFIG_CMD_ASKENV=y > +CONFIG_CMD_DFU=y > +CONFIG_CMD_REMOTEPROC=y > +# CONFIG_CMD_SETEXPR is not set > +CONFIG_CMD_TIME=y > +CONFIG_OF_CONTROL=y > +CONFIG_SPL_OF_CONTROL=y > +CONFIG_SPL_MULTI_DTB_FIT=y > +CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y > +CONFIG_SYS_RELOC_GD_ENV_ADDR=y > +CONFIG_SPL_DM=y > +CONFIG_SPL_DM_SEQ_ALIAS=y > +CONFIG_REGMAP=y > +CONFIG_SPL_REGMAP=y > +CONFIG_SYSCON=y > +CONFIG_SPL_SYSCON=y > +CONFIG_SPL_OF_TRANSLATE=y > +CONFIG_CLK=y > +CONFIG_SPL_CLK=y > +CONFIG_SPL_CLK_CCF=y > +CONFIG_SPL_CLK_K3_PLL=y > +CONFIG_SPL_CLK_K3=y > +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000 > +CONFIG_TI_SCI_PROTOCOL=y > +CONFIG_DA8XX_GPIO=y > +CONFIG_DM_MAILBOX=y > +CONFIG_K3_SEC_PROXY=y > +CONFIG_MISC=y > +CONFIG_ESM_K3=y > +CONFIG_PINCTRL=y > +# CONFIG_PINCTRL_GENERIC is not set > +CONFIG_SPL_PINCTRL=y > +# CONFIG_SPL_PINCTRL_GENERIC is not set > +CONFIG_PINCTRL_SINGLE=y > +CONFIG_POWER_DOMAIN=y > +CONFIG_TI_POWER_DOMAIN=y > +CONFIG_K3_SYSTEM_CONTROLLER=y > +CONFIG_REMOTEPROC_TI_K3_ARM64=y > +CONFIG_RESET_TI_SCI=y > +CONFIG_SPECIFY_CONSOLE_INDEX=y > +CONFIG_DM_SERIAL=y > +CONFIG_SOC_DEVICE=y > +CONFIG_SOC_DEVICE_TI_K3=y > +CONFIG_SOC_TI=y > +CONFIG_TIMER=y > +CONFIG_SPL_TIMER=y > +CONFIG_OMAP_TIMER=y > +CONFIG_USB=y > +CONFIG_DM_USB_GADGET=y > +CONFIG_SPL_DM_USB_GADGET=y > +CONFIG_USB_XHCI_HCD=y > +CONFIG_USB_XHCI_DWC3=y The same applies here. > +CONFIG_USB_DWC3=y > +CONFIG_USB_DWC3_GENERIC=y > +CONFIG_SPL_USB_DWC3_GENERIC=y > +CONFIG_SPL_USB_DWC3_AM62=y > +CONFIG_USB_GADGET=y > +CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments" > +CONFIG_USB_GADGET_VENDOR_NUM=0x0451 > +CONFIG_USB_GADGET_PRODUCT_NUM=0x6165 > +CONFIG_USB_GADGET_DOWNLOAD=y > +CONFIG_LIB_RATIONAL=y > +CONFIG_SPL_LIB_RATIONAL=y Cheers Marcel