Skip to content

Enable DFU for RAM on Allwinner devices

Siarhei Siamashka u-boot 1 version New

Get series with b4
b4 am 20151028064949.5ba98da0@i7

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 39 lines · On Wed, 28 Oct 2015 00:27:48 +0100 Piotr Kr?l <[email protected]> wrote:
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

[...]

Quoted 7 lines

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".

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

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).

Signature · 2 lines
Best regards,
Siarhei Siamashka