Hi Andrew, On 09:11-20231130, Andrew Davis wrote: > 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.. >
This is required for FIT Signature generation actually, FIT Signature doesn't sign multiple DTBs and we use u-boot.dtb at the moment for signing nodes in it. U-boot makefile has a flag of EXT_DTB that actually gets propagated to u-boot.dtb at the end and this is how the signature node is being compiled back to u-boot by the OEs. Though going forward, it looks like we don't plan on having the same support for SKs and EVMs and we'll end up changing CONFIG_DEFAULT_DEVICE_TREE in the defconfigs/config_fragments for this support. If that is the case then I think it's better to start using u-boot.dtb and something similar for SPL if one exists as I am not sure if we are going for runtime detection anymore that requires packing multiple DTBs. Regards, Manorit > Andrew