Message ID | 20200508095947.GA60002@ryzen.blueri.se |
---|---|
State | Accepted |
Commit | 0e9c045b2b6a0409d650dd39265b4f6924a69832 |
Headers | show |
Series | imx: move ATF to the back of the FIT to fix loading over yModem | expand |
Ping? On Fri, May 08, 2020 at 11:59:47AM +0200, Patrick Wildt wrote: > With yModem the FIT Image is only supplied once, so we can only > seek forward in the yModem supplied image and never backwards. > With the recent changes to the SPL mechanism, including loading > U-Boot first, FDT after, then the loadables, we must also reorder > the FIT image script to make sure that the loadables are last in > the FIT image. > > Signed-off-by: Patrick Wildt <patrick at blueri.se> > > diff --git a/arch/arm/mach-imx/mkimage_fit_atf.sh b/arch/arm/mach-imx/mkimage_fit_atf.sh > index dd1ca5ad3fd..fe12b7bb4bd 100755 > --- a/arch/arm/mach-imx/mkimage_fit_atf.sh > +++ b/arch/arm/mach-imx/mkimage_fit_atf.sh > @@ -62,6 +62,23 @@ cat << __HEADER_EOF > compression = "none"; > load = <$BL33_LOAD_ADDR>; > }; > +__HEADER_EOF > + > +cnt=1 > +for dtname in $* > +do > + cat << __FDT_IMAGE_EOF > + fdt@$cnt { > + description = "$(basename $dtname .dtb)"; > + data = /incbin/("$dtname"); > + type = "flat_dt"; > + compression = "none"; > + }; > +__FDT_IMAGE_EOF > +cnt=$((cnt+1)) > +done > + > +cat << __HEADER_EOF > atf at 1 { > description = "ARM Trusted Firmware"; > os = "arm-trusted-firmware"; > @@ -88,20 +105,6 @@ cat << __HEADER_EOF > __HEADER_EOF > fi > > -cnt=1 > -for dtname in $* > -do > - cat << __FDT_IMAGE_EOF > - fdt@$cnt { > - description = "$(basename $dtname .dtb)"; > - data = /incbin/("$dtname"); > - type = "flat_dt"; > - compression = "none"; > - }; > -__FDT_IMAGE_EOF > -cnt=$((cnt+1)) > -done > - > cat << __CONF_HEADER_EOF > }; > configurations {
Hi, On 5/8/20 11:59 AM, Patrick Wildt wrote: > With yModem the FIT Image is only supplied once, so we can only > seek forward in the yModem supplied image and never backwards. > With the recent changes to the SPL mechanism, including loading > U-Boot first, FDT after, then the loadables, we must also reorder > the FIT image script to make sure that the loadables are last in > the FIT image. > > Signed-off-by: Patrick Wildt <patrick at blueri.se> > Thanks to this patch, I was able to push a FIT image (ATF, U-Boot, dtb) using yModem, so: Tested-by: S?bastien Szymanski <sebastien.szymanski at armadeus.com> Regards,
diff --git a/arch/arm/mach-imx/mkimage_fit_atf.sh b/arch/arm/mach-imx/mkimage_fit_atf.sh index dd1ca5ad3fd..fe12b7bb4bd 100755 --- a/arch/arm/mach-imx/mkimage_fit_atf.sh +++ b/arch/arm/mach-imx/mkimage_fit_atf.sh @@ -62,6 +62,23 @@ cat << __HEADER_EOF compression = "none"; load = <$BL33_LOAD_ADDR>; }; +__HEADER_EOF + +cnt=1 +for dtname in $* +do + cat << __FDT_IMAGE_EOF + fdt@$cnt { + description = "$(basename $dtname .dtb)"; + data = /incbin/("$dtname"); + type = "flat_dt"; + compression = "none"; + }; +__FDT_IMAGE_EOF +cnt=$((cnt+1)) +done + +cat << __HEADER_EOF atf at 1 { description = "ARM Trusted Firmware"; os = "arm-trusted-firmware"; @@ -88,20 +105,6 @@ cat << __HEADER_EOF __HEADER_EOF fi -cnt=1 -for dtname in $* -do - cat << __FDT_IMAGE_EOF - fdt@$cnt { - description = "$(basename $dtname .dtb)"; - data = /incbin/("$dtname"); - type = "flat_dt"; - compression = "none"; - }; -__FDT_IMAGE_EOF -cnt=$((cnt+1)) -done - cat << __CONF_HEADER_EOF }; configurations {
With yModem the FIT Image is only supplied once, so we can only seek forward in the yModem supplied image and never backwards. With the recent changes to the SPL mechanism, including loading U-Boot first, FDT after, then the loadables, we must also reorder the FIT image script to make sure that the loadables are last in the FIT image. Signed-off-by: Patrick Wildt <patrick at blueri.se>