[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