On 08/02/2022 21:50, Simon Glass wrote: > Add the required binman images to replace the Makefile rules which are > currently used. This includes subsuming: > > - tpl/u-boot-tpl-rockchip.bin if TPL is enabled > - idbloader.img if either or both of SPL and TPL are enabled > - u-boot.itb2 if SPL_FIT is enabled > - u-boot-rockchip.bin if SPL is used, either using u-boot.itb2 when > SPL_FIT is enabled or u-boot.img when it isn't > > For now u-boot.itb2 is used as the FIT filename to avoid conflicting with > the current u-boot.itb file. This will be updated in a future patch.
I don't see a u-boot.itb2 anywhere. Something from an earlier revision or does binman append the number to avoid overwriting existing files? > > Note that the intermediate files are dropped with binman, since it > producing everything in one pass. This means that > tpl/u-boot-tpl-rockchip.bin is not created, for example. > > Note that for some 32-bit rk3288 boards, rockchip-optee.dtsi is included. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > arch/arm/dts/rockchip-u-boot.dtsi | 84 ++++++++++++++++++++++++++++++- > 1 file changed, 82 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/dts/rockchip-u-boot.dtsi > b/arch/arm/dts/rockchip-u-boot.dtsi > index eae3ee715d..6246ca12b7 100644 > --- a/arch/arm/dts/rockchip-u-boot.dtsi > +++ b/arch/arm/dts/rockchip-u-boot.dtsi > @@ -17,13 +17,93 @@ > filename = "u-boot-rockchip.bin"; > pad-byte = <0xff>; > > - blob { > - filename = "idbloader.img"; > +#ifdef CONFIG_TPL > + mkimage { > + args = "-n", CONFIG_SYS_SOC, "-T rksd"; > + > + u-boot-tpl { > + }; > + }; > + > + u-boot-spl { > }; > +#elif defined(CONFIG_SPL) /* SPL only */ > + mkimage { > + args = "-n", CONFIG_SYS_SOC, "-T rksd"; > + > + u-boot-spl { > + }; > + }; > +#endif > +#if defined(CONFIG_SPL_FIT) && defined(CONFIG_ARM64) > + fit: fit { > + description = "FIT image for U-Boot with bl31 (TF-A)"; > + #address-cells = <1>; > + fit,fdt-list = "of-list"; > + fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; > + images { > + u-boot { > + description = "U-Boot (64-bit)"; > + type = "standalone"; > + os = "U-Boot"; > + arch = "arm64"; > + compression = "none"; > + load = <CONFIG_SYS_TEXT_BASE>; > + u-boot-nodtb { > + }; > + }; > > + @atf-SEQ { > + fit,operation = "split-elf"; > + description = "ARM Trusted Firmware"; > + type = "firmware"; > + arch = "arm64"; > + os = "arm-trusted-firmware"; > + compression = "none"; > + fit,load; > + fit,entry; > + fit,data; > + > + atf-bl31 { > + }; > + }; > + @tee-SEQ { > + fit,operation = "split-elf"; > + description = "TEE"; > + type = "tee"; > + arch = "arm64"; > + os = "tee"; > + compression = "none"; > + fit,load; > + fit,entry; > + fit,data; > + > + op-tee { > + }; > + }; > + > + @fdt-SEQ { > + description = "fdt-NAME"; > + compression = "none"; > + type = "flat_dt"; > + }; > + }; > + > + configurations { > + default = "@config-DEFAULT-SEQ"; > + @config-SEQ { > + description = "NAME.dtb"; > + fdt = "fdt-SEQ"; > + firmware = "u-boot"; > + fit,loadables; > + }; > + }; > + }; > +#else This should be done for the SPI ROM image in rk3399-u-boot.dtsi as well, and with that my chromebook_kevin can boot into Linux or EFI GRUB quite nicely. I changed the "rksd" parts to "rkspi", and as I wrote on a different patch I had to change the firmware and loadables like so (where I wasn't passing in an op-tee at all): configurations { default = "@config-DEFAULT-SEQ"; @config-SEQ { description = "NAME.dtb"; fdt = "fdt-SEQ"; firmware = "atf-1"; loadables = "u-boot", "atf-2", "atf-3"; }; }; I also had to use the same offset as the u-boot-img there, so maybe this needs the offset below as well. > u-boot-img { > offset = <CONFIG_SPL_PAD_TO>; > }; > +#endif /* CONFIG_ARM64 */ > }; > }; > #endif