[PATCH v2 2/3] arm: k3-binman: add tinospl.bin for direct U-Boot boot
Gokul Praveen <[email protected]>
| Newsgroups | org.u-boot-project.lists.u-boot |
|---|---|
| Message-ID | <[email protected]> |
This patch adds creation of tinospl.bin for J784S4 EVM. The contents are similar to the existing tispl.bin but the A72 SPL and its FDT have been removed and replaced with U-Boot proper and its FDT. This binary is used in a boot mode where R5 SPL directly loads U-Boot, bypassing the A Core SPL stage. This reduces boot time by eliminating the A Core SPL stage. tispl.bin = TFA + TEE + DM + A72 SPL + FDT(A72 SPL) tinospl.bin = TFA + TEE + DM + U-Boot + FDT(U-Boot) Signed-off-by: Gokul Praveen <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]> --- Makefile | 2 +- arch/arm/dts/k3-binman.dtsi | 47 +++++++++++++++++++ arch/arm/dts/k3-j784s4-binman.dtsi | 65 ++++++++++++++++++++++++++ arch/arm/dts/k3-j784s4-evm-u-boot.dtsi | 14 ++++++ 4 files changed, 127 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c6253670a94..c6723d63f59 100644 --- a/Makefile +++ b/Makefile @@ -2556,7 +2556,7 @@ CLEAN_FILES += include/autoconf.mk* include/bmp_logo.h include/bmp_logo_data.h \ idbloader-spi.img lib/efi_loader/helloworld_efi.S *.itb \ Test* capsule*.*.efi-capsule capsule*.map mkimage.imx-boot.spl \ mkimage.imx-boot.u-boot mkimage-out.imx-boot.spl mkimage-out.imx-boot.u-boot \ - imx9image* m33-oei-ddrfw* tifalcon.bin + imx9image* m33-oei-ddrfw* tifalcon.bin tinospl.bin # Directories & files removed with 'make mrproper' MRPROPER_FILES += include/config include/generated spl tpl vpl \ diff --git a/arch/arm/dts/k3-binman.dtsi b/arch/arm/dts/k3-binman.dtsi index ad127663d03..aa8479bc0f6 100644 --- a/arch/arm/dts/k3-binman.dtsi +++ b/arch/arm/dts/k3-binman.dtsi @@ -543,6 +543,53 @@ }; }; + ti_nospl_template: template-16 { + filename = "tinospl.bin"; + pad-byte = <0xff>; + + fit { + description = "Configuration for no-SPL boot"; + #address-cells = <1>; + + images { + atf { + description = "ARM Trusted Firmware"; + type = "firmware"; + arch = "arm64"; + compression = "none"; + os = "arm-trusted-firmware"; + load = <CONFIG_K3_ATF_LOAD_ADDR>; + entry = <CONFIG_K3_ATF_LOAD_ADDR>; + atf-bl31 { + filename = "bl31.bin"; + }; + }; + tee { + description = "OP-TEE"; + type = "tee"; + arch = "arm64"; + compression = "none"; + os = "tee"; + load = <CONFIG_K3_OPTEE_LOAD_ADDR>; + entry = <CONFIG_K3_OPTEE_LOAD_ADDR>; + tee-os { + filename = "tee-raw.bin"; + optional; + }; + }; + dm { + description = "DM binary"; + type = "firmware"; + arch = "arm32"; + compression = "none"; + os = "DM"; + load = <0x89000000>; + entry = <0x89000000>; + }; + }; + }; + }; + }; #endif diff --git a/arch/arm/dts/k3-j784s4-binman.dtsi b/arch/arm/dts/k3-j784s4-binman.dtsi index 34b2cc1e681..0dec4316d6b 100644 --- a/arch/arm/dts/k3-j784s4-binman.dtsi +++ b/arch/arm/dts/k3-j784s4-binman.dtsi @@ -317,4 +317,69 @@ }; }; }; + +&binman{ + ti_nospl: template-17{ + insert-template = <&ti_nospl_template>; + + fit { + images { + dm { + ti-dm { + }; + }; + + uboot { + description = UBOOT_BOARD_DESCRIPTION; + type = "firmware"; + os = "u-boot"; + arch = "arm"; + compression = "none"; + load = <CONFIG_TEXT_BASE>; + ti-secure { + content = <&u_boot_nodtb_nospl>; + keyfile = "custMpk.pem"; + }; + u_boot_nodtb_nospl: blob-ext { + filename = "u-boot-nodtb.bin"; + }; + hash { + algo = "crc32"; + }; + }; + + fdt-0 { + description = BOARD_DESCRIPTION; + type = "flat_dt"; + arch = "arm"; + compression = "none"; + + ti-secure { + content = <&j784s4_evm_dtb_nospl>; + keyfile = "custMpk.pem"; + }; + + j784s4_evm_dtb_nospl: blob-ext { + filename = "u-boot.dtb"; + }; + + hash { + algo = "crc32"; + }; + }; + }; + + configurations { + default = "conf-0"; + + conf-0 { + description = BOARD_DESCRIPTION; + firmware = "atf"; + loadables = "tee", "dm", "uboot"; + fdt = "fdt-0"; + }; + }; + }; + }; +}; #endif diff --git a/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi b/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi index cc0b562d27e..fc6f23736ae 100644 --- a/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi +++ b/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi @@ -87,6 +87,20 @@ u-boot-unsigned { insert-template = <&u_boot_unsigned>; }; + + ti-nospl { + insert-template = <&ti_nospl>; + + fit { + images { + dm { + ti-dm { + filename = "ti-dm/j784s4/ipc_echo_testb_mcu1_0_release_strip.xer5f"; + }; + }; + }; + }; + }; }; #endif -- 2.34.1