
Enable SDP protocol support in SPL for DH i.MX6 DHSOM, now that those components fit into the SPL due to LTO.
To start U-Boot via SDP upload on i.MX6 DHSOM based board, proceed as follows: - Compile imx_usb [1] . - Power off the i.MX6 DHSOM based board. - Connect both USB-serial console and USB-OTG miniB ports to host PC. - Switch board to USB boot mode. - Power on the board. - Verify using '$ dmesg' that a new device has been detected as follows: New USB device found, idVendor=15a2, idProduct=0054, bcdDevice= 0.01 New USB device strings: Mfr=1, Product=2, SerialNumber=0 Product: SE Blank ARIK Manufacturer: Freescale SemiConductor Inc
- Upload U-Boot SPL: $ imx_usb u-boot-with-spl.imx
- Wait for SPL to come up, the following print ought to be the last on UART console: SDP: handle requests...
- Upload U-Boot proper: $ imx_usb u-boot.img
[1] https://github.com/boundarydevices/imx_usb_loader.git
Signed-off-by: Marek Vasut marex@denx.de --- Cc: Andreas Geisreiter ageisreiter@dh-electronics.de Cc: Christoph Niedermaier cniedermaier@dh-electronics.com Cc: Fabio Estevam festevam@gmail.com Cc: NXP i.MX U-Boot Team uboot-imx@nxp.com Cc: Stefano Babic sbabic@denx.de Cc: u-boot@dh-electronics.com --- configs/dh_imx6_defconfig | 5 +++++ include/configs/dh_imx6.h | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig index cf52b0e3a00..3de974f139d 100644 --- a/configs/dh_imx6_defconfig +++ b/configs/dh_imx6_defconfig @@ -40,6 +40,10 @@ CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y CONFIG_SYS_SPL_MALLOC=y CONFIG_SPL_SPI_LOAD=y CONFIG_SYS_SPI_U_BOOT_OFFS=0x11400 +CONFIG_SPL_USB_HOST=y +CONFIG_SPL_USB_GADGET=y +CONFIG_SPL_USB_SDP_SUPPORT=y +CONFIG_SPL_WATCHDOG=y CONFIG_SYS_MAXARGS=32 CONFIG_SYS_PBSIZE=532 CONFIG_CMD_MEMTEST=y @@ -113,6 +117,7 @@ CONFIG_USB_GADGET_MANUFACTURER="dh" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y +CONFIG_SDP_LOADADDR=0x17ffffc0 CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 CONFIG_IMX_WATCHDOG=y diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h index 5cf73274d5e..ef27e483295 100644 --- a/include/configs/dh_imx6.h +++ b/include/configs/dh_imx6.h @@ -31,7 +31,6 @@ #define CFG_MXC_UART_BASE UART1_BASE
/* USB Configs */ -#ifdef CONFIG_CMD_USB #define CFG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) #define CFG_MXC_USB_FLAGS 0
@@ -39,7 +38,6 @@ #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE) #define DFU_DEFAULT_POLL_TIMEOUT 300 #endif -#endif
#define CFG_EXTRA_ENV_SETTINGS \ "console=ttymxc0,115200\0" \