imx_common: check for bmode Serial Downloader
authorStefan Agner <stefan.agner@toradex.com>
Tue, 27 Dec 2016 16:01:42 +0000 (17:01 +0100)
committerStefano Babic <sbabic@denx.de>
Fri, 27 Jan 2017 09:40:16 +0000 (10:40 +0100)
Before commit 81c4eccb55cc ("imx: mx6: fix USB bmode to use
reserved value") a non-reserved value has been used to trigger
Serial Downloader using bmode, which translated to a GPR9 value
of 0x10. However, on some boards the non-reserved value lead to
unreliable bmode command. With the above mentioned commit, U-boot
switched to use [7:4] b0001, which translates to GPR9 0x10 for
Serial Downloader mode. Check for the new value and classify it
as Serial Downloader mode.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
CC: Stefano Babic <sbabic@denx.de>
CC: Tim Harvey <tharvey@gateworks.com>
CC: Fabio Estevam <Fabio.Estevam@freescale.com>
CC: Eric Nelson <eric.nelson@boundarydevices.com>
arch/arm/imx-common/spl.c

index 60c4adf237517706bdc8df7b7e3f54dda47306b2..46325ec344b2189a61ce266fef29ed73aa67372e 100644 (file)
@@ -27,8 +27,7 @@ u32 spl_boot_device(void)
         * Check for BMODE if serial downloader is enabled
         * BOOT_MODE - see IMX6DQRM Table 8-1
         */
-       if ((((bmode >> 24) & 0x03)  == 0x01) || /* Serial Downloader */
-               (gpr10_boot && (reg == 1)))
+       if (((bmode >> 24) & 0x03) == 0x01) /* Serial Downloader */
                return BOOT_DEVICE_UART;
        /* BOOT_CFG1[7:4] - see IMX6DQRM Table 8-8 */
        switch ((reg & 0x000000FF) >> 4) {
@@ -40,6 +39,9 @@ u32 spl_boot_device(void)
                else
                        return BOOT_DEVICE_NOR;
                break;
+       /* Reserved: Used to force Serial Downloader */
+       case 0x1:
+               return BOOT_DEVICE_UART;
        /* SATA: See 8.5.4, Table 8-20 */
        case 0x2:
                return BOOT_DEVICE_SATA;