On 8/14/2026 3:51 PM, Gokul Praveen wrote:
> 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

Reviewed-by: Neha Malcom Francis <[email protected]>

-- 
Thanking You
Neha Malcom Francis

Reply via email to