This patch adds creation of tisemifalcon.bin for J784S4 EVM. The contents are the same as the existing tispl.bin but A72's SPL and the FDT have been removed as they are not needed in semi-falcon mode and instead UBOOT and its FDT are added.
This reduces boot time since A72 SPL is skipped. tispl.bin = TFA + TEE + DM + A72 SPL + FDT(A72 SPL) tifalcon.bin = TFA + TEE + DM + UBOOT + FDT(UBOOT) Signed-off-by: Gokul Praveen <[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..ce2501602f4 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 tisemifalcon.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..d82b8630554 100644 --- a/arch/arm/dts/k3-binman.dtsi +++ b/arch/arm/dts/k3-binman.dtsi @@ -543,6 +543,53 @@ }; }; + ti_semifalcon_template: template-16 { + filename = "tisemifalcon.bin"; + pad-byte = <0xff>; + + fit { + description = "Configuration for semi-falcon 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..d109b3d460c 100644 --- a/arch/arm/dts/k3-j784s4-binman.dtsi +++ b/arch/arm/dts/k3-j784s4-binman.dtsi @@ -317,4 +317,69 @@ }; }; }; + +&binman{ + ti_semifalcon: template-17{ + insert-template = <&ti_semifalcon_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_semifalcon>; + keyfile = "custMpk.pem"; + }; + u_boot_nodtb_semifalcon: 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_semifalcon>; + keyfile = "custMpk.pem"; + }; + + j784s4_evm_dtb_semifalcon: 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..d22cdc09a7e 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-semifalcon { + insert-template = <&ti_semifalcon>; + + fit { + images { + dm { + ti-dm { + filename = "ti-dm/j784s4/ipc_echo_testb_mcu1_0_release_strip.xer5f"; + }; + }; + }; + }; + }; }; #endif -- 2.34.1
