[PATCH v5 12/17] arm: dts: Introduce j784s4 u-boot dts files
Andrew Davis
afd at ti.com
Thu Nov 30 16:11:55 CET 2023
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 <hnagalla at ti.com>
> [ add binman and ddr dtsi files ]
> Signed-off-by: Neha Malcom Francis <n-francis at ti.com>
> Signed-off-by: Dasnavis Sabiya <sabiya.d at ti.com>
> Signed-off-by: Apurva Nandan <a-nandan at 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
More information about the U-Boot
mailing list