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

Marcel Ziswiler
2019-02-08T17:42:26Z

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 --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,
--
2.20.1