[PATCH v10 11/15] arm: dts: Introduce j784s4 u-boot dts files

Marcel Ziswiler marcel.ziswiler at toradex.com
Tue Feb 27 17:24:06 CET 2024


Hi Apurva

On Sat, 2024-02-24 at 01:51 +0530, 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           |  345 +
>  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       |   31 +
>  arch/arm/dts/k3-j784s4-r5-evm.dts            |  106 +
>  board/ti/j784s4/MAINTAINERS                  |    4 +
>  7 files changed, 18104 insertions(+)
>  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 7c2681eb937..e484112dd7c 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -1412,6 +1412,9 @@ dtb-$(CONFIG_SOC_K3_J721S2) += k3-am68-sk-base-board.dtb\
>  			       k3-am68-sk-r5-base-board.dtb\
>  			       k3-j721s2-common-proc-board.dtb\
>  			       k3-j721s2-r5-common-proc-board.dtb
> +
> +dtb-$(CONFIG_SOC_K3_J784S4) += 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 00000000000..e4dd6e14a66
> --- /dev/null
> +++ b/arch/arm/dts/k3-j784s4-binman.dtsi
> @@ -0,0 +1,345 @@
> +// 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/ti/k3-j784s4-evm.dtb"

Same device trees vendor folder here.

> +#define J784S4_EVM_DTB "u-boot.dtb"
> +
> +&binman {
> +	ti-dm {
> +		filename = "ti-dm.bin";
> +
> +		blob-ext {
> +			filename = "ti-dm/j784s4/ipc_echo_testb_mcu1_0_release_strip.xer5f";
> +		};
> +	};
> +
> +	ti-spl {
> +		insert-template = <&ti_spl_template>;
> +
> +		fit {
> +			images {
> +				dm {
> +					ti-secure {
> +						content = <&dm>;
> +						keyfile = "custMpk.pem";
> +					};
> +
> +					dm: blob-ext {
> +						filename = "ti-dm.bin";
> +					};
> +				};
> +
> +				fdt-0 {
> +					description = "k3-j784s4-evm";
> +					type = "flat_dt";
> +					arch = "arm";
> +					compression = "none";
> +
> +					ti-secure {
> +						content = <&spl_j784s4_evm_dtb>;
> +						keyfile = "custMpk.pem";
> +					};
> +
> +					spl_j784s4_evm_dtb: blob-ext {
> +						filename = SPL_J784S4_EVM_DTB;
> +					};
> +				};
> +			};
> +
> +			configurations {
> +				default = "conf-0";
> +
> +				conf-0 {
> +					description = "k3-j784s4-evm";
> +					firmware = "atf";
> +					loadables = "tee", "dm", "spl";
> +					fdt = "fdt-0";
> +				};
> +			};
> +		};
> +	};
> +};
> +
> +&binman {
> +	u-boot {
> +		insert-template = <&u_boot_template>;
> +
> +		fit {
> +			images {
> +				uboot {
> +					description = "U-Boot for J784S4 board";
> +				};
> +
> +				fdt-0 {
> +					description = "k3-j784s4-evm";
> +					type = "flat_dt";
> +					arch = "arm";
> +					compression = "none";
> +
> +					ti-secure {
> +						content = <&j784s4_evm_dtb>;
> +						keyfile = "custMpk.pem";
> +					};
> +
> +					j784s4_evm_dtb: blob-ext {
> +						filename = J784S4_EVM_DTB;
> +					};
> +
> +					hash {
> +						algo = "crc32";
> +					};
> +				};
> +			};
> +
> +			configurations {
> +				default = "conf-0";
> +
> +				conf-0 {
> +					description = "k3-j784s4-evm";
> +					firmware = "uboot";
> +					loadables = "uboot";
> +					fdt = "fdt-0";
> +				};
> +			};
> +		};
> +	};
> +};
> +
> +&binman {
> +	ti-spl_unsigned {
> +		insert-template = <&ti_spl_unsigned_template>;
> +
> +		fit {
> +			images {
> +				dm {
> +					blob-ext {
> +						filename = "ti-dm.bin";
> +					};
> +				};
> +
> +				fdt-0 {
> +					description = "k3-j784s4-evm";
> +					type = "flat_dt";
> +					arch = "arm";
> +					compression = "none";
> +
> +					spl_j784s4_evm_dtb_unsigned: blob {
> +						filename = SPL_J784S4_EVM_DTB;
> +					};
> +				};
> +			};
> +
> +			configurations {
> +				default = "conf-0";
> +
> +				conf-0 {
> +					description = "k3-j784s4-evm";
> +					firmware = "atf";
> +					loadables = "tee", "dm", "spl";
> +					fdt = "fdt-0";
> +				};
> +			};
> +		};
> +	};
> +};
> +
> +&binman {
> +	u-boot_unsigned {
> +		insert-template = <&u_boot_unsigned_template>;
> +
> +		fit {
> +			images {
> +				uboot {
> +					description = "U-Boot for J784S4 board";
> +				};
> +
> +				fdt-0 {
> +					description = "k3-j784s4-evm";
> +					type = "flat_dt";
> +					arch = "arm";
> +					compression = "none";
> +
> +					j784s4_evm_dtb_unsigned: blob {
> +						filename = J784S4_EVM_DTB;
> +					};
> +
> +					hash {
> +						algo = "crc32";
> +					};
> +				};
> +			};
> +
> +			configurations {
> +				default = "conf-0";
> +
> +				conf-0 {
> +					description = "k3-j784s4-evm";
> +					firmware = "uboot";
> +					loadables = "uboot";
> +					fdt = "fdt-0";
> +				};
> +			};
> +		};
> +	};
> +};
> +#endif
> diff --git a/arch/arm/dts/k3-j784s4-ddr-evm-lp4-4266.dtsi b/arch/arm/dts/k3-j784s4-ddr-evm-lp4-4266.dtsi
> new file mode 100644
> index 00000000000..0e16d2f201d
> --- /dev/null
> +++ b/arch/arm/dts/k3-j784s4-ddr-evm-lp4-4266.dtsi
> @@ -0,0 +1,8757 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
> + * This file was generated by the Jacinto7_DDRSS_RegConfigTool, Revision: 0.10.0
> + * This file was generated on 04/12/2023
> + */

[snip]

> diff --git a/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi b/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi
> new file mode 100644
> index 00000000000..ac749782bfc
> --- /dev/null
> +++ b/arch/arm/dts/k3-j784s4-evm-u-boot.dtsi
> @@ -0,0 +1,31 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
> + */
> +
> +#include "k3-j784s4-binman.dtsi"
> +
> +/ {
> +	memory at 80000000 {
> +		bootph-all;
> +	};
> +};
> +
> +&mcu_udmap {
> +	reg =   <0x0 0x285c0000 0x0 0x100>,
> +		<0x0 0x284c0000 0x0 0x4000>,
> +		<0x0 0x2a800000 0x0 0x40000>,
> +		<0x0 0x284a0000 0x0 0x4000>,
> +		<0x0 0x2aa00000 0x0 0x40000>,
> +		<0x0 0x28400000 0x0 0x2000>;
> +	reg-names = "gcfg", "rchan", "rchanrt", "tchan",
> +		    "tchanrt", "rflow";
> +	bootph-pre-ram;
> +};
> +
> +&sms {
> +	k3_sysreset: sysreset-controller {
> +		compatible = "ti,sci-sysreset";
> +		bootph-pre-ram;
> +	};
> +};
> diff --git a/arch/arm/dts/k3-j784s4-r5-evm.dts b/arch/arm/dts/k3-j784s4-r5-evm.dts
> new file mode 100644
> index 00000000000..bef4573d3d2
> --- /dev/null
> +++ b/arch/arm/dts/k3-j784s4-r5-evm.dts
> @@ -0,0 +1,106 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
> + */
> +
> +/dts-v1/;
> +
> +#include "k3-j784s4-evm.dts"
> +#include "k3-j784s4-ddr-evm-lp4-4266.dtsi"
> +#include "k3-j784s4-ddr.dtsi"
> +#include "k3-j784s4-evm-u-boot.dtsi"
> +
> +/ {
> +	chosen {
> +		tick-timer = &mcu_timer0;
> +	};
> +
> +	aliases {
> +		remoteproc0 = &sysctrler;
> +		remoteproc1 = &a72_0;
> +	};
> +
> +	a72_0: a72 at 0 {
> +		compatible = "ti,am654-rproc";
> +		reg = <0x0 0x00a90000 0x0 0x10>;
> +		power-domains = <&k3_pds 61 TI_SCI_PD_EXCLUSIVE>,
> +				<&k3_pds 202 TI_SCI_PD_EXCLUSIVE>;
> +		resets = <&k3_reset 202 0>;
> +		clocks = <&k3_clks 61 0>;
> +		assigned-clocks = <&k3_clks 61 0>, <&k3_clks 202 0>;
> +		assigned-clock-parents = <&k3_clks 61 2>;
> +		assigned-clock-rates = <200000000>, <2000000000>;
> +		ti,sci = <&sms>;
> +		ti,sci-proc-id = <32>;
> +		ti,sci-host-id = <10>;
> +		bootph-pre-ram;
> +	};
> +
> +	dm_tifs: dm-tifs {
> +		compatible = "ti,j721e-dm-sci";
> +		ti,host-id = <3>;
> +		ti,secure-host;
> +		mbox-names = "rx", "tx";
> +		mboxes= <&secure_proxy_mcu 21>, <&secure_proxy_mcu 23>;
> +		bootph-pre-ram;
> +	};
> +};
> +
> +&mcu_timer0 {
> +	status = "okay";
> +	clock-frequency = <250000000>;
> +	bootph-pre-ram;
> +};
> +
> +&secure_proxy_sa3 {
> +	status = "okay";
> +	bootph-pre-ram;
> +};
> +
> +&secure_proxy_mcu {
> +	status = "okay";
> +	bootph-pre-ram;
> +};
> +
> +&cbass_mcu_wakeup {
> +	sysctrler: sysctrler {
> +		compatible = "ti,am654-system-controller";
> +		mboxes= <&secure_proxy_mcu 4>,
> +			<&secure_proxy_mcu 5>,
> +			<&secure_proxy_sa3 5>;
> +		mbox-names = "tx", "rx", "boot_notify";
> +		bootph-pre-ram;
> +	};
> +};
> +
> +&sms {
> +	mboxes= <&secure_proxy_mcu 8>, <&secure_proxy_mcu 6>, <&secure_proxy_mcu 5>;
> +	mbox-names = "tx", "rx", "notify";
> +	ti,host-id = <4>;
> +	ti,secure-host;
> +	bootph-pre-ram;
> +};
> +
> +/* WKUP UART0 is used for DM firmware logs */
> +&wkup_uart0 {
> +	bootph-pre-ram;
> +	status = "okay";
> +};
> +
> +&ospi0 {
> +	reg = <0x0 0x47040000 0x0 0x100>,
> +	      <0x0 0x50000000 0x0 0x8000000>;
> +};
> +
> +&ospi1 {
> +	reg = <0x0 0x47050000 0x0 0x100>,
> +	      <0x0 0x58000000 0x0 0x8000000>;
> +};
> +
> +&mcu_ringacc {
> +	ti,sci = <&dm_tifs>;
> +};
> +
> +&mcu_udmap {
> +	ti,sci = <&dm_tifs>;
> +};
> diff --git a/board/ti/j784s4/MAINTAINERS b/board/ti/j784s4/MAINTAINERS
> index 037fedb9f7e..ff00cc60868 100644
> --- a/board/ti/j784s4/MAINTAINERS
> +++ b/board/ti/j784s4/MAINTAINERS
> @@ -4,3 +4,7 @@ S:	Maintained
>  F:	board/ti/j784s4
>  F:	arch/arm/mach-k3/j784s4
>  F:	include/configs/j784s4_evm.h
> +F:	arch/arm/dts/k3-j784s4-evm-u-boot.dtsi
> +F:	arch/arm/dts/k3-j784s4-r5-evm.dts
> +F:	arch/arm/dts/k3-j784s4-ddr.dtsi
> +F:	arch/arm/dts/k3-j784s4-ddr-evm-lp4-4266.dtsi

Cheers

Marcel


More information about the U-Boot mailing list