[U-Boot] [RFC PATCH 1/5] spl: dfu: add dfu support in SPL
Lukasz Majewski
l.majewski at samsung.com
Tue May 31 17:13:00 CEST 2016
Hi Ravi,
> Hi Lukasz
>
> >> without fat/ext4, mmc support. But all device support may increase
> >> size.
>
> > Ok.
>
> > However, adding fat/ext4/mmc (and other) support should be on
> > demand (and enabled by proper Kconfig options). This would allow
> > others to add only what is really needed.
>
> True, we provide incremental build option on need basis.
+1
>
> >>
> >> >If yes, then even BBB's SPL can support DFU without any problems
> >> >(105KiB < 128 KiB).
> >>
> >> You mean BBB must have 128KB ? Can you confirm.
>
> >I didn't find any _hard_ rule about the size.
>
> >In the am335x_evm.h file the spice reserved for SPL (on raw eMMC) is
> >128 KiB.
>
> Are you referring to eMMC raw boot option ?
Yes, this is LBA address of eMMC memory.
>
> >> If BBB is support SPI boot, flashing MLO/U-boot to SPI-flash
> >> through SPL-DFU/SF would be sufficient right ?
>
> >I don't know the exact use cases, but yes, BBB can boot from SPI
> >flash.
>
> >I'm just wondering - the use case for your board is to use USB to
> >flash your device in u-boot SPL. If I might ask, why cannot you wait
> >for the U-Boot to use fully-fledged DFU for flashing?
>
> Full-fledged DFU already supported in u-boot.
This is a good news.
> The problem here is, how to flash the images first time to fresh
> boards to QSPI or eMMC device, where there is no MMC/SD boot
> option available. The solution to this problem is use peripheral USB
> boot mode (configuring sysboot switches), where the ROM loads the
> intial SPL(+DFU builtin for spi/eMMC) to IRAM, then run dfu/sf or
> dfu/eMMC to flash the binaries from PC using USB interface. Refer to
> SPL-DFU support based on 2014.07 u-boot
> http://www.ti.com/lit/an/sprac33/sprac33.pdf.
I know about similar bootstrap (on TI board), which uses serial instead
of USB.
In this approach MLO was loaded by serial, then it loaded u-boot, which
was responsible for factory setting of the device (flashing rootfs,
boot and other partitions).
One question:
Would it be possible to develop SPL (MLO) for your platform, which does
following things:
1. Loads the full-fledge u-boot to SDRAM
2. Starts the u-boot and
3. u-boot flash all the needed stuff
By using such approach we could restrict our dfu support in SPL u-boot
only to receiving data and uploading it to SDRAM (i.e. we wouldn't
need to add write support for ext, fat and eMMC).
>
> The SPL-DFU definitely helpful in production/development, where just
> connect EVM to PC through USB cable, and flash the MLO/U-BOOT,
> binaries to selected device (QSPI/eMMC).
>
> I think based on discussion we had, some conclusion we could arrive,
> 1) SPL size is constraint based on IRAM size, that all platform
> cannot be supported by default. 2) Kconfig option to compile only
> required device (eMMC, SPI) 3) Kconfig option for fat/ext4 support.
> 4) Try using common/spl/spl_fat{ext}.. to reduce footprint.
>
> Regards
> Ravi
>
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
More information about the U-Boot
mailing list