diff mbox series

[2/2] ARM: imx: Enable SDP download in SPL on DH i.MX6 DHSOM

Message ID 20230307075105.132331-2-marex@denx.de
State Accepted
Commit d08c00082183dc6a2301690678794d2b80e75258
Delegated to: Stefano Babic
Headers show
Series [1/2] ARM: imx: Enable LTO for DH electronics i.MX6 DHCOM | expand

Commit Message

Marek Vasut March 7, 2023, 7:51 a.m. UTC
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(-)

Comments

Stefano Babic April 4, 2023, 10:19 a.m. UTC | #1
> 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>
Applied to u-boot-imx, next, thanks !

Best regards,
Stefano Babic
diff mbox series

Patch

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"	\