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

Lukasz Majewski l.majewski at samsung.com
Fri Jun 3 11:27:07 CEST 2016


Hi Ravi,

> Hi Lukasz
>  
> >> >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).
> >> 
> >> 
> >> This is not possible, because combining MLO and u-boot.img will
> >> not fit in IRAM (512k). The u-boot.img itself is around 640K.
> 
> >My point here is to first load SPL u-boot (which size is around 110
> >KiB), and then download via DFU full-featured u-boot, which would be
> >placed in SDRAM.
> 
> Yes this is good idea, so the SPL-DFU will have only RAM device
> support (to load u-boot into DDR). But we don't have DFU command to
> jump to u-boot after loading u-boot into DDR.

I think that we don't need dfu command in SPL to boot fully-featured
u-boot.

Lets consider following scenario:

- ROM bootloader (IPL) fetches SPL u-boot via USB. Then it passes
  execution to it.
- The running SPL downloads fully-fledged u-boot [*] to RAM and passes
  execution to it (as it is done in board_init_r @ ./common/spl/spl.c).
  There is no need for any special command(s) to do that.
- Fully-blown u-boot flashes all needed images and reboots the board.
- Now the board is setup with proper u-boot, kernel and rootfs

[*] - This version of u-boot only requires to have hardcoded "bootcmd"
env variable. It would consist the list of commands needed for flashing
your target board. The "dfu_alt_info" should be hardcoded as well.


> The DFU basically just
> download firmware to memory devices like mmc/sd/eMMC/RAM.
> So the
> question is how to transfer control to u-boot after downloading the
> u-boot to DDR using SPL-DFU/RAM.

Please consult board_init_r function at ./common/spl/spl.c
 
> 
> >Then u-boot downloads and flash all needed images.
> >One big advantage is that our SPL DFU support can be minimal - we
> >don't need to implement fat, ext ,emmc write support.
> 
> Yes, I agree, if we could workaround above bottle neck.
> 
> Regards
> Ravi
> 



-- 
Best regards,

Lukasz Majewski

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


More information about the U-Boot mailing list