board: colibri_imx7: use SDP if USB serial downloader has been used
authorStefan Agner <stefan.agner@toradex.com>
Fri, 23 Jul 2021 06:39:45 +0000 (09:39 +0300)
committerStefano Babic <sbabic@denx.de>
Mon, 9 Aug 2021 11:09:29 +0000 (13:09 +0200)
In case USB serial downloader has been used to load U-Boot start the
serial download protocol (SDP) emulation. This allows to download
complete images such as Toradex Easy Installer over USB SDP as well.
This code uses the boot ROM provided boot information to reliably
detect USB serial downloader.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
board/toradex/colibri_imx7/colibri_imx7.c

index 301b07d..6822102 100644 (file)
@@ -355,12 +355,22 @@ int board_usb_phy_mode(int port)
        }
 }
 
+#if defined(CONFIG_BOARD_LATE_INIT)
 int board_late_init(void)
 {
 #if defined(CONFIG_DM_VIDEO)
        setup_lcd();
 #endif
+
+#if defined(CONFIG_CMD_USB_SDP)
+       if (is_boot_from_usb()) {
+               printf("Serial Downloader recovery mode, using sdp command\n");
+               env_set("bootdelay", "0");
+               env_set("bootcmd", "sdp 0");
+       }
+#endif
        return 0;
 }
+#endif /* CONFIG_BOARD_LATE_INIT */
 
 #endif