rockchip: Support building the all output files in binman

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.itb if SPL_FIT is enabled
   - u-boot-rockchip.bin if SPL is used, either using u-boot.itb when
     SPL_FIT is enabled or u-boot.img when it isn't

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 <sjg@chromium.org>
This commit is contained in:
Simon Glass 2023-01-07 14:07:18 -07:00
parent 4170dd9ec0
commit e0c0efff2a
3 changed files with 75 additions and 9 deletions

View file

@ -17,7 +17,7 @@
&binman {
simple-bin {
blob {
fit {
offset = <((CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR - 64) * 512)>;
};
};

View file

@ -46,14 +46,14 @@
&binman {
simple-bin {
blob {
fit {
offset = <((CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR - 64) * 512)>;
};
};
#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
simple-bin-spi {
blob {
fit {
/* same as u-boot,spl-payload-offset */
offset = <0x80000>;
};

View file

@ -30,14 +30,79 @@
};
};
#ifdef CONFIG_ARM64
blob {
#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";
filename = "u-boot.itb";
fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
offset = <CONFIG_SPL_PAD_TO>;
images {
u-boot {
description = "U-Boot (64-bit)";
type = "standalone";
os = "U-Boot";
arch = "arm64";
compression = "none";
load = <CONFIG_TEXT_BASE>;
entry = <CONFIG_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;
tee-os {
optional;
};
};
@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
u-boot-img {
#endif
offset = <CONFIG_SPL_PAD_TO>;
};
#endif
};
#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
@ -59,7 +124,8 @@
};
#ifdef CONFIG_ARM64
blob {
fit {
type = "blob";
filename = "u-boot.itb";
#else
u-boot-img {
@ -68,6 +134,6 @@
offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
};
};
#endif
#endif /* CONFIG_ROCKCHIP_SPI_IMAGE */
};
#endif
#endif /* CONFIG_SPL */