From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrick Wildt Date: Fri, 8 May 2020 11:45:27 +0200 Subject: [PATCH 2/3] mksunxi_fit_atf.sh: Update FIT component descriptions In-Reply-To: <20200507232035.31892-2-samuel@sholland.org> Message-ID: <20200508094512.GA99682@ryzen.blueri.se> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, now this really confuses me. commit 0db0ba6141f402b1d496ef53d9fa69978f75ec61 has explicitly made u-boot the firmware and moved atf into the loadables on NXP i.MX. Here you do the complete opposite for sunxi. Can people please make up their minds how it is *supposed* to work? Oh, and your previous diff about the "minimal os parsing", I need that too for my use-case, so I like that one! Patrick On Thu, May 07, 2020 at 06:20:34PM -0500, Samuel Holland wrote: > Since commit d879616e9e64 ("spl: fit: simplify logic for FDT loading for > non-OS boots"), the SPL looks at the "os" properties of FIT images to > determine where to append the FDT. > > The "os" property of the "firmware" image also determines how to execute > the next stage of the boot process, as in 1d3790905d9c ("spl: atf: > introduce spl_invoke_atf and make bl31_entry private"). > > To support this additional functionality, and to properly model the boot > process, where ATF runs before U-Boot, add the "os" properties and swap > the firmware/loadable images in the FIT image. > > Signed-off-by: Samuel Holland > --- > board/sunxi/mksunxi_fit_atf.sh | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/board/sunxi/mksunxi_fit_atf.sh b/board/sunxi/mksunxi_fit_atf.sh > index 88ad719747..4dfd22db78 100755 > --- a/board/sunxi/mksunxi_fit_atf.sh > +++ b/board/sunxi/mksunxi_fit_atf.sh > @@ -31,6 +31,7 @@ cat << __HEADER_EOF > description = "U-Boot (64-bit)"; > data = /incbin/("u-boot-nodtb.bin"); > type = "standalone"; > + os = "u-boot"; > arch = "arm64"; > compression = "none"; > load = <0x4a000000>; > @@ -39,6 +40,7 @@ cat << __HEADER_EOF > description = "ARM Trusted Firmware"; > data = /incbin/("$BL31"); > type = "firmware"; > + os = "arm-trusted-firmware"; > arch = "arm64"; > compression = "none"; > load = <$BL31_ADDR>; > @@ -73,8 +75,8 @@ do > cat << __CONF_SECTION_EOF > config_$cnt { > description = "$(basename $dtname .dtb)"; > - firmware = "uboot"; > - loadables = "atf"; > + firmware = "atf"; > + loadables = "uboot"; > fdt = "fdt_$cnt"; > }; > __CONF_SECTION_EOF > -- > 2.24.1 >