[U-Boot] [PATCH 0/2] Enable DFU for RAM on Allwinner devices

Siarhei Siamashka siarhei.siamashka at gmail.com
Wed Oct 28 05:49:49 CET 2015


On Wed, 28 Oct 2015 00:27:48 +0100
Piotr Król <piotr.krol at 3mdeb.com> wrote:

> On Tue, Oct 27, 2015 at 06:31:24AM +0200, Siarhei Siamashka wrote:
> > On Mon, 26 Oct 2015 12:18:35 +0100
> > Piotr Król <piotr.krol at 3mdeb.com> wrote:
> > 
> > > On Sun, Oct 25, 2015 at 06:44:45AM +0200, Siarhei Siamashka wrote:
> > > > 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()
> > > > 
> > > >  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.
> > 
> > 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

[...]

> 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 ?

Thanks for reporting this. I have also confirmed the problem with
a hardfloat toolchain and just sent a patch:

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

Debugging this involved just checking all the symbols in the object
files generated by a softfloat toolchain (it does not fail), then
filtering out all the symbols which also exist in a successful
hardfloat build (with fastboot config options disabled) and
comparing the remaining symbols with libgcc.a

The culprit was "__aeabi_uldivmod".

> > 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 ?

This whole series is not needed if you are only interested in DFU.

We just need to ensure that USB OTG is eventually enabled on all
sunxi boards (and also properly handles the ID pin to switch
between the device and host roles).

-- 
Best regards,
Siarhei Siamashka


More information about the U-Boot mailing list