// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
 */

#include "k3-binman.dtsi"

#ifdef CONFIG_TARGET_J721E_R5_EVM

&binman {
	tiboot3-j721e_sr1_1-hs-evm.bin {
		filename = "tiboot3-j721e_sr1_1-hs-evm.bin";
		ti-secure-rom {
			content = <&u_boot_spl>;
			core = "public";
			load = <CONFIG_SPL_TEXT_BASE>;
			keyfile = "custMpk.pem";
		};
		u_boot_spl: u-boot-spl {
			no-expanded;
		};
	};
	sysfw {
		filename = "sysfw.bin";
		ti-secure-rom {
			content = <&ti_fs_cert>;
			core = "secure";
			load = <0x40000>;
			keyfile = "custMpk.pem";
			countersign;
		};
		ti_fs_cert: ti-fs-cert.bin {
			filename = "ti-sysfw/ti-fs-firmware-j721e_sr1_1-hs-cert.bin";
			type = "blob-ext";
			optional;
		};
		ti-fs-firmware-j721e_sr1_1-hs-enc.bin {
			filename = "ti-sysfw/ti-fs-firmware-j721e_sr1_1-hs-enc.bin";
			type = "blob-ext";
			optional;
		};
	};
	itb {
		filename = "sysfw-j721e_sr1_1-hs-evm.itb";
		fit {
			description = "SYSFW and Config fragments";
			#address-cells = <1>;
			images {
				sysfw.bin {
					description = "sysfw";
					type = "firmware";
					arch = "arm";
					compression = "none";
					blob-ext {
					    filename = "sysfw.bin";
					};
				};
				board-cfg.bin {
					description = "board-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&board_cfg>;
						keyfile = "custMpk.pem";
					};
					board_cfg: board-cfg {
						filename = "board-cfg.bin";
						type = "blob-ext";
					};

				};
				pm-cfg.bin {
					description = "pm-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&pm_cfg>;
						keyfile = "custMpk.pem";
					};
					pm_cfg: pm-cfg {
						filename = "pm-cfg.bin";
						type = "blob-ext";
					};
				};
				rm-cfg.bin {
					description = "rm-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&rm_cfg>;
						keyfile = "custMpk.pem";
					};
					rm_cfg: rm-cfg {
						filename = "rm-cfg.bin";
						type = "blob-ext";
					};
				};
				sec-cfg.bin {
					description = "sec-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&sec_cfg>;
						keyfile = "custMpk.pem";
					};
					sec_cfg: sec-cfg {
						filename = "sec-cfg.bin";
						type = "blob-ext";
					};
				};
			};
		};
	};
};

&binman {
	tiboot3-j721e_sr2-hs-fs-evm.bin {
		filename = "tiboot3-j721e_sr2-hs-fs-evm.bin";
		ti-secure-rom {
			content = <&u_boot_spl_fs>;
			core = "public";
			load = <CONFIG_SPL_TEXT_BASE>;
			keyfile = "custMpk.pem";
		};
		u_boot_spl_fs: u-boot-spl {
			no-expanded;
		};
	};
	sysfw_fs {
		filename = "sysfw.bin_fs";
		ti-fs-cert-fs.bin {
			filename = "ti-sysfw/ti-fs-firmware-j721e_sr2-hs-fs-cert.bin";
			type = "blob-ext";
			optional;
		};
		ti-fs-firmware-j721e-hs-fs-enc.bin {
			filename = "ti-sysfw/ti-fs-firmware-j721e_sr2-hs-fs-enc.bin";
			type = "blob-ext";
			optional;
		};
	};
	itb_fs {
		filename = "sysfw-j721e_sr2-hs-fs-evm.itb";
		fit {
			description = "SYSFW and Config fragments";
			#address-cells = <1>;
			images {
				sysfw.bin {
					description = "sysfw";
					type = "firmware";
					arch = "arm";
					compression = "none";
					blob-ext {
					    filename = "sysfw.bin_fs";
					};
				};
				board-cfg.bin {
					description = "board-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					board-cfg {
						filename = "board-cfg.bin";
						type = "blob-ext";
					};

				};
				pm-cfg.bin {
					description = "pm-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					pm-cfg {
						filename = "pm-cfg.bin";
						type = "blob-ext";
					};
				};
				rm-cfg.bin {
					description = "rm-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					rm-cfg {
						filename = "rm-cfg.bin";
						type = "blob-ext";
					};
				};
				sec-cfg.bin {
					description = "sec-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					sec-cfg {
						filename = "sec-cfg.bin";
						type = "blob-ext";
					};
				};
			};
		};
	};
};

&binman {
	tiboot3-j721e-gp-evm.bin {
		filename = "tiboot3-j721e-gp-evm.bin";
		symlink = "tiboot3.bin";
		ti-secure-rom {
			content = <&u_boot_spl_unsigned>;
			core = "public";
			load = <CONFIG_SPL_TEXT_BASE>;
			sw-rev = <CONFIG_K3_X509_SWRV>;
			keyfile = "ti-degenerate-key.pem";
		};
		u_boot_spl_unsigned: u-boot-spl {
			no-expanded;
		};
	};
	sysfw_gp {
		filename = "sysfw.bin_gp";
		ti-secure-rom {
			content = <&ti_fs>;
			core = "secure";
			load = <0x40000>;
			sw-rev = <CONFIG_K3_X509_SWRV>;
			keyfile = "ti-degenerate-key.pem";
		};
		ti_fs: ti-fs.bin {
			filename = "ti-sysfw/ti-fs-firmware-j721e-gp.bin";
			type = "blob-ext";
			optional;
		};
	};
	itb_gp {
		filename = "sysfw-j721e-gp-evm.itb";
		symlink = "sysfw.itb";
		fit {
			description = "SYSFW and Config fragments";
			#address-cells = <1>;
			images {
				sysfw.bin {
					description = "sysfw";
					type = "firmware";
					arch = "arm";
					compression = "none";
					blob-ext {
					    filename = "sysfw.bin_gp";
					};
				};
				board-cfg.bin {
					description = "board-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					blob-ext {
						filename = "board-cfg.bin";
					};
				};
				pm-cfg.bin {
					description = "pm-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					blob-ext {
						filename = "pm-cfg.bin";
					};
				};
				rm-cfg.bin {
					description = "rm-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					blob-ext {
						filename = "rm-cfg.bin";
					};
				};
				sec-cfg.bin {
					description = "sec-cfg";
					type = "firmware";
					arch = "arm";
					compression = "none";
					blob-ext {
						filename = "sec-cfg.bin";
					};
				};
			};
		};
	};
};
#endif

#ifdef CONFIG_TARGET_J721E_A72_EVM

#define SPL_NODTB "spl/u-boot-spl-nodtb.bin"
#define SPL_J721E_EVM_DTB "spl/dts/k3-j721e-common-proc-board.dtb"
#define SPL_J721E_SK_DTB "spl/dts/k3-j721e-sk.dtb"

#define UBOOT_NODTB "u-boot-nodtb.bin"
#define J721E_EVM_DTB "u-boot.dtb"
#define J721E_SK_DTB "arch/arm/dts/k3-j721e-sk.dtb"

&binman {
	ti-dm {
		filename = "ti-dm.bin";
		blob-ext {
			filename = "ti-dm/j721e/ipc_echo_testb_mcu1_0_release_strip.xer5f";
		};
	};
	ti-spl {
		filename = "tispl.bin";
		pad-byte = <0xff>;

		fit {
			description = "Configuration to load ATF and SPL";
			#address-cells = <1>;

			images {

				atf {
					description = "ARM Trusted Firmware";
					type = "firmware";
					arch = "arm64";
					compression = "none";
					os = "arm-trusted-firmware";
					load = <CONFIG_K3_ATF_LOAD_ADDR>;
					entry = <CONFIG_K3_ATF_LOAD_ADDR>;
					ti-secure {
						content = <&atf>;
						keyfile = "custMpk.pem";
					};
					atf: atf-bl31 {
					};
				};

				tee {
					description = "OP-TEE";
					type = "tee";
					arch = "arm64";
					compression = "none";
					os = "tee";
					load = <0x9e800000>;
					entry = <0x9e800000>;
					ti-secure {
						content = <&tee>;
						keyfile = "custMpk.pem";
					};
					tee: tee-os {
					};
				};

				dm {
					description = "DM binary";
					type = "firmware";
					arch = "arm32";
					compression = "none";
					os = "DM";
					load = <0x89000000>;
					entry = <0x89000000>;
					ti-secure {
						content = <&dm>;
						keyfile = "custMpk.pem";
					};
					dm: blob-ext {
						filename = "ti-dm.bin";
					};
				};

				spl {
					description = "SPL (64-bit)";
					type = "standalone";
					os = "U-Boot";
					arch = "arm64";
					compression = "none";
					load = <CONFIG_SPL_TEXT_BASE>;
					entry = <CONFIG_SPL_TEXT_BASE>;
					ti-secure {
						content = <&u_boot_spl_nodtb>;
						keyfile = "custMpk.pem";

					};
					u_boot_spl_nodtb: blob-ext {
						filename = SPL_NODTB;
					};
				};

				fdt-0 {
					description = "k3-j721e-common-proc-board";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&spl_j721e_evm_dtb>;
						keyfile = "custMpk.pem";
					};
					spl_j721e_evm_dtb: blob-ext {
						filename = SPL_J721E_EVM_DTB;
					};
				};

				fdt-1 {
					description = "k3-j721e-sk";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&spl_j721e_sk_dtb>;
						keyfile = "custMpk.pem";

					};
					spl_j721e_sk_dtb: blob-ext {
						filename = SPL_J721E_SK_DTB;
					};
				};
			};

			configurations {
				default = "conf-0";

				conf-0 {
					description = "k3-j721e-common-proc-board";
					firmware = "atf";
					loadables = "tee", "dm", "spl";
					fdt = "fdt-0";
				};

				conf-1 {
					description = "k3-j721e-sk";
					firmware = "atf";
					loadables = "tee", "dm", "spl";
					fdt = "fdt-1";
				};
			};
		};
	};
};

&binman {
	u-boot {
		filename = "u-boot.img";
		pad-byte = <0xff>;

		fit {
			description = "FIT image with multiple configurations";

			images {
				uboot {
					description = "U-Boot for j721e board";
					type = "firmware";
					os = "u-boot";
					arch = "arm";
					compression = "none";
					load = <CONFIG_TEXT_BASE>;
					ti-secure {
						content = <&u_boot_nodtb>;
						keyfile = "custMpk.pem";
					};
					u_boot_nodtb: u-boot-nodtb {
					};
					hash {
						algo = "crc32";
					};
				};

				fdt-0 {
					description = "k3-j721e-common-proc-board";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&j721e_evm_dtb>;
						keyfile = "custMpk.pem";

					};
					j721e_evm_dtb: blob-ext {
						filename = J721E_EVM_DTB;
					};
					hash {
						algo = "crc32";
					};
				};

				fdt-1 {
					description = "k3-j721e-sk";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&j721e_sk_dtb>;
						keyfile = "custMpk.pem";

					};
					j721e_sk_dtb: blob-ext {
						filename = J721E_SK_DTB;
					};
					hash {
						algo = "crc32";
					};
				};
			};

			configurations {
				default = "conf-0";

				conf-0 {
					description = "k3-j721e-common-proc-board";
					firmware = "uboot";
					loadables = "uboot";
					fdt = "fdt-0";
				};

				conf-1 {
					description = "k3-j721e-sk";
					firmware = "uboot";
					loadables = "uboot";
					fdt = "fdt-1";
				};
			};
		};
	};
};

&binman {
	ti-spl_unsigned {
		filename = "tispl.bin_unsigned";
		pad-byte = <0xff>;

		fit {
			description = "Configuration to load ATF and SPL";
			#address-cells = <1>;

			images {

				atf {
					description = "ARM Trusted Firmware";
					type = "firmware";
					arch = "arm64";
					compression = "none";
					os = "arm-trusted-firmware";
					load = <CONFIG_K3_ATF_LOAD_ADDR>;
					entry = <CONFIG_K3_ATF_LOAD_ADDR>;
					atf-bl31 {
						filename = "bl31.bin";
					};
				};

				tee {
					description = "OP-TEE";
					type = "tee";
					arch = "arm64";
					compression = "none";
					os = "tee";
					load = <0x9e800000>;
					entry = <0x9e800000>;
					tee-os {
						filename = "tee-raw.bin";
					};
				};

				dm {
					description = "DM binary";
					type = "firmware";
					arch = "arm32";
					compression = "none";
					os = "DM";
					load = <0x89000000>;
					entry = <0x89000000>;
					blob-ext {
						filename = "ti-dm.bin";
					};
				};

				spl {
					description = "SPL (64-bit)";
					type = "standalone";
					os = "U-Boot";
					arch = "arm64";
					compression = "none";
					load = <CONFIG_SPL_TEXT_BASE>;
					entry = <CONFIG_SPL_TEXT_BASE>;
					blob-ext {
						filename = SPL_NODTB;
					};
				};

				fdt-0 {
					description = "k3-j721e-common-proc-board";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					blob {
						filename = SPL_J721E_EVM_DTB;
					};
				};

				fdt-1 {
					description = "k3-j721e-sk";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					blob {
						filename = SPL_J721E_SK_DTB;
					};
				};
			};

			configurations {
				default = "conf-0";

				conf-0 {
					description = "k3-j721e-common-proc-board";
					firmware = "atf";
					loadables = "tee", "dm", "spl";
					fdt = "fdt-0";
				};

				conf-1 {
					description = "k3-j721e-sk";
					firmware = "atf";
					loadables = "tee", "dm", "spl";
					fdt = "fdt-1";
				};
			};
		};
	};
};

&binman {
	u-boot_unsigned {
		filename = "u-boot.img_unsigned";
		pad-byte = <0xff>;

		fit {
			description = "FIT image with multiple configurations";

			images {
				uboot {
					description = "U-Boot for j721e board";
					type = "firmware";
					os = "u-boot";
					arch = "arm";
					compression = "none";
					load = <CONFIG_TEXT_BASE>;
					blob {
						filename = UBOOT_NODTB;
					};
					hash {
						algo = "crc32";
					};
				};

				fdt-0 {
					description = "k3-j721e-common-proc-board";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					blob {
						filename = J721E_EVM_DTB;
					};
					hash {
						algo = "crc32";
					};
				};

				fdt-1 {
					description = "k3-j721e-sk";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					blob {
						filename = J721E_SK_DTB;
					};
					hash {
						algo = "crc32";
					};
				};
			};

			configurations {
				default = "conf-0";

				conf-0 {
					description = "k3-j721e-common-proc-board";
					firmware = "uboot";
					loadables = "uboot";
					fdt = "fdt-0";
				};

				conf-1 {
					description = "k3-j721e-sk";
					firmware = "uboot";
					loadables = "uboot";
					fdt = "fdt-1";
				};
			};
		};
	};
};
#endif
