[U-Boot] Flashing SPI NOR via DFU

Fabio Estevam festevam at gmail.com
Fri Sep 18 23:21:01 CEST 2015


Hi,

I am trying to use DFU to flash the SPI NOR on a mx6qsabresd. These
are the changes I made:

--- a/include/configs/mx6sabre_common.h
+++ b/include/configs/mx6sabre_common.h
@@ -80,6 +80,7 @@
        "boot_fdt=try\0" \
        "ip_dyn=yes\0" \
        "console=" CONFIG_CONSOLE_DEV "\0" \
+       "dfu_alt_info=u-boot raw 0x0 0xc0000\0" \
        "fdt_high=0xffffffff\0"   \
        "initrd_high=0xffffffff\0" \
        "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
@@ -238,6 +239,15 @@
 #define CONFIG_G_DNL_VENDOR_NUM                0x0525
 #define CONFIG_G_DNL_PRODUCT_NUM       0xa4a5
 #define CONFIG_G_DNL_MANUFACTURER      "FSL"
+
+/* USB Device Firmware Update support */
+#define CONFIG_CMD_DFU
+#define CONFIG_USB_FUNCTION_DFU
+#define CONFIG_DFU_MMC
+#define CONFIG_DFU_SF
+#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
+#define DFU_DEFAULT_POLL_TIMEOUT 300

Then I run:
=> dfu 0 sf 0:0:25000000:0
SF: Detected M25P32 with page size 256 Bytes, erase size 64 KiB, total 4 MiB

and on the PC host:
sudo dfu-util -D u-boot.imx -a u-boot
dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util at lists.gnumonks.org

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0525:a4a5
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 4096
Copying data from PC to DFU device
Download    [=========================] 100%       478208 bytes
Download done.
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(10) = dfuERROR, status(14) = Something went wrong, but the
device does not know what it was
Done!

and the mx6qsabresd hangs at the download mark:
########

I used the dfu_alt_info from Boundary Devices' U-boot.

I am able to flash the SD card (need to adjust dfu_alt_info in this
case), so DFU is working.

Is there anything I am missing to get SPI NOR to be flashed via DFU?

Thanks,

Fabio Estevam


More information about the U-Boot mailing list