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 35adff1..bdc7769 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,