[U-Boot] Building u-boot.imx and SPL simultaneously

Eric Nelson eric at nelint.com
Sun Sep 11 01:40:47 CEST 2016


Hi Tom,

On 09/06/2016 07:15 AM, Tom Rini wrote:
> On Tue, Sep 06, 2016 at 07:00:56AM -0700, Eric Nelson wrote:
>> On 09/06/2016 06:40 AM, Tom Rini wrote:
>>> On Fri, Sep 02, 2016 at 10:53:58PM +0200, Petr Kulhavy wrote:

<snip>

>>>
>>> Would it be possible to implement having the next stage also be sent via
>>> imx_usb_loader?  ie there's examples today of doing u-boot.imx + kernel
>>> + initrd via imx_usb_loader, so what would be needed for SPL +
>>> u-boot.img (+ kenrel + initrd) via imx_usb_loader?  Thanks!
>>>
>>
>> SPL+u-boot.img could be bundled into a single image through the
>> use of plugins which would require:
>>
>> - updates to mkimage to support plugins, and
>> - Makefile updates to produce a third output (u-boot.imx?), and
>> - an update to SPL startup on i.MX to check for the plugin flag
>> and return to the boot ROM after startup (instead of loading
>> U-Boot) if set.
>>

It appears that the mkimage support is present in a patch against v2015.04:

http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/commit/tools/mkimage.c?h=imx_v2015.04_4.1.15_1.0.0_ga&id=3d9e1681

Peng, can you up-stream this?

>> Troy implemented the key bits back in 2012, and I provided
>> some links here:
>>
>> http://lists.denx.de/pipermail/u-boot/2016-June/258784.html
> 
> Ah yes, this.  I really would like to see this come in as I think it'll
> be required to really drop the old style u-boot.imx binaries for cases
> like factory programming.  As well as the use cases outlined before too
> about supporting multiple boards more easily.
> 

I'd also like to see this get pulled into main-line, and I just ran across
another reason for supporting plugins.

The i.MX7 LPSR mode resumes from a "power-off" state by going through
the boot ROM, and it's up to the code loaded by the boot ROM to recognize
the condition, take DRAM out of self-refresh and jump back into IRAM:

http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/commit/board/freescale/mx7d_12x12_lpddr3_arm2/plugin.S?h=imx_v2015.04_4.1.15_1.0.0_ga&id=47f82f3978cda0c1fd637adcd9e8aa070f616493

Some additional commentary is in this post on NXP community:

https://community.nxp.com/thread/434057#comment-830672

For this use case, SPL will be too heavyweight and plugin support is
needed.

Regards,


Eric


More information about the U-Boot mailing list