[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