[U-Boot] [RFC PATCH 1/5] spl: dfu: add dfu support in SPL

Lukasz Majewski l.majewski at samsung.com
Tue May 31 11:55:26 CEST 2016


Hi Ravi,

> Hi Lucasz
> 
> Thanks for active support.
> 
> >> >> > 
> >> >> > - Would it be hard to add SPL-DFU support also to BeagleBone
> >> >> >  Black(am335x) (BBB) board? I'm asking since BBB is far more 
> >> >> > pervasive than dra7x (and I might be able to cover SPL-DFU
> >> >> > easily with our new ptest (DFU) test suite).
> >> >> >   
> >> >> 
> >> >> It's possible to extend this for other platform, but SPL size
> >> >> would be 152k.
> >> 
> >> >That was my point to reduce the size as much as possible and only 
> >> >provide minimal functionality to fit the bill.
> >> 
> >> Since DFU is tighly coupled to u-boot infrastructure , the size
> >> will increase due to multiple dependencies to compile u-boot DFU
> >> source in SPL. Let me re-think on possibility and come back.
> 
> >If you would need any assistance, please let me know (I don't have
> >dra7x, but I do have Beagle Bone Black).
> 
> The current implementation of dfu (drivers/dfu/dfu.c) relies on
> environment modules (getenv,setenv), and hash algo methods. The
> mandatory modules for DFU includes USB(dwc3/musb), gadget,
> drivers/dfu, hash, environ modules. Added to this mmc/sf support,
> with filesystem fat/ext4 would definitely increase the size.
> 

I've double checked BBB SPL setup:

- SPL is the MLO (./common/spl/)
- Its size shall be less than 128 KiB
- It can reside on eMMC (fat partition, raw LBA offset), NAND or be sent
  via serial port.

I've build the am335x_boneblack_defconfig and MLO size is 75 KiB.

Please correct me, but it seems that the SPL-DFU support adds around
30 KiB to SPL binary size.

If yes, then even BBB's SPL can support DFU without any problems (105KiB
< 128 KiB).

I'm also wondering if we could even shrink the code more with
reusing or extending the code at ./common/spl/spl_{ext|fat|mmc|sf,
etc}.c (in this way we avoid adding the whole fat, ext, sf "commands").

For more aggressive size reduction we could for example disable hash
algo checking and add ./common/spl/spl_dfu.c file with ordinary
functions and rid of the need to add the whole dfu command.


> I have tried minimal subset adding DFU-SF serial flash support alone
> in SPL, this itself increases SPL size to 30K+ (SPL size approx.
> 107KB for dra7x). 
> 
> But beagle bone IRAM would be around 64KB right? Definetly this will
> not fit.
> 
> Can we enable this feature for platform with minimum SRAM size of
> 160KB. So SPL-DFU cannot be supported for platform less than 160KB
> (like am335x).

I will ask on ML if there is any other interested party in SPL-DFU
support (and what are their limitations of SPL code size).

> 
> Any suggestion ?
> 
> Regards
> Ravi 
> 



-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group


More information about the U-Boot mailing list