On 11/30/23 5:55 AM, Apurva Nandan wrote:
Introduce the base dts files needed for u-boot or to augment the linux
dtbs for use in the u-boot-spl and u-boot binaries.
Signed-off-by: Hari Nagalla <hnaga...@ti.com>
[ add binman and ddr dtsi files ]
Signed-off-by: Neha Malcom Francis <n-fran...@ti.com>
Signed-off-by: Dasnavis Sabiya <sabiy...@ti.com>
Signed-off-by: Apurva Nandan <a-nan...@ti.com>
---
arch/arm/dts/Makefile | 3 +-
arch/arm/dts/k3-j784s4-binman.dtsi | 346 +
arch/arm/dts/k3-j784s4-ddr-evm-lp4-4266.dtsi | 8757 +++++++++++++++++
arch/arm/dts/k3-j784s4-ddr.dtsi | 8858 ++++++++++++++++++
arch/arm/dts/k3-j784s4-evm-u-boot.dtsi | 25 +
arch/arm/dts/k3-j784s4-r5-evm.dts | 105 +
6 files changed, 18093 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/dts/k3-j784s4-binman.dtsi
create mode 100644 arch/arm/dts/k3-j784s4-ddr-evm-lp4-4266.dtsi
create mode 100644 arch/arm/dts/k3-j784s4-ddr.dtsi
create mode 100644 arch/arm/dts/k3-j784s4-evm-u-boot.dtsi
create mode 100644 arch/arm/dts/k3-j784s4-r5-evm.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 1a63ccba8e..b73f8a9230 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -1409,7 +1409,8 @@ dtb-$(CONFIG_SOC_K3_J721S2) += k3-am68-sk-base-board.dtb\
k3-j721s2-common-proc-board.dtb\
k3-j721s2-r5-common-proc-board.dtb
dtb-$(CONFIG_SOC_K3_J784S4) += k3-am69-sk.dtb\
- k3-j784s4-evm.dtb
+ k3-j784s4-evm.dtb\
+ k3-j784s4-r5-evm.dtb
dtb-$(CONFIG_SOC_K3_AM642) += k3-am642-evm.dtb \
k3-am642-r5-evm.dtb \
k3-am642-sk.dtb \
diff --git a/arch/arm/dts/k3-j784s4-binman.dtsi
b/arch/arm/dts/k3-j784s4-binman.dtsi
new file mode 100644
index 0000000000..7349c2ba38
--- /dev/null
+++ b/arch/arm/dts/k3-j784s4-binman.dtsi
@@ -0,0 +1,346 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#include "k3-binman.dtsi"
+
+#ifdef CONFIG_TARGET_J784S4_R5_EVM
+
+&rcfg_yaml_tifs {
+ config = "tifs-rm-cfg.yaml";
+};
+
+&binman {
+ tiboot3-j784s4-hs-evm.bin {
+ filename = "tiboot3-j784s4-hs-evm.bin";
+
+ ti-secure-rom {
+ content = <&u_boot_spl>, <&ti_fs_enc>,
<&combined_tifs_cfg>,
+ <&combined_dm_cfg>, <&sysfw_inner_cert>;
+ combined;
+ dm-data;
+ sysfw-inner-cert;
+ keyfile = "custMpk.pem";
+ sw-rev = <1>;
+ content-sbl = <&u_boot_spl>;
+ content-sysfw = <&ti_fs_enc>;
+ content-sysfw-data = <&combined_tifs_cfg>;
+ content-sysfw-inner-cert = <&sysfw_inner_cert>;
+ content-dm-data = <&combined_dm_cfg>;
+ load = <0x41c00000>;
+ load-sysfw = <0x40000>;
+ load-sysfw-data = <0x66800>;
+ load-dm-data = <0x41c80000>;
+ };
+
+ u_boot_spl: u-boot-spl {
+ no-expanded;
+ };
+
+ ti_fs_enc: ti-fs-enc.bin {
+ filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-enc.bin";
+ type = "blob-ext";
+ optional;
+ };
+
+ combined_tifs_cfg: combined-tifs-cfg.bin {
+ filename = "combined-tifs-cfg.bin";
+ type = "blob-ext";
+ };
+
+ sysfw_inner_cert: sysfw-inner-cert {
+ filename = "ti-sysfw/ti-fs-firmware-j784s4-hs-cert.bin";
+ type = "blob-ext";
+ optional;
+ };
+
+ combined_dm_cfg: combined-dm-cfg.bin {
+ filename = "combined-dm-cfg.bin";
+ type = "blob-ext";
+ };
+ };
+};
+
+&binman {
+ tiboot3-j784s4-hs-fs-evm.bin {
+ filename = "tiboot3-j784s4-hs-fs-evm.bin";
+
+ ti-secure-rom {
+ content = <&u_boot_spl_fs>, <&ti_fs_enc_fs>,
<&combined_tifs_cfg_fs>,
+ <&combined_dm_cfg_fs>, <&sysfw_inner_cert_fs>;
+ combined;
+ dm-data;
+ sysfw-inner-cert;
+ keyfile = "custMpk.pem";
+ sw-rev = <1>;
+ content-sbl = <&u_boot_spl_fs>;
+ content-sysfw = <&ti_fs_enc_fs>;
+ content-sysfw-data = <&combined_tifs_cfg_fs>;
+ content-sysfw-inner-cert = <&sysfw_inner_cert_fs>;
+ content-dm-data = <&combined_dm_cfg_fs>;
+ load = <0x41c00000>;
+ load-sysfw = <0x40000>;
+ load-sysfw-data = <0x66800>;
+ load-dm-data = <0x41c80000>;
+ };
+
+ u_boot_spl_fs: u-boot-spl {
+ no-expanded;
+ };
+
+ ti_fs_enc_fs: ti-fs-enc.bin {
+ filename =
"ti-sysfw/ti-fs-firmware-j784s4-hs-fs-enc.bin";
+ type = "blob-ext";
+ optional;
+ };
+
+ combined_tifs_cfg_fs: combined-tifs-cfg.bin {
+ filename = "combined-tifs-cfg.bin";
+ type = "blob-ext";
+ };
+
+ sysfw_inner_cert_fs: sysfw-inner-cert {
+ filename =
"ti-sysfw/ti-fs-firmware-j784s4-hs-fs-cert.bin";
+ type = "blob-ext";
+ optional;
+ };
+
+ combined_dm_cfg_fs: combined-dm-cfg.bin {
+ filename = "combined-dm-cfg.bin";
+ type = "blob-ext";
+ };
+ };
+};
+
+&binman {
+ tiboot3-j784s4-gp-evm.bin {
+ filename = "tiboot3-j784s4-gp-evm.bin";
+ symlink = "tiboot3.bin";
+
+ ti-secure-rom {
+ content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
+ <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
+ combined;
+ dm-data;
+ content-sbl = <&u_boot_spl_unsigned>;
+ load = <0x41c00000>;
+ content-sysfw = <&ti_fs_gp>;
+ load-sysfw = <0x40000>;
+ content-sysfw-data = <&combined_tifs_cfg_gp>;
+ load-sysfw-data = < 0x66800>;
+ content-dm-data = <&combined_dm_cfg_gp>;
+ load-dm-data = <0x41c80000>;
+ sw-rev = <1>;
+ keyfile = "ti-degenerate-key.pem";
+ };
+
+ u_boot_spl_unsigned: u-boot-spl {
+ no-expanded;
+ };
+
+ ti_fs_gp: ti-fs-gp.bin {
+ filename = "ti-sysfw/ti-fs-firmware-j784s4-gp.bin";
+ type = "blob-ext";
+ optional;
+ };
+
+ combined_tifs_cfg_gp: combined-tifs-cfg-gp.bin {
+ filename = "combined-tifs-cfg.bin";
+ type = "blob-ext";
+ };
+
+ combined_dm_cfg_gp: combined-dm-cfg-gp.bin {
+ filename = "combined-dm-cfg.bin";
+ type = "blob-ext";
+ };
+
+ };
+};
+#endif
+
+#ifdef CONFIG_TARGET_J784S4_A72_EVM
+
+#define SPL_J784S4_EVM_DTB "spl/dts/k3-j784s4-evm.dtb"
+
+#define J784S4_EVM_DTB "u-boot.dtb"
+
Why not define this as "arch/arm/dts/k3-j784s4-evm.dtb"? Seems we use this
as a hacky way to change this item based on CONFIG_DEFAULT_DEVICE_TREE as
that DT will be renamed "u-boot.dtb". But I'm not sure what that gains us.
And why only do it for U-Boot and not SPL_? If runtime selection is not
working then we still have the wrong DTB for SPL just the same.
It also means we have in some builds we have a node named "j784s4_evm_dtb"
that contains the SK DTB, and the node called "am69_sk_dtb" *also* contains
the SK DTB..
Andrew