colibri_imx6: use SDP if USB serial downloader has been used
authorStefan Agner <stefan.agner@toradex.com>
Fri, 8 Feb 2019 17:42:26 +0000 (18:42 +0100)
committerStefano Babic <sbabic@denx.de>
Sat, 13 Apr 2019 18:30:09 +0000 (20:30 +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>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
board/toradex/colibri_imx6/colibri_imx6.c

index 35adff1d0094ff47a51510fe2807860c766dcff5..bdc7769d9e35208ddfcb25dd93fe4139f93ee44d 100644 (file)
@@ -663,6 +663,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 */
@@ -693,7 +701,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,