diff mbox series

[U-Boot,v1,23/26] colibri_imx6: use SDP if USB serial downloader has been used

Message ID 20190208174229.23562-24-marcel@ziswiler.com
State Accepted
Commit 52084bfc8027902e540433be8dea2ce64c8c9f7d
Delegated to: Stefano Babic
Headers show
Series colibri imx6 fixes, device tree enablement and driver model conversion | expand

Commit Message

Marcel Ziswiler Feb. 8, 2019, 5:42 p.m. UTC
From: Stefan Agner <stefan.agner@toradex.com>

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>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

---

 board/toradex/colibri_imx6/colibri_imx6.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c
index fd988bd2b0..4d9032419a 100644
--- a/board/toradex/colibri_imx6/colibri_imx6.c
+++ b/board/toradex/colibri_imx6/colibri_imx6.c
@@ -654,6 +654,14 @@  int board_late_init(void)
 	env_set("board_rev", env_str);
 #endif
 
+#ifdef 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 /* CONFIG_CMD_USB_SDP */
+
 	return 0;
 }
 #endif /* CONFIG_BOARD_LATE_INIT */
@@ -684,7 +692,7 @@  int ft_board_setup(void *blob, bd_t *bd)
 
 	ft_common_board_setup(blob, bd);
 
-	cma_size = getenv_ulong("cma-size", 10, 320 * 1024 * 1024);
+	cma_size = env_get_ulong("cma-size", 10, 320 * 1024 * 1024);
 	cma_size = min((u32)(gd->ram_size >> 1), cma_size);
 
 	fdt_setprop_u32(blob,