From: Neha Malcom Francis <n-fran...@ti.com>

Clean up templatized boot binaries for j784s4 soc. This includes
modifying the k3-j784s4-binman.dtsi to use SPL_BOARD_DTB,
BOARD_DESCRIPTION and UBOOT_BOARD_DESCRIPTION from the files that
include it to further reuse code.

k3-j784s4-binman.dtsi will contain only templates. Only required boot
binaries can be built from the templates in the boards' respective
-u-boot.dtsi file (or k3-<board>-binman.dtsi if it exists). This allows
clear distinction between the SoC common stuff vs. what is additionally
needed to boot up a specific board.

Signed-off-by: Neha Malcom Francis <n-fran...@ti.com>
[ Do it only for j784s4 ]
Signed-off-by: Manorit Chawdhry <m-chawd...@ti.com>
---
 arch/arm/dts/k3-am69-sk-u-boot.dtsi    | 123 +++++++++++++++++++++++++++------
 arch/arm/dts/k3-j784s4-binman.dtsi     | 116 +++++++++----------------------
 arch/arm/dts/k3-j784s4-evm-u-boot.dtsi |  75 ++++++++++++++++++++
 3 files changed, 206 insertions(+), 108 deletions(-)

diff --git a/arch/arm/dts/k3-am69-sk-u-boot.dtsi 
b/arch/arm/dts/k3-am69-sk-u-boot.dtsi
index 
4a82d2fd222669c4b390d4d877bc15329eab8894..2f119508e1846d5ce169dde7e983bd6a8666b922
 100644
--- a/arch/arm/dts/k3-am69-sk-u-boot.dtsi
+++ b/arch/arm/dts/k3-am69-sk-u-boot.dtsi
@@ -1,10 +1,109 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
+ * Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
  */
 
+#define SPL_BOARD_DTB "spl/dts/ti/k3-am69-sk.dtb"
+#define BOARD_DESCRIPTION "k3-am69-sk"
+#define UBOOT_BOARD_DESCRIPTION "U-Boot for AM69 board"
+
 #include "k3-j784s4-binman.dtsi"
 
+#if defined(CONFIG_CPU_V7R)
+
+&binman {
+       tiboot3-am69-hs {
+               insert-template = <&tiboot3_j784s4_hs>;
+               filename = "tiboot3-j784s4-hs-evm.bin";
+       };
+
+       tiboot3-am69-hs-fs {
+               insert-template = <&tiboot3_j784s4_hs_fs>;
+               filename = "tiboot3-j784s4-hs-fs-evm.bin";
+               symlink = "tiboot3.bin";
+       };
+};
+
+&ti_fs_enc {
+       filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-enc.bin";
+};
+
+&sysfw_inner_cert {
+       filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-cert.bin";
+};
+
+&ti_fs_enc_fs {
+       filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-fs-enc.bin";
+};
+
+&sysfw_inner_cert_fs {
+       filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-fs-cert.bin";
+};
+
+#include "k3-binman-capsule-r5.dtsi"
+
+// Capsule update GUIDs in string form.  See j784s4_evm.h
+#define AM69_SK_TIBOOT3_IMAGE_GUID_STR "adf49ec5-61bb-4dbe-8b8d-39df4d7ebf46"
+
+&capsule_tiboot3 {
+       efi-capsule {
+               image-guid = AM69_SK_TIBOOT3_IMAGE_GUID_STR;
+
+               blob {
+                       filename = "tiboot3-j784s4-hs-fs-evm.bin";
+               };
+       };
+};
+
+#else // CONFIG_ARM64
+
+&binman {
+       ti-dm {
+               filename = "ti-dm.bin";
+
+               blob-ext {
+                       filename = 
"ti-dm/j784s4/ipc_echo_testb_mcu1_0_release_strip.xer5f";
+                       optional;
+               };
+       };
+
+       tispl {
+               insert-template = <&ti_spl>;
+       };
+
+       u-boot {
+               insert-template = <&u_boot>;
+       };
+
+       tispl-unsigned {
+               insert-template = <&ti_spl_unsigned>;
+       };
+
+       u-boot-unsigned {
+               insert-template = <&u_boot_unsigned>;
+       };
+};
+
+#include "k3-binman-capsule.dtsi"
+
+// Capsule update GUIDs in string form.  See j784s4_evm.h
+#define AM69_SK_SPL_IMAGE_GUID_STR "787f0059-63a1-461c-a18e-9d838345fe8e"
+#define AM69_SK_UBOOT_IMAGE_GUID_STR "9300505d-6ec5-4ff8-99e4-5459a04be617"
+
+&capsule_tispl {
+       efi-capsule {
+               image-guid = AM69_SK_SPL_IMAGE_GUID_STR;
+       };
+};
+
+&capsule_uboot {
+       efi-capsule {
+               image-guid = AM69_SK_UBOOT_IMAGE_GUID_STR;
+       };
+};
+
+#endif
+
 / {
        memory@80000000 {
                bootph-all;
@@ -23,25 +122,3 @@
        bootph-pre-ram;
 };
 
-#ifdef CONFIG_TARGET_J784S4_A72_EVM
-
-#define SPL_AM69_SK_DTB "spl/dts/ti/k3-am69-sk.dtb"
-#define AM69_SK_DTB "u-boot.dtb"
-
-&spl_j784s4_evm_dtb {
-       filename = SPL_AM69_SK_DTB;
-};
-
-&j784s4_evm_dtb {
-       filename = AM69_SK_DTB;
-};
-
-&spl_j784s4_evm_dtb_unsigned {
-       filename = SPL_AM69_SK_DTB;
-};
-
-&j784s4_evm_dtb_unsigned {
-       filename = AM69_SK_DTB;
-};
-
-#endif
diff --git a/arch/arm/dts/k3-j784s4-binman.dtsi 
b/arch/arm/dts/k3-j784s4-binman.dtsi
index 
85bdd1f5b6cf8f2856fe3af178980a2f19d51c92..0553825b38350890ae00a3c41663cbb842cbc65e
 100644
--- a/arch/arm/dts/k3-j784s4-binman.dtsi
+++ b/arch/arm/dts/k3-j784s4-binman.dtsi
@@ -5,16 +5,15 @@
 
 #include "k3-binman.dtsi"
 
-#ifdef CONFIG_TARGET_J784S4_R5_EVM
+#if defined(CONFIG_CPU_V7R)
 
 &rcfg_yaml_tifs {
        config = "tifs-rm-cfg.yaml";
 };
 
 &binman {
-       tiboot3-j784s4-hs-evm.bin {
-               filename = "tiboot3-j784s4-hs-evm.bin";
-
+       tiboot3_j784s4_hs: template-9 {
+               section {
                ti-secure-rom {
                        content = <&u_boot_spl>, <&ti_fs_enc>, 
<&combined_tifs_cfg>,
                                <&combined_dm_cfg>, <&sysfw_inner_cert>;
@@ -39,7 +38,6 @@
                };
 
                ti_fs_enc: ti-fs-enc.bin {
-                       filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-enc.bin";
                        type = "blob-ext";
                        optional;
                };
@@ -50,7 +48,6 @@
                };
 
                sysfw_inner_cert: sysfw-inner-cert {
-                       filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-cert.bin";
                        type = "blob-ext";
                        optional;
                };
@@ -59,13 +56,13 @@
                        filename = "combined-dm-cfg.bin";
                        type = "blob-ext";
                };
+               };
        };
 };
 
 &binman {
-       tiboot3-j784s4-hs-fs-evm.bin {
-               filename = "tiboot3-j784s4-hs-fs-evm.bin";
-
+       tiboot3_j784s4_hs_fs: template-10 {
+               section {
                ti-secure-rom {
                        content = <&u_boot_spl_fs>, <&ti_fs_enc_fs>, 
<&combined_tifs_cfg_fs>,
                                <&combined_dm_cfg_fs>, <&sysfw_inner_cert_fs>;
@@ -90,7 +87,6 @@
                };
 
                ti_fs_enc_fs: ti-fs-enc.bin {
-                       filename = 
"ti-sysfw/ti-fs-firmware-j784s4-hs-fs-enc.bin";
                        type = "blob-ext";
                        optional;
                };
@@ -101,7 +97,6 @@
                };
 
                sysfw_inner_cert_fs: sysfw-inner-cert {
-                       filename = 
"ti-sysfw/ti-fs-firmware-j784s4-hs-fs-cert.bin";
                        type = "blob-ext";
                        optional;
                };
@@ -110,14 +105,13 @@
                        filename = "combined-dm-cfg.bin";
                        type = "blob-ext";
                };
+               };
        };
 };
 
 &binman {
-       tiboot3-j784s4-gp-evm.bin {
-               filename = "tiboot3-j784s4-gp-evm.bin";
-               symlink = "tiboot3.bin";
-
+       tiboot3_j784s4_gp: template-11 {
+               section {
                ti-secure-rom {
                        content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
                                <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
@@ -140,7 +134,6 @@
                };
 
                ti_fs_gp: ti-fs-gp.bin {
-                       filename = "ti-sysfw/ti-fs-firmware-j784s4-gp.bin";
                        type = "blob-ext";
                        optional;
                };
@@ -154,43 +147,14 @@
                        filename = "combined-dm-cfg.bin";
                        type = "blob-ext";
                };
-
-       };
-};
-
-#include "k3-binman-capsule-r5.dtsi"
-
-// Capsule update GUIDs in string form.  See j784s4_evm.h
-#define AM69_SK_TIBOOT3_IMAGE_GUID_STR "adf49ec5-61bb-4dbe-8b8d-39df4d7ebf46"
-
-&capsule_tiboot3 {
-       efi-capsule {
-               image-guid = AM69_SK_TIBOOT3_IMAGE_GUID_STR;
-
-               blob {
-                       filename = "tiboot3-j784s4-hs-fs-evm.bin";
                };
        };
 };
 
-#endif
-
-#ifdef CONFIG_TARGET_J784S4_A72_EVM
-
-#define SPL_J784S4_EVM_DTB "spl/dts/ti/k3-j784s4-evm.dtb"
-#define J784S4_EVM_DTB "u-boot.dtb"
+#else
 
 &binman {
-       ti-dm {
-               filename = "ti-dm.bin";
-
-               blob-ext {
-                       filename = 
"ti-dm/j784s4/ipc_echo_testb_mcu1_0_release_strip.xer5f";
-                       optional;
-               };
-       };
-
-       ti-spl {
+       ti_spl: template-12 {
                insert-template = <&ti_spl_template>;
 
                fit {
@@ -207,19 +171,20 @@
                                };
 
                                fdt-0 {
-                                       description = "k3-j784s4-evm";
+                                       description = BOARD_DESCRIPTION;
                                        type = "flat_dt";
                                        arch = "arm";
                                        compression = "none";
 
                                        ti-secure {
-                                               content = <&spl_j784s4_evm_dtb>;
+                                               content = <&spl_board_dtb>;
                                                keyfile = "custMpk.pem";
                                        };
 
-                                       spl_j784s4_evm_dtb: blob-ext {
-                                               filename = SPL_J784S4_EVM_DTB;
+                                       spl_board_dtb: blob-ext {
+                                               filename = SPL_BOARD_DTB;
                                        };
+
                                };
                        };
 
@@ -227,7 +192,7 @@
                                default = "conf-0";
 
                                conf-0 {
-                                       description = "k3-j784s4-evm";
+                                       description = BOARD_DESCRIPTION;
                                        firmware = "atf";
                                        loadables = "tee", "dm", "spl";
                                        fdt = "fdt-0";
@@ -238,17 +203,17 @@
 };
 
 &binman {
-       u-boot {
+       u_boot: template-13 {
                insert-template = <&u_boot_template>;
 
                fit {
                        images {
                                uboot {
-                                       description = "U-Boot for J784S4 board";
+                                       description = UBOOT_BOARD_DESCRIPTION;
                                };
 
                                fdt-0 {
-                                       description = "k3-j784s4-evm";
+                                       description = BOARD_DESCRIPTION;
                                        type = "flat_dt";
                                        arch = "arm";
                                        compression = "none";
@@ -259,7 +224,7 @@
                                        };
 
                                        j784s4_evm_dtb: blob-ext {
-                                               filename = J784S4_EVM_DTB;
+                                               filename = "u-boot.dtb";
                                        };
 
                                        hash {
@@ -272,7 +237,7 @@
                                default = "conf-0";
 
                                conf-0 {
-                                       description = "k3-j784s4-evm";
+                                       description = BOARD_DESCRIPTION;
                                        firmware = "uboot";
                                        loadables = "uboot";
                                        fdt = "fdt-0";
@@ -283,7 +248,7 @@
 };
 
 &binman {
-       ti-spl_unsigned {
+       ti_spl_unsigned: template-14 {
                insert-template = <&ti_spl_unsigned_template>;
 
                fit {
@@ -295,13 +260,13 @@
                                };
 
                                fdt-0 {
-                                       description = "k3-j784s4-evm";
+                                       description = BOARD_DESCRIPTION;
                                        type = "flat_dt";
                                        arch = "arm";
                                        compression = "none";
 
                                        spl_j784s4_evm_dtb_unsigned: blob {
-                                               filename = SPL_J784S4_EVM_DTB;
+                                               filename = SPL_BOARD_DTB;
                                        };
                                };
                        };
@@ -310,7 +275,7 @@
                                default = "conf-0";
 
                                conf-0 {
-                                       description = "k3-j784s4-evm";
+                                       description = BOARD_DESCRIPTION;
                                        firmware = "atf";
                                        loadables = "tee", "dm", "spl";
                                        fdt = "fdt-0";
@@ -321,23 +286,23 @@
 };
 
 &binman {
-       u-boot_unsigned {
+       u_boot_unsigned: template-15 {
                insert-template = <&u_boot_unsigned_template>;
 
                fit {
                        images {
                                uboot {
-                                       description = "U-Boot for J784S4 board";
+                                       description = UBOOT_BOARD_DESCRIPTION;
                                };
 
                                fdt-0 {
-                                       description = "k3-j784s4-evm";
+                                       description = BOARD_DESCRIPTION;
                                        type = "flat_dt";
                                        arch = "arm";
                                        compression = "none";
 
                                        j784s4_evm_dtb_unsigned: blob {
-                                               filename = J784S4_EVM_DTB;
+                                               filename = "u-boot.dtb";
                                        };
 
                                        hash {
@@ -350,7 +315,7 @@
                                default = "conf-0";
 
                                conf-0 {
-                                       description = "k3-j784s4-evm";
+                                       description = BOARD_DESCRIPTION;
                                        firmware = "uboot";
                                        loadables = "uboot";
                                        fdt = "fdt-0";
@@ -359,23 +324,4 @@
                };
        };
 };
-
-#include "k3-binman-capsule.dtsi"
-
-// Capsule update GUIDs in string form.  See j784s4_evm.h
-#define AM69_SK_SPL_IMAGE_GUID_STR "787f0059-63a1-461c-a18e-9d838345fe8e"
-#define AM69_SK_UBOOT_IMAGE_GUID_STR "9300505d-6ec5-4ff8-99e4-5459a04be617"
-
-&capsule_tispl {
-       efi-capsule {
-               image-guid = AM69_SK_SPL_IMAGE_GUID_STR;
-       };
-};
-
-&capsule_uboot {
-       efi-capsule {
-               image-guid = AM69_SK_UBOOT_IMAGE_GUID_STR;
-       };
-};
-
 #endif
diff --git a/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi 
b/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi
index 
8f0307321e843a10ee0696ff41f2e3a8fc83add0..8a60d7c61075b60a7be534a1a98f8a9017c4343d
 100644
--- a/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi
+++ b/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi
@@ -3,8 +3,83 @@
  * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
  */
 
+#define SPL_BOARD_DTB "spl/dts/ti/k3-j784s4-evm.dtb"
+#define BOARD_DESCRIPTION "k3-j784s4-evm"
+#define UBOOT_BOARD_DESCRIPTION "U-Boot for J784S4 board"
+
 #include "k3-j784s4-binman.dtsi"
 
+#if defined(CONFIG_CPU_V7R)
+
+&binman {
+       tiboot3-j784s4-hs {
+               insert-template = <&tiboot3_j784s4_hs>;
+               filename = "tiboot3-j784s4-hs-evm.bin";
+       };
+
+       tiboot3-j784s4-hs-fs {
+               insert-template = <&tiboot3_j784s4_hs_fs>;
+               filename = "tiboot3-j784s4-hs-fs-evm.bin";
+       };
+
+       tiboot3-j784s4-gp {
+               insert-template = <&tiboot3_j784s4_gp>;
+               filename = "tiboot3-j784s4-gp-evm.bin";
+               symlink = "tiboot3.bin";
+       };
+};
+
+&ti_fs_gp {
+       filename = "ti-sysfw/ti-fs-firmware-j784s4-gp.bin";
+};
+
+&ti_fs_enc {
+       filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-enc.bin";
+};
+
+&sysfw_inner_cert {
+       filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-cert.bin";
+};
+
+&ti_fs_enc_fs {
+       filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-fs-enc.bin";
+};
+
+&sysfw_inner_cert_fs {
+       filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-fs-cert.bin";
+};
+
+#else // CONFIG_ARM64
+
+&binman {
+       ti-dm {
+               filename = "ti-dm.bin";
+
+               blob-ext {
+                       filename = 
"ti-dm/j784s4/ipc_echo_testb_mcu1_0_release_strip.xer5f";
+                       optional;
+               };
+       };
+
+       tispl {
+               insert-template = <&ti_spl>;
+       };
+
+       u-boot {
+               insert-template = <&u_boot>;
+       };
+
+       tispl-unsigned {
+               insert-template = <&ti_spl_unsigned>;
+       };
+
+       u-boot-unsigned {
+               insert-template = <&u_boot_unsigned>;
+       };
+};
+
+#endif
+
 / {
        memory@80000000 {
                bootph-all;

-- 
2.34.1

Reply via email to