* [U-Boot] Building u-boot.imx and SPL simultaneously @ 2016-09-02 16:46 Petr Kulhavy 2016-09-02 18:18 ` Stefano Babic 0 siblings, 1 reply; 20+ messages in thread From: Petr Kulhavy @ 2016-09-02 16:46 UTC (permalink / raw) To: u-boot Hi, I'm facing a problem that the iMX Makefile does not allow to build u-boot.imx and the SPL binary simultaneously. This would be useful for generating images for flash and for a serial loading. The reason is that each target needs a different config file, but there is only one IMX_CONFIG variable. I have tried to create a dedicated IMX_CONFIG_SPL for the SPL, which seems to work and I almost prepared a patch for submit. Unfortunatelly there is some problem with the dependencies if both u-boot.imx and SPL are put in ALL-y. The make with single job runs but it fails in multi-job execution. Could you please help me and throw some light into the dependencies. I think this patch could be useful also for others, see below. Thanks Petr --------------------------------------------- diff --git a/arch/arm/config.mk b/arch/arm/config.mk index 8f85862..57ea5d3 100644 --- a/arch/arm/config.mk +++ b/arch/arm/config.mk @@ -132,16 +132,18 @@ ifdef CONFIG_EFI_LOADER OBJCOPYFLAGS += -j .efi_runtime -j .efi_runtime_rel endif -ifneq ($(CONFIG_IMX_CONFIG),) +ifneq ($(CONFIG_IMX_CONFIG_SPL),) ifdef CONFIG_SPL ifndef CONFIG_SPL_BUILD ALL-y += SPL endif -else +endif +endif + +ifneq ($(CONFIG_IMX_CONFIG),) ifeq ($(CONFIG_OF_SEPARATE),y) ALL-y += u-boot-dtb.imx else ALL-y += u-boot.imx endif endif -endif diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile index d34a784..b2e3490 100644 --- a/arch/arm/imx-common/Makefile +++ b/arch/arm/imx-common/Makefile @@ -42,8 +42,9 @@ quiet_cmd_cpp_cfg = CFGS $@ cmd_cpp_cfg = $(CPP) $(cpp_flags) -x c -o $@ $< IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%).cfgtmp +IMX_CONFIG_SPL = $(CONFIG_IMX_CONFIG_SPL:"%"=%).cfgtmp -$(IMX_CONFIG): %.cfgtmp: % FORCE +$(IMX_CONFIG) $(IMX_CONFIG_SPL): %.cfgtmp: % FORCE $(Q)mkdir -p $(dir $@) $(call if_changed_dep,cpp_cfg) @@ -64,7 +65,7 @@ endif MKIMAGEFLAGS_SPL = -n $(filter-out $< $(PHONY),$^) -T imximage \ -e $(CONFIG_SPL_TEXT_BASE) -SPL: spl/u-boot-spl.bin $(IMX_CONFIG) FORCE +SPL: spl/u-boot-spl.bin $(IMX_CONFIG_SPL) FORCE $(call if_changed,mkimage) MKIMAGEFLAGS_u-boot.uim = -A arm -O U-Boot -a $(CONFIG_SYS_TEXT_BASE) \ @@ -92,4 +93,4 @@ cmd_u-boot-nand-spl_imx = (printf '\000\000\000\000\106\103\102\040\001' && \ spl/u-boot-nand-spl.imx: SPL FORCE $(call if_changed,u-boot-nand-spl_imx) -targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim spl/u-boot-nand-spl.imx) +targets += $(addprefix ../../../,$(IMX_CONFIG) $(IMX_CONFIG_SPL) SPL u-boot.uim spl/u-boot-nand-spl.imx) ---------------------------------------- ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-02 16:46 [U-Boot] Building u-boot.imx and SPL simultaneously Petr Kulhavy @ 2016-09-02 18:18 ` Stefano Babic 2016-09-02 18:57 ` Petr Kulhavy 0 siblings, 1 reply; 20+ messages in thread From: Stefano Babic @ 2016-09-02 18:18 UTC (permalink / raw) To: u-boot Hi, On 02/09/2016 18:46, Petr Kulhavy wrote: > Hi, > > I'm facing a problem that the iMX Makefile does not allow to build > u-boot.imx and the SPL binary simultaneously. ...I am missing why you need to build them at the same time. Can you start with a detailed description of the problem ? Why is it not enough to build them in sequence ? > This would be useful for > generating images for flash and for a serial loading. > The reason is that each target needs a different config file, but there > is only one IMX_CONFIG variable. I do not get the point. Yes, you have two defconfig. And yes, you cannot built it at the same time. But you define the IMX_CONFIG in each of the two defconfig, making use of two different IMX_CONFIG, if this is what you want. > > I have tried to create a dedicated IMX_CONFIG_SPL for the SPL, which > seems to work and I almost prepared a patch for submit. > Unfortunatelly there is some problem with the dependencies if both > u-boot.imx and SPL are put in ALL-y. The make with single job runs but > it fails in multi-job execution. > > Could you please help me and throw some light into the dependencies. I > think this patch could be useful also for others, see below. > > Best regards, Stefano Babic > Thanks > Petr > > --------------------------------------------- > > diff --git a/arch/arm/config.mk b/arch/arm/config.mk > index 8f85862..57ea5d3 100644 > --- a/arch/arm/config.mk > +++ b/arch/arm/config.mk > @@ -132,16 +132,18 @@ ifdef CONFIG_EFI_LOADER > OBJCOPYFLAGS += -j .efi_runtime -j .efi_runtime_rel > endif > > -ifneq ($(CONFIG_IMX_CONFIG),) > +ifneq ($(CONFIG_IMX_CONFIG_SPL),) > ifdef CONFIG_SPL > ifndef CONFIG_SPL_BUILD > ALL-y += SPL > endif > -else > +endif > +endif > + > +ifneq ($(CONFIG_IMX_CONFIG),) > ifeq ($(CONFIG_OF_SEPARATE),y) > ALL-y += u-boot-dtb.imx > else > ALL-y += u-boot.imx > endif > endif > -endif > diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile > index d34a784..b2e3490 100644 > --- a/arch/arm/imx-common/Makefile > +++ b/arch/arm/imx-common/Makefile > @@ -42,8 +42,9 @@ quiet_cmd_cpp_cfg = CFGS $@ > cmd_cpp_cfg = $(CPP) $(cpp_flags) -x c -o $@ $< > > IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%).cfgtmp > +IMX_CONFIG_SPL = $(CONFIG_IMX_CONFIG_SPL:"%"=%).cfgtmp > > -$(IMX_CONFIG): %.cfgtmp: % FORCE > +$(IMX_CONFIG) $(IMX_CONFIG_SPL): %.cfgtmp: % FORCE > $(Q)mkdir -p $(dir $@) > $(call if_changed_dep,cpp_cfg) > > @@ -64,7 +65,7 @@ endif > MKIMAGEFLAGS_SPL = -n $(filter-out $< $(PHONY),$^) -T imximage \ > -e $(CONFIG_SPL_TEXT_BASE) > > -SPL: spl/u-boot-spl.bin $(IMX_CONFIG) FORCE > +SPL: spl/u-boot-spl.bin $(IMX_CONFIG_SPL) FORCE > $(call if_changed,mkimage) > > MKIMAGEFLAGS_u-boot.uim = -A arm -O U-Boot -a $(CONFIG_SYS_TEXT_BASE) \ > @@ -92,4 +93,4 @@ cmd_u-boot-nand-spl_imx = (printf > '\000\000\000\000\106\103\102\040\001' && \ > spl/u-boot-nand-spl.imx: SPL FORCE > $(call if_changed,u-boot-nand-spl_imx) > > -targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim > spl/u-boot-nand-spl.imx) > +targets += $(addprefix ../../../,$(IMX_CONFIG) $(IMX_CONFIG_SPL) SPL > u-boot.uim spl/u-boot-nand-spl.imx) > > ---------------------------------------- > -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-02 18:18 ` Stefano Babic @ 2016-09-02 18:57 ` Petr Kulhavy 2016-09-02 20:03 ` Fabio Estevam 2016-09-02 21:45 ` Stefano Babic 0 siblings, 2 replies; 20+ messages in thread From: Petr Kulhavy @ 2016-09-02 18:57 UTC (permalink / raw) To: u-boot Hi, you have already brought it to the point - it needs two defconfigs. This means double the files in U-boot and second and more important, how does it integrate into a tool like Buildroot? In other words I'm trying to do it with just one defconfig. Alltogether I want to build 3 files: * SPL which is started by the RBL * u-boot.img which is loaded by the SPL from the flash after typing 'c' or similar on the terminal * u-boot.imx for an initial load of the board via USB if there is no BL at all All these images plus rootfs and kernel should be an outcome of one build in Buildroot. Since the u-boot.imx is in fact u-boot.img with an extra header I don't see a reason why it shouldn't be possible to compile with the same make command. And the interdependency of SPL and u-boot.imx, that only one can be built at a time, isn't obvious to me either. After all SPL is a completely different binary. ...or am I touching some skeleton in a cupboard? Thanks Petr On 02/09/16 20:18, Stefano Babic wrote: > Hi, > > On 02/09/2016 18:46, Petr Kulhavy wrote: >> Hi, >> >> I'm facing a problem that the iMX Makefile does not allow to build >> u-boot.imx and the SPL binary simultaneously. > ...I am missing why you need to build them at the same time. Can you > start with a detailed description of the problem ? Why is it not enough > to build them in sequence ? > >> This would be useful for >> generating images for flash and for a serial loading. >> The reason is that each target needs a different config file, but there >> is only one IMX_CONFIG variable. > I do not get the point. Yes, you have two defconfig. And yes, you cannot > built it at the same time. But you define the IMX_CONFIG in each of the > two defconfig, making use of two different IMX_CONFIG, if this is what > you want. > >> I have tried to create a dedicated IMX_CONFIG_SPL for the SPL, which >> seems to work and I almost prepared a patch for submit. >> Unfortunatelly there is some problem with the dependencies if both >> u-boot.imx and SPL are put in ALL-y. The make with single job runs but >> it fails in multi-job execution. >> >> Could you please help me and throw some light into the dependencies. I >> think this patch could be useful also for others, see below. >> >> > Best regards, > Stefano Babic > > ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-02 18:57 ` Petr Kulhavy @ 2016-09-02 20:03 ` Fabio Estevam 2016-09-02 20:53 ` Petr Kulhavy 2016-09-02 21:45 ` Stefano Babic 1 sibling, 1 reply; 20+ messages in thread From: Fabio Estevam @ 2016-09-02 20:03 UTC (permalink / raw) To: u-boot Hi Petr, On Fri, Sep 2, 2016 at 3:57 PM, Petr Kulhavy <brain@jikos.cz> wrote: > Hi, > > you have already brought it to the point - it needs two defconfigs. > This means double the files in U-boot and second and more important, how > does it integrate into a tool like Buildroot? Buildroot is capable of booting SPL + u-boot.img just fine. Check wandboard support a reference. > In other words I'm trying to do it with just one defconfig. > > Alltogether I want to build 3 files: > * SPL which is started by the RBL > * u-boot.img which is loaded by the SPL from the flash after typing 'c' or > similar on the terminal > * u-boot.imx for an initial load of the board via USB if there is no BL at > all You don't need u-boot.imx to boot the board with imx_usb_loader. Check the README update that Stefano did with this commit: commit 40f4839ce12adfc0223d6e3035cf9c3a4754a0ec Author: Stefano Babic <sbabic@denx.de> Date: Fri Dec 11 17:30:42 2015 +0100 imx_common: check for Serial Downloader in spl_boot_device Check for bmode before reading the boot device to check if a serial downloader is started, and returns UART if the serial downloader is set, letting SPL to wait for an image if CONFIG_SPL_YMODEM_SUPPORT is set. This allows to load again a SPL based board with imx_usb_loader together with a tool such as kermit. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Tim Harvey <tharvey@gateworks.com> CC: Fabio Estevam <Fabio.Estevam@freescale.com> CC: Eric Nelson <eric.nelson@boundarydevices.com> Reviewed-by: Eric Nelson <eric@nelint.com> Tested-by: Eric Nelson <eric@nelint.com> ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-02 20:03 ` Fabio Estevam @ 2016-09-02 20:53 ` Petr Kulhavy 2016-09-06 13:40 ` Tom Rini 0 siblings, 1 reply; 20+ messages in thread From: Petr Kulhavy @ 2016-09-02 20:53 UTC (permalink / raw) To: u-boot Hi Fabio, On 02/09/16 22:03, Fabio Estevam wrote: > You don't need u-boot.imx to boot the board with imx_usb_loader. > Check the README update that Stefano did with this commit: > > commit 40f4839ce12adfc0223d6e3035cf9c3a4754a0ec > Author: Stefano Babic <sbabic@denx.de> > Date: Fri Dec 11 17:30:42 2015 +0100 > > imx_common: check for Serial Downloader in spl_boot_device > > Check for bmode before reading the boot device > to check if a serial downloader is started, > and returns UART if the serial downloader is set, > letting SPL to wait for an image if > CONFIG_SPL_YMODEM_SUPPORT is set. > > This allows to load again a SPL based board > with imx_usb_loader together with a tool > such as kermit. > > Signed-off-by: Stefano Babic <sbabic@denx.de> > CC: Tim Harvey <tharvey@gateworks.com> > CC: Fabio Estevam <Fabio.Estevam@freescale.com> > CC: Eric Nelson <eric.nelson@boundarydevices.com> > Reviewed-by: Eric Nelson <eric@nelint.com> > Tested-by: Eric Nelson <eric@nelint.com> This is not particularly what I want to do. I want to load the u-boot.img directly via the imx_usb_loader. The kermit method is unacceptably slow for a production environment. Regards Petr ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-02 20:53 ` Petr Kulhavy @ 2016-09-06 13:40 ` Tom Rini 2016-09-06 13:53 ` Otavio Salvador 2016-09-06 14:00 ` Eric Nelson 0 siblings, 2 replies; 20+ messages in thread From: Tom Rini @ 2016-09-06 13:40 UTC (permalink / raw) To: u-boot On Fri, Sep 02, 2016 at 10:53:58PM +0200, Petr Kulhavy wrote: > Hi Fabio, > > On 02/09/16 22:03, Fabio Estevam wrote: > >You don't need u-boot.imx to boot the board with imx_usb_loader. > >Check the README update that Stefano did with this commit: > > > >commit 40f4839ce12adfc0223d6e3035cf9c3a4754a0ec > >Author: Stefano Babic <sbabic@denx.de> > >Date: Fri Dec 11 17:30:42 2015 +0100 > > > > imx_common: check for Serial Downloader in spl_boot_device > > > > Check for bmode before reading the boot device > > to check if a serial downloader is started, > > and returns UART if the serial downloader is set, > > letting SPL to wait for an image if > > CONFIG_SPL_YMODEM_SUPPORT is set. > > > > This allows to load again a SPL based board > > with imx_usb_loader together with a tool > > such as kermit. > > > > Signed-off-by: Stefano Babic <sbabic@denx.de> > > CC: Tim Harvey <tharvey@gateworks.com> > > CC: Fabio Estevam <Fabio.Estevam@freescale.com> > > CC: Eric Nelson <eric.nelson@boundarydevices.com> > > Reviewed-by: Eric Nelson <eric@nelint.com> > > Tested-by: Eric Nelson <eric@nelint.com> > This is not particularly what I want to do. I want to load the > u-boot.img directly via the imx_usb_loader. > The kermit method is unacceptably slow for a production environment. Another place this doesn't work (which is where it doesn't work for me) is when the console is already open and I can't easily take it away to shoot over the next stage via Y-MODEM. 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! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160906/5236f93f/attachment.sig> ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-06 13:40 ` Tom Rini @ 2016-09-06 13:53 ` Otavio Salvador 2016-09-06 13:56 ` Tom Rini 2016-09-06 14:00 ` Eric Nelson 1 sibling, 1 reply; 20+ messages in thread From: Otavio Salvador @ 2016-09-06 13:53 UTC (permalink / raw) To: u-boot On Tue, Sep 6, 2016 at 10:40 AM, Tom Rini <trini@konsulko.com> wrote: > On Fri, Sep 02, 2016 at 10:53:58PM +0200, Petr Kulhavy wrote: >> Hi Fabio, >> >> On 02/09/16 22:03, Fabio Estevam wrote: >> >You don't need u-boot.imx to boot the board with imx_usb_loader. >> >Check the README update that Stefano did with this commit: >> > >> >commit 40f4839ce12adfc0223d6e3035cf9c3a4754a0ec >> >Author: Stefano Babic <sbabic@denx.de> >> >Date: Fri Dec 11 17:30:42 2015 +0100 >> > >> > imx_common: check for Serial Downloader in spl_boot_device >> > >> > Check for bmode before reading the boot device >> > to check if a serial downloader is started, >> > and returns UART if the serial downloader is set, >> > letting SPL to wait for an image if >> > CONFIG_SPL_YMODEM_SUPPORT is set. >> > >> > This allows to load again a SPL based board >> > with imx_usb_loader together with a tool >> > such as kermit. >> > >> > Signed-off-by: Stefano Babic <sbabic@denx.de> >> > CC: Tim Harvey <tharvey@gateworks.com> >> > CC: Fabio Estevam <Fabio.Estevam@freescale.com> >> > CC: Eric Nelson <eric.nelson@boundarydevices.com> >> > Reviewed-by: Eric Nelson <eric@nelint.com> >> > Tested-by: Eric Nelson <eric@nelint.com> >> This is not particularly what I want to do. I want to load the >> u-boot.img directly via the imx_usb_loader. >> The kermit method is unacceptably slow for a production environment. > > Another place this doesn't work (which is where it doesn't work for me) > is when the console is already open and I can't easily take it away to > shoot over the next stage via Y-MODEM. > > 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! It should be the same except that the image will be already loaded and we need to instruct the SPL to jump to it. Am I missing something? ... zImage-foo:load 0x82000000 core-image-minimal-foo.cpio.gz:load 0x83800000 u-boot.imx:clear_dcd,jump header -- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-06 13:53 ` Otavio Salvador @ 2016-09-06 13:56 ` Tom Rini 0 siblings, 0 replies; 20+ messages in thread From: Tom Rini @ 2016-09-06 13:56 UTC (permalink / raw) To: u-boot On Tue, Sep 06, 2016 at 10:53:30AM -0300, Otavio Salvador wrote: > On Tue, Sep 6, 2016 at 10:40 AM, Tom Rini <trini@konsulko.com> wrote: > > On Fri, Sep 02, 2016 at 10:53:58PM +0200, Petr Kulhavy wrote: > >> Hi Fabio, > >> > >> On 02/09/16 22:03, Fabio Estevam wrote: > >> >You don't need u-boot.imx to boot the board with imx_usb_loader. > >> >Check the README update that Stefano did with this commit: > >> > > >> >commit 40f4839ce12adfc0223d6e3035cf9c3a4754a0ec > >> >Author: Stefano Babic <sbabic@denx.de> > >> >Date: Fri Dec 11 17:30:42 2015 +0100 > >> > > >> > imx_common: check for Serial Downloader in spl_boot_device > >> > > >> > Check for bmode before reading the boot device > >> > to check if a serial downloader is started, > >> > and returns UART if the serial downloader is set, > >> > letting SPL to wait for an image if > >> > CONFIG_SPL_YMODEM_SUPPORT is set. > >> > > >> > This allows to load again a SPL based board > >> > with imx_usb_loader together with a tool > >> > such as kermit. > >> > > >> > Signed-off-by: Stefano Babic <sbabic@denx.de> > >> > CC: Tim Harvey <tharvey@gateworks.com> > >> > CC: Fabio Estevam <Fabio.Estevam@freescale.com> > >> > CC: Eric Nelson <eric.nelson@boundarydevices.com> > >> > Reviewed-by: Eric Nelson <eric@nelint.com> > >> > Tested-by: Eric Nelson <eric@nelint.com> > >> This is not particularly what I want to do. I want to load the > >> u-boot.img directly via the imx_usb_loader. > >> The kermit method is unacceptably slow for a production environment. > > > > Another place this doesn't work (which is where it doesn't work for me) > > is when the console is already open and I can't easily take it away to > > shoot over the next stage via Y-MODEM. > > > > 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! > > It should be the same except that the image will be already loaded and > we need to instruct the SPL to jump to it. Am I missing something? > > ... > zImage-foo:load 0x82000000 > core-image-minimal-foo.cpio.gz:load 0x83800000 > u-boot.imx:clear_dcd,jump header Yes, I want to load SPL + u-boot.img so SPL will need to know that it's going to fall back to ROM and allow it to be given u-boot.img to load into DRAM :) -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160906/f67a2c81/attachment.sig> ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-06 13:40 ` Tom Rini 2016-09-06 13:53 ` Otavio Salvador @ 2016-09-06 14:00 ` Eric Nelson 2016-09-06 14:12 ` Petr Kulhavy 2016-09-06 14:15 ` Tom Rini 1 sibling, 2 replies; 20+ messages in thread From: Eric Nelson @ 2016-09-06 14:00 UTC (permalink / raw) To: u-boot Hi Tom, On 09/06/2016 06:40 AM, Tom Rini wrote: > On Fri, Sep 02, 2016 at 10:53:58PM +0200, Petr Kulhavy wrote: >> Hi Fabio, >> >> On 02/09/16 22:03, Fabio Estevam wrote: >>> You don't need u-boot.imx to boot the board with imx_usb_loader. >>> Check the README update that Stefano did with this commit: >>> >>> commit 40f4839ce12adfc0223d6e3035cf9c3a4754a0ec >>> Author: Stefano Babic <sbabic@denx.de> >>> Date: Fri Dec 11 17:30:42 2015 +0100 >>> >>> imx_common: check for Serial Downloader in spl_boot_device >>> >>> Check for bmode before reading the boot device >>> to check if a serial downloader is started, >>> and returns UART if the serial downloader is set, >>> letting SPL to wait for an image if >>> CONFIG_SPL_YMODEM_SUPPORT is set. >>> >>> This allows to load again a SPL based board >>> with imx_usb_loader together with a tool >>> such as kermit. >>> >>> Signed-off-by: Stefano Babic <sbabic@denx.de> >>> CC: Tim Harvey <tharvey@gateworks.com> >>> CC: Fabio Estevam <Fabio.Estevam@freescale.com> >>> CC: Eric Nelson <eric.nelson@boundarydevices.com> >>> Reviewed-by: Eric Nelson <eric@nelint.com> >>> Tested-by: Eric Nelson <eric@nelint.com> >> This is not particularly what I want to do. I want to load the >> u-boot.img directly via the imx_usb_loader. >> The kermit method is unacceptably slow for a production environment. > > Another place this doesn't work (which is where it doesn't work for me) > is when the console is already open and I can't easily take it away to > shoot over the next stage via Y-MODEM. > > 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. 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 Regards, Eric ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-06 14:00 ` Eric Nelson @ 2016-09-06 14:12 ` Petr Kulhavy 2016-09-06 14:17 ` Tom Rini 2016-09-06 14:15 ` Tom Rini 1 sibling, 1 reply; 20+ messages in thread From: Petr Kulhavy @ 2016-09-06 14:12 UTC (permalink / raw) To: u-boot On 06/09/16 16:00, Eric Nelson wrote: > Hi Tom, > > On 09/06/2016 06:40 AM, Tom Rini wrote: >> On Fri, Sep 02, 2016 at 10:53:58PM +0200, Petr Kulhavy wrote: >> >> Another place this doesn't work (which is where it doesn't work for me) >> is when the console is already open and I can't easily take it away to >> shoot over the next stage via Y-MODEM. >> >> 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. Maybe this jumping to RBL forth and back is not needed at all. If the SPL+img was loaded as one chunk into DRAM instead of the on-chip RAM (would require DDR initialization via DCD as it happens for the IMX image) then the SPL could jump directly into the uboot image, couldn't it? Cheers Petr ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-06 14:12 ` Petr Kulhavy @ 2016-09-06 14:17 ` Tom Rini 0 siblings, 0 replies; 20+ messages in thread From: Tom Rini @ 2016-09-06 14:17 UTC (permalink / raw) To: u-boot On Tue, Sep 06, 2016 at 04:12:55PM +0200, Petr Kulhavy wrote: > > > On 06/09/16 16:00, Eric Nelson wrote: > >Hi Tom, > > > >On 09/06/2016 06:40 AM, Tom Rini wrote: > >>On Fri, Sep 02, 2016 at 10:53:58PM +0200, Petr Kulhavy wrote: > >> > >>Another place this doesn't work (which is where it doesn't work for me) > >>is when the console is already open and I can't easily take it away to > >>shoot over the next stage via Y-MODEM. > >> > >>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. > Maybe this jumping to RBL forth and back is not needed at all. > If the SPL+img was loaded as one chunk into DRAM instead of the > on-chip RAM (would require DDR initialization via DCD as it happens > for the IMX image) then the SPL could jump directly into the uboot > image, couldn't it? Yes but many of the use cases involve "get away from doing DCD script DDR init". That's basically what the u-boot.imx version does, there's the header up front that does DDR init and then u-boot is loaded into DRAM. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160906/4f22b385/attachment.sig> ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-06 14:00 ` Eric Nelson 2016-09-06 14:12 ` Petr Kulhavy @ 2016-09-06 14:15 ` Tom Rini 2016-09-10 23:40 ` Eric Nelson 1 sibling, 1 reply; 20+ messages in thread From: Tom Rini @ 2016-09-06 14:15 UTC (permalink / raw) To: u-boot On Tue, Sep 06, 2016 at 07:00:56AM -0700, Eric Nelson wrote: > Hi Tom, > > On 09/06/2016 06:40 AM, Tom Rini wrote: > > On Fri, Sep 02, 2016 at 10:53:58PM +0200, Petr Kulhavy wrote: > >> Hi Fabio, > >> > >> On 02/09/16 22:03, Fabio Estevam wrote: > >>> You don't need u-boot.imx to boot the board with imx_usb_loader. > >>> Check the README update that Stefano did with this commit: > >>> > >>> commit 40f4839ce12adfc0223d6e3035cf9c3a4754a0ec > >>> Author: Stefano Babic <sbabic@denx.de> > >>> Date: Fri Dec 11 17:30:42 2015 +0100 > >>> > >>> imx_common: check for Serial Downloader in spl_boot_device > >>> > >>> Check for bmode before reading the boot device > >>> to check if a serial downloader is started, > >>> and returns UART if the serial downloader is set, > >>> letting SPL to wait for an image if > >>> CONFIG_SPL_YMODEM_SUPPORT is set. > >>> > >>> This allows to load again a SPL based board > >>> with imx_usb_loader together with a tool > >>> such as kermit. > >>> > >>> Signed-off-by: Stefano Babic <sbabic@denx.de> > >>> CC: Tim Harvey <tharvey@gateworks.com> > >>> CC: Fabio Estevam <Fabio.Estevam@freescale.com> > >>> CC: Eric Nelson <eric.nelson@boundarydevices.com> > >>> Reviewed-by: Eric Nelson <eric@nelint.com> > >>> Tested-by: Eric Nelson <eric@nelint.com> > >> This is not particularly what I want to do. I want to load the > >> u-boot.img directly via the imx_usb_loader. > >> The kermit method is unacceptably slow for a production environment. > > > > Another place this doesn't work (which is where it doesn't work for me) > > is when the console is already open and I can't easily take it away to > > shoot over the next stage via Y-MODEM. > > > > 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. > > 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. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160906/2a23d900/attachment.sig> ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-06 14:15 ` Tom Rini @ 2016-09-10 23:40 ` Eric Nelson 2016-09-18 6:50 ` Peng Fan 0 siblings, 1 reply; 20+ messages in thread From: Eric Nelson @ 2016-09-10 23:40 UTC (permalink / raw) To: u-boot 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 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-10 23:40 ` Eric Nelson @ 2016-09-18 6:50 ` Peng Fan 2016-09-18 7:18 ` Stefano Babic 0 siblings, 1 reply; 20+ messages in thread From: Peng Fan @ 2016-09-18 6:50 UTC (permalink / raw) To: u-boot Hi, On Sat, Sep 10, 2016 at 04:40:47PM -0700, Eric Nelson wrote: >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? Hi Stefano, I would like see your points on this. I tried to uptream plugin before, but rejected, Since more people would like to see this in, do you agree to let plugin supported in mainline? Thanks, Peng. > >>> 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 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-18 6:50 ` Peng Fan @ 2016-09-18 7:18 ` Stefano Babic 0 siblings, 0 replies; 20+ messages in thread From: Stefano Babic @ 2016-09-18 7:18 UTC (permalink / raw) To: u-boot Hi Peng, On 18/09/2016 08:50, Peng Fan wrote: > Hi, > > On Sat, Sep 10, 2016 at 04:40:47PM -0700, Eric Nelson wrote: >> 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? > Hi Stefano, > > I would like see your points on this. I tried to uptream plugin before, but rejected, > Since more people would like to see this in, do you agree to let plugin supported > in mainline? > Yes - I see a general agreement to get in mainline, and thanks for the effort to push it. Best regards, Stefano -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-02 18:57 ` Petr Kulhavy 2016-09-02 20:03 ` Fabio Estevam @ 2016-09-02 21:45 ` Stefano Babic 2016-09-02 23:15 ` Petr Kulhavy 1 sibling, 1 reply; 20+ messages in thread From: Stefano Babic @ 2016-09-02 21:45 UTC (permalink / raw) To: u-boot Hi Petr, On 02/09/2016 20:57, Petr Kulhavy wrote: > Hi, > > you have already brought it to the point - it needs two defconfigs. > This means double the files in U-boot and second and more important, how > does it integrate into a tool like Buildroot? > In other words I'm trying to do it with just one defconfig. > > Alltogether I want to build 3 files: > * SPL which is started by the RBL > * u-boot.img which is loaded by the SPL from the flash after typing 'c' > or similar on the terminal > * u-boot.imx for an initial load of the board via USB if there is no BL > at all You are assuming that the two different setups are equivalent: u-boot.ix against SPL + u-boot.img. It is not, and they have very different concepts on the basis of two. And with imx_usb_loader it is still possible to load the SPL via USB, and via UART, SPL loads u-boot.img - see README.imx6. > All these images plus rootfs and kernel should be an outcome of one > build in Buildroot. > > Since the u-boot.imx is in fact u-boot.img with an extra header It is not: it is different. If it was just an header, I agree that it is like building the bootloader in several formats. That happens for u-boot.bin and u-boot.img, or u-boot.bin and u-boot.imx. u-boot.imx has much more as a header: it is contain the DCD tables according to the FSL documentation that it is interpreted by the RBL. This is a static setup, because the DCD table is fixed. The RBL sets the SOC according to the values in the DCD table and has (or it can have) nothing to do with the SPL+u-boot.img built for the same board. On the other side, SPL does not use DCD at all (it could be, but it is empty), and the setup is done with runtime detection by SPL code. The u-boot.img built together with SPL depends on it, that means it does not set again some parts already set by the SPL. That means you cannot simply exchange u-boot.img or u-boot.imx. Generally, we cannot assume that a u-boot.img, behaves as u-boot.imx: it could be, but it is only luck. At the end, they are two different systems - two targets, that means two defconfig. > I don't > see a reason why it shouldn't be possible to compile with the same make > command. See above - we should have the same result, just with two formats. It is not. > And the interdependency of SPL and u-boot.imx, that only one can be > built at a time, isn't obvious to me either. After all SPL is a > completely different binary. ...and result and behavior are completely different. That means having two targets, or two defconfig. > > ...or am I touching some skeleton in a cupboard? > Best regards, Stefano Babic > Thanks > Petr > > On 02/09/16 20:18, Stefano Babic wrote: >> Hi, >> >> On 02/09/2016 18:46, Petr Kulhavy wrote: >>> Hi, >>> >>> I'm facing a problem that the iMX Makefile does not allow to build >>> u-boot.imx and the SPL binary simultaneously. >> ...I am missing why you need to build them at the same time. Can you >> start with a detailed description of the problem ? Why is it not enough >> to build them in sequence ? >> >>> This would be useful for >>> generating images for flash and for a serial loading. >>> The reason is that each target needs a different config file, but there >>> is only one IMX_CONFIG variable. >> I do not get the point. Yes, you have two defconfig. And yes, you cannot >> built it at the same time. But you define the IMX_CONFIG in each of the >> two defconfig, making use of two different IMX_CONFIG, if this is what >> you want. >> >>> I have tried to create a dedicated IMX_CONFIG_SPL for the SPL, which >>> seems to work and I almost prepared a patch for submit. >>> Unfortunatelly there is some problem with the dependencies if both >>> u-boot.imx and SPL are put in ALL-y. The make with single job runs but >>> it fails in multi-job execution. >>> >>> Could you please help me and throw some light into the dependencies. I >>> think this patch could be useful also for others, see below. >>> >>> >> Best regards, >> Stefano Babic >> >> > -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-02 21:45 ` Stefano Babic @ 2016-09-02 23:15 ` Petr Kulhavy 2016-09-03 9:40 ` Stefano Babic 0 siblings, 1 reply; 20+ messages in thread From: Petr Kulhavy @ 2016-09-02 23:15 UTC (permalink / raw) To: u-boot Hi Stefano, I need to build two set-ups: 1) SPL + u-boot.img for normal device run out of flash 2) u-boot.imx for initial device load together with fastboot For (2) SPL + kermit + u-boot.img is not an option for me, simply because it is too slow. I agree that the u-boot images in case (1) and (2) do not generally have to be identical. However in my case I don't need them to be different. You are saying that in order to cover my use case(s) I need two defconfigs. Well, ok... But how do I integrate this into Buildroot? For the sake of maintainability, simplification, reducing chance for an error during build I want to have one Buildroot defconfig, run one build command and get all the necessary images. How do I do that with two U-boot defconfigs? On 02/09/16 23:45, Stefano Babic wrote: > Hi Petr, > > On 02/09/2016 20:57, Petr Kulhavy wrote: >> Hi, >> >> you have already brought it to the point - it needs two defconfigs. >> This means double the files in U-boot and second and more important, how >> does it integrate into a tool like Buildroot? >> In other words I'm trying to do it with just one defconfig. >> >> Alltogether I want to build 3 files: >> * SPL which is started by the RBL >> * u-boot.img which is loaded by the SPL from the flash after typing 'c' >> or similar on the terminal >> * u-boot.imx for an initial load of the board via USB if there is no BL >> at all > You are assuming that the two different setups are equivalent: u-boot.ix > against SPL + u-boot.img. It is not, and they have very different > concepts on the basis of two. Well, I see it slightly different. There is some core functionality of u-boot, which is the command interpreter, scripting, drivers, etc. And then there is some one-time HW initialization that needs to be done. There are two different ways of doing the HW initialization: either via RBL and DCD, or via SPL. But after the HW is initialized it comes in both cases to the same functionality. Once the u-boot is started it does not see the SPL and it probably doesn't even know how it was loaded. It just assumes that certain HW is initialized in a certain way. In the end both u-boot.imx and u-boot.img are generated out of the same u-boot.bin, just with different mkimage parameters. > And with imx_usb_loader it is still possible to load the SPL via USB, > and via UART, SPL loads u-boot.img - see README.imx6. That is too slow for my needs. >> All these images plus rootfs and kernel should be an outcome of one >> build in Buildroot. >> >> Since the u-boot.imx is in fact u-boot.img with an extra header > It is not: it is different. If it was just an header, I agree that it is > like building the bootloader in several formats. That happens for > u-boot.bin and u-boot.img, or u-boot.bin and u-boot.imx. > > u-boot.imx has much more as a header: it is contain the DCD tables > according to the FSL documentation that it is interpreted by the RBL. > This is a static setup, because the DCD table is fixed. The RBL sets the > SOC according to the values in the DCD table and has (or it can have) > nothing to do with the SPL+u-boot.img built for the same board. > > On the other side, SPL does not use DCD at all (it could be, but it is > empty), and the setup is done with runtime detection by SPL code. The > u-boot.img built together with SPL depends on it, that means it does not > set again some parts already set by the SPL. That means you cannot > simply exchange u-boot.img or u-boot.imx. I don't want to exchange them. I want to do the same HW initialization which u-boot expects from SPL in the DCD and out of that create the u-boot.imx, which is then directly loaded without SPL. But currently it is not possible. > Generally, we cannot assume that a u-boot.img, behaves as u-boot.imx: it > could be, but it is only luck. Of course, if I want to use two different vesions of u-boot with different sets of commands and features it makes sense to have two defconfigs. But if I want to use the same functionality why should the make process hinder generating the .img and .imx in the same build process? Regards Petr ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-02 23:15 ` Petr Kulhavy @ 2016-09-03 9:40 ` Stefano Babic 2016-09-03 20:27 ` Otavio Salvador 0 siblings, 1 reply; 20+ messages in thread From: Stefano Babic @ 2016-09-03 9:40 UTC (permalink / raw) To: u-boot Hi Petr, On 03/09/2016 01:15, Petr Kulhavy wrote: > Hi Stefano, > > I need to build two set-ups: > 1) SPL + u-boot.img for normal device run out of flash > 2) u-boot.imx for initial device load together with fastboot > > For (2) SPL + kermit + u-boot.img is not an option for me, simply > because it is too slow. > > I agree that the u-boot images in case (1) and (2) do not generally have > to be identical. This is why they have two different defconfigs. > However in my case I don't need them to be different. > > You are saying that in order to cover my use case(s) I need two > defconfigs. Well, ok... > But how do I integrate this into Buildroot? For the sake of > maintainability, simplification, reducing chance for an error during > build I want to have one Buildroot defconfig, run one build command and > get all the necessary images. > How do I do that with two U-boot defconfigs? I am noit a Buildroot expert, someone else can better point you in the right direction. I will expect that you need a second target. If I had to do thuis in Yoct, I will tend to add a new recipe to build .imx variant. Best regards, Stefano Babic > > > On 02/09/16 23:45, Stefano Babic wrote: >> Hi Petr, >> >> On 02/09/2016 20:57, Petr Kulhavy wrote: >>> Hi, >>> >>> you have already brought it to the point - it needs two defconfigs. >>> This means double the files in U-boot and second and more important, how >>> does it integrate into a tool like Buildroot? >>> In other words I'm trying to do it with just one defconfig. >>> >>> Alltogether I want to build 3 files: >>> * SPL which is started by the RBL >>> * u-boot.img which is loaded by the SPL from the flash after typing 'c' >>> or similar on the terminal >>> * u-boot.imx for an initial load of the board via USB if there is no BL >>> at all >> You are assuming that the two different setups are equivalent: u-boot.ix >> against SPL + u-boot.img. It is not, and they have very different >> concepts on the basis of two. > > Well, I see it slightly different. There is some core functionality of > u-boot, which is the command interpreter, scripting, drivers, etc. > And then there is some one-time HW initialization that needs to be done. > There are two different ways of doing the HW initialization: either via > RBL and DCD, or via SPL. > But after the HW is initialized it comes in both cases to the same > functionality. Once the u-boot is started it does not see the SPL and it > probably doesn't even know how it was loaded. > It just assumes that certain HW is initialized in a certain way. > > In the end both u-boot.imx and u-boot.img are generated out of the same > u-boot.bin, just with different mkimage parameters. >> And with imx_usb_loader it is still possible to load the SPL via USB, >> and via UART, SPL loads u-boot.img - see README.imx6. > That is too slow for my needs. >>> All these images plus rootfs and kernel should be an outcome of one >>> build in Buildroot. >>> >>> Since the u-boot.imx is in fact u-boot.img with an extra header >> It is not: it is different. If it was just an header, I agree that it is >> like building the bootloader in several formats. That happens for >> u-boot.bin and u-boot.img, or u-boot.bin and u-boot.imx. >> >> u-boot.imx has much more as a header: it is contain the DCD tables >> according to the FSL documentation that it is interpreted by the RBL. >> This is a static setup, because the DCD table is fixed. The RBL sets the >> SOC according to the values in the DCD table and has (or it can have) >> nothing to do with the SPL+u-boot.img built for the same board. >> >> On the other side, SPL does not use DCD at all (it could be, but it is >> empty), and the setup is done with runtime detection by SPL code. The >> u-boot.img built together with SPL depends on it, that means it does not >> set again some parts already set by the SPL. That means you cannot >> simply exchange u-boot.img or u-boot.imx. > I don't want to exchange them. I want to do the same HW initialization > which u-boot expects from SPL in the DCD and out of that create the > u-boot.imx, which is then directly loaded without SPL. > But currently it is not possible. >> Generally, we cannot assume that a u-boot.img, behaves as u-boot.imx: it >> could be, but it is only luck. > > Of course, if I want to use two different vesions of u-boot with > different sets of commands and features it makes sense to have two > defconfigs. > But if I want to use the same functionality why should the make process > hinder generating the .img and .imx in the same build process? > > > Regards > Petr > > -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-03 9:40 ` Stefano Babic @ 2016-09-03 20:27 ` Otavio Salvador 2016-09-04 8:53 ` Stefano Babic 0 siblings, 1 reply; 20+ messages in thread From: Otavio Salvador @ 2016-09-03 20:27 UTC (permalink / raw) To: u-boot On Sat, Sep 3, 2016 at 6:40 AM, Stefano Babic <sbabic@denx.de> wrote: > On 03/09/2016 01:15, Petr Kulhavy wrote: >> You are saying that in order to cover my use case(s) I need two >> defconfigs. Well, ok... >> But how do I integrate this into Buildroot? For the sake of >> maintainability, simplification, reducing chance for an error during >> build I want to have one Buildroot defconfig, run one build command and >> get all the necessary images. >> How do I do that with two U-boot defconfigs? > > I am noit a Buildroot expert, someone else can better point you in the > right direction. I will expect that you need a second target. If I had > to do thuis in Yoct, I will tend to add a new recipe to build .imx variant. On OpenEmbedded-based systems, as is the case of Yocto Project, we introduced the UBOOT_CONFIG mechanism for this. So for example in: https://github.com/Freescale/meta-fsl-arm/blob/master/conf/machine/imx6slevk.conf#L15 The UBOOT_CONFIG is changed, in local.conf for a machine, to: UBOOT_CONFIG = "spinor sd" Both as build. -- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] Building u-boot.imx and SPL simultaneously 2016-09-03 20:27 ` Otavio Salvador @ 2016-09-04 8:53 ` Stefano Babic 0 siblings, 0 replies; 20+ messages in thread From: Stefano Babic @ 2016-09-04 8:53 UTC (permalink / raw) To: u-boot Hi Otavio, On 03/09/2016 22:27, Otavio Salvador wrote: > On Sat, Sep 3, 2016 at 6:40 AM, Stefano Babic <sbabic@denx.de> wrote: >> On 03/09/2016 01:15, Petr Kulhavy wrote: >>> You are saying that in order to cover my use case(s) I need two >>> defconfigs. Well, ok... >>> But how do I integrate this into Buildroot? For the sake of >>> maintainability, simplification, reducing chance for an error during >>> build I want to have one Buildroot defconfig, run one build command and >>> get all the necessary images. >>> How do I do that with two U-boot defconfigs? >> >> I am noit a Buildroot expert, someone else can better point you in the >> right direction. I will expect that you need a second target. If I had >> to do thuis in Yoct, I will tend to add a new recipe to build .imx variant. > > On OpenEmbedded-based systems, as is the case of Yocto Project, we > introduced the UBOOT_CONFIG mechanism for this. So for example in: > > https://github.com/Freescale/meta-fsl-arm/blob/master/conf/machine/imx6slevk.conf#L15 > > The UBOOT_CONFIG is changed, in local.conf for a machine, to: > > UBOOT_CONFIG = "spinor sd" > > Both as build. > Thanks for the hint - this is an elegant solution for Yocto. Best regards, Stefano -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2016-09-18 7:18 UTC | newest] Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-09-02 16:46 [U-Boot] Building u-boot.imx and SPL simultaneously Petr Kulhavy 2016-09-02 18:18 ` Stefano Babic 2016-09-02 18:57 ` Petr Kulhavy 2016-09-02 20:03 ` Fabio Estevam 2016-09-02 20:53 ` Petr Kulhavy 2016-09-06 13:40 ` Tom Rini 2016-09-06 13:53 ` Otavio Salvador 2016-09-06 13:56 ` Tom Rini 2016-09-06 14:00 ` Eric Nelson 2016-09-06 14:12 ` Petr Kulhavy 2016-09-06 14:17 ` Tom Rini 2016-09-06 14:15 ` Tom Rini 2016-09-10 23:40 ` Eric Nelson 2016-09-18 6:50 ` Peng Fan 2016-09-18 7:18 ` Stefano Babic 2016-09-02 21:45 ` Stefano Babic 2016-09-02 23:15 ` Petr Kulhavy 2016-09-03 9:40 ` Stefano Babic 2016-09-03 20:27 ` Otavio Salvador 2016-09-04 8:53 ` Stefano Babic
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.