From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Nelson Date: Sat, 10 Sep 2016 16:40:47 -0700 Subject: [U-Boot] Building u-boot.imx and SPL simultaneously In-Reply-To: <20160906141530.GN4990@bill-the-cat> References: <226b38f1-0f0f-a997-2272-5bb13d0856bc@jikos.cz> <24f0546a-7a65-45ac-5128-667ff6fb87fa@jikos.cz> <4836871c-e9a3-f8dd-15b3-f30f958337bf@jikos.cz> <20160906134051.GL4990@bill-the-cat> <75384749-1331-e3c7-5497-95917ad68e7d@nelint.com> <20160906141530.GN4990@bill-the-cat> Message-ID: <8f030f76-1859-479d-6942-131a3356340b@nelint.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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: >>> >>> 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