Skip to content

Enable DFU for RAM on Allwinner devices

Piotr Król u-boot 1 version New

Get series with b4
b4 am 20151027232748.GJ17039@haysend

Versions newest first

  1. v1 Latest0 of 2 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 2 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [U-Boot] [PATCH 0/2] Enable DFU for RAM on Allwinner devices
Quoted 21 lines · Siarhei Siamashka
Quoted 10 lines · On Mon, 26 Oct 2015 12:18:35 +0100 Piotr Kr?l <[email protected]> wrote:
Quoted 9 lines · Siarhei Siamashka

Hello,

DFU allows to transfer large files (such as initrd images) much faster than FEL.

Siarhei Siamashka (2):
sunxi: Enable DFU for RAM
musb: sunxi: Implement dfu_usb_get_reset()

Quoted 7 lines
Quoted 3 lines
 drivers/usb/musb-new/sunxi.c   | 12 ++++++++++++
 include/configs/sunxi-common.h | 30 +++++++++++++++++++++++++-----
 2 files changed, 37 insertions(+), 5 deletions(-)

Siarhei,
can you give some pointers how to test those patches. I have A20-OLinuXino-Micro and Cubietruck and would be glad to give them a try.

Quoted 6 lines

Hello,

I tried to provide some basic usage instructions as a part of the commit message:

    https://patchwork.ozlabs.org/patch/535535/

Hi Siarhei,
unfortunately I'm not able to compile even clean master with enabled CONFIG_USB_MUSB_GADGET. I'm using Linaro toolchain and get this error:

arm-linux-gnueabihf-ld.bfd: error:
/home/pietrushnic/storage/wdc/projects/3mdeb/cubietruck/toolchains/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.3/libgcc.a(_udivmoddi4.o) uses VFP register arguments, u-boot does not arm-linux-gnueabihf-ld.bfd: failed to merge target specific data of file /home/pietrushnic/storage/wdc/projects/3mdeb/cubietruck/toolchains/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.3/libgcc.a(_udivmoddi4.o) Makefile:1183: recipe for target 'u-boot' failed
make: *** [u-boot] Error 1

CONFIG_USB_MUSB_GADGET automatically enable CONFIG_USB_MUSB_SUNXI. When I try with CONFIG_USB_MUSB_SUNXI not set I'm getting other failure:

(...)
drivers/usb/musb-new/musb_gadget.c:133:8: error: 'DMA_TO_DEVICE' undeclared (first use in this function) (...)
drivers/usb/musb-new/musb_gadget.c:134:8: error: 'DMA_FROM_DEVICE' undeclared (first use in this function)

      : DMA_FROM_DEVICE);
        ^
(...)
drivers/usb/musb-new/musb_gadget.c:164:7: error: 'DMA_TO_DEVICE' undeclared (first use in this function)
     ? DMA_TO_DEVICE
       ^
drivers/usb/musb-new/musb_gadget.c:165:7: error: 'DMA_FROM_DEVICE' undeclared (first use in this function)
     : DMA_FROM_DEVICE);

My steps:
make CROSS_COMPILE=arm-linux-gnueabihf- Cubietruck_defconfig make CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

# enable CONFIG_USB_MUSB_GADGET
make CROSS_COMPILE=arm-linux-gnueabihf- -j$(nproc)

Any idea how to narrow VFP problem ?

Quoted 5 lines

But you also need the "sunxi: cubietruck: Enable the USB OTG controller" patch from Maxime Ripard to enable USB OTG on the Cubietruck:

    https://patchwork.ozlabs.org/patch/530656/

Cannot apply this series to master cleanly. Should I try different tree ?

Quoted 10 lines
Quoted 2 lines

I think it would be interested to combine this method with Boris NAND support and get much better solution then {Live,Phoenix}Suit.

At this stage I'm only interested in the DFU usage as a speed booster for FEL. Booting over USB via FEL allows us to temporarily run more or less complete system (kernel and rootfs on ramdisk) on any Allwinner device without modifying existing pre-installed software on non-volatile storage. This already works fine, but we were not quite happy about the data transfer speed.

Quoted 7 lines

If you are interested in flashing NAND, then you can probably have a look at the recent fastboot patches from Maxime.

DFU means "Device Firmware Upgrade" and it can be also used for flashing NAND or writing images to SD cards over USB (if we hook up this part of the DFU functionality). The main question is how many alternative NAND flashing methods do we need?

IMHO one method that works would be great.

Best Regards,

Signature · 3 lines
Piotr Kr?l
Embedded Systems Consultant
http://3mdeb.com | @3mdeb_com