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

#include "k3-binman.dtsi"

#ifdef CONFIG_TARGET_AM642_R5_EVM

&binman {
	tiboot3-am64x_sr2-hs-evm.bin {
		filename = "tiboot3-am64x_sr2-hs-evm.bin";
		ti-secure-rom {
			content = <&u_boot_spl>, <&ti_sci_enc>,
				<&combined_sysfw_cfg>, <&sysfw_inner_cert>;
			combined;
			sysfw-inner-cert;
			keyfile = "custMpk.pem";
			sw-rev = <1>;
			content-sbl = <&u_boot_spl>;
			content-sysfw = <&ti_sci_enc>;
			content-sysfw-data = <&combined_sysfw_cfg>;
			content-sysfw-inner-cert = <&sysfw_inner_cert>;
			load = <0x70000000>;
			load-sysfw = <0x44000>;
			load-sysfw-data = <0x7b000>;
		};
		u_boot_spl: u-boot-spl {
			no-expanded;
		};
		ti_sci_enc: ti-fs-enc.bin {
			filename = "ti-sysfw/ti-sci-firmware-am64x_sr2-hs-enc.bin";
			type = "blob-ext";
			optional;
		};
		combined_sysfw_cfg: combined-sysfw-cfg.bin {
			filename = "combined-sysfw-cfg.bin";
			type = "blob-ext";
		};
		sysfw_inner_cert: sysfw-inner-cert {
			filename = "ti-sysfw/ti-sci-firmware-am64x_sr2-hs-cert.bin";
			type = "blob-ext";
			optional;
		};

	};
};

&binman {
	tiboot3-am64x_sr2-hs-fs-evm.bin {
		filename = "tiboot3-am64x_sr2-hs-fs-evm.bin";
		symlink = "tiboot3.bin";
		ti-secure-rom {
			content = <&u_boot_spl_fs>, <&ti_sci_enc_fs>,
				<&combined_sysfw_cfg_fs>, <&sysfw_inner_cert_fs>;
			combined;
			sysfw-inner-cert;
			keyfile = "custMpk.pem";
			sw-rev = <1>;
			content-sbl = <&u_boot_spl_fs>;
			content-sysfw = <&ti_sci_enc_fs>;
			content-sysfw-data = <&combined_sysfw_cfg_fs>;
			content-sysfw-inner-cert = <&sysfw_inner_cert_fs>;
			load = <0x70000000>;
			load-sysfw = <0x44000>;
			load-sysfw-data = <0x7b000>;
		};
		u_boot_spl_fs: u-boot-spl {
			no-expanded;
		};
		ti_sci_enc_fs: ti-fs-enc.bin {
			filename = "ti-sysfw/ti-sci-firmware-am64x_sr2-hs-fs-enc.bin";
			type = "blob-ext";
			optional;
		};
		combined_sysfw_cfg_fs: combined-sysfw-cfg.bin {
			filename = "combined-sysfw-cfg.bin";
			type = "blob-ext";
		};
		sysfw_inner_cert_fs: sysfw-inner-cert {
			filename = "ti-sysfw/ti-sci-firmware-am64x_sr2-hs-fs-cert.bin";
			type = "blob-ext";
			optional;
		};

	};
};

&binman {
	tiboot3-am64x-gp-evm.bin {
		filename = "tiboot3-am64x-gp-evm.bin";
		ti-secure-rom {
			content = <&u_boot_spl_unsigned>, <&ti_sci_gp>, <&combined_sysfw_cfg_gp>;
			combined;
			content-sbl = <&u_boot_spl_unsigned>;
			load = <0x70000000>;
			content-sysfw = <&ti_sci_gp>;
			load-sysfw = <0x44000>;
			content-sysfw-data = <&combined_sysfw_cfg_gp>;
			load-sysfw-data = <0x7b000>;
			sw-rev = <1>;
			keyfile = "ti-degenerate-key.pem";
		};
		u_boot_spl_unsigned: u-boot-spl {
			no-expanded;
		};
		ti_sci_gp: ti-sci-gp.bin {
			filename = "ti-sysfw/ti-sci-firmware-am64x-gp.bin";
			type = "blob-ext";
			optional;
		};
		combined_sysfw_cfg_gp: combined-sysfw-cfg-gp.bin {
			filename = "combined-sysfw-cfg.bin";
			type = "blob-ext";
		};
	};
};

#endif

#ifdef CONFIG_TARGET_AM642_A53_EVM

#define SPL_NODTB "spl/u-boot-spl-nodtb.bin"
#define SPL_AM642_EVM_DTB "spl/dts/k3-am642-evm.dtb"
#define SPL_AM642_SK_DTB "spl/dts/k3-am642-sk.dtb"

#define UBOOT_NODTB "u-boot-nodtb.bin"
#define AM642_EVM_DTB "u-boot.dtb"
#define AM642_SK_DTB "arch/arm/dts/k3-am642-sk.dtb"

&binman {
	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>;
					blob-ext {
						filename = "/dev/null";
					};
				};

				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-am642-evm";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&spl_am64x_evm_dtb>;
						keyfile = "custMpk.pem";
					};
					spl_am64x_evm_dtb: blob-ext {
						filename = SPL_AM642_EVM_DTB;
					};

				};

				fdt-1 {
					description = "k3-am642-sk";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&spl_am64x_sk_dtb>;
						keyfile = "custMpk.pem";
					};
					spl_am64x_sk_dtb: blob-ext {
						filename = SPL_AM642_SK_DTB;
					};

				};
			};

			configurations {
				default = "conf-0";

				conf-0 {
					description = "k3-am642-evm";
					firmware = "atf";
					loadables = "tee", "dm", "spl";
					fdt = "fdt-0";
				};

				conf-1 {
					description = "k3-am642-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 AM64 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-am642-evm";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					ti-secure {
						content = <&am64x_evm_dtb>;
						keyfile = "custMpk.pem";

					};
					am64x_evm_dtb: blob-ext {
						filename = AM642_EVM_DTB;
					};
					hash {
						algo = "crc32";
					};
				};

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

					};
					am64x_sk_dtb: blob-ext {
						filename = AM642_SK_DTB;
					};
					hash {
						algo = "crc32";
					};
				};

			};

			configurations {
				default = "conf-0";

				conf-0 {
					description = "k3-am642-evm";
					firmware = "uboot";
					loadables = "uboot";
					fdt = "fdt-0";
				};

				conf-1 {
					description = "k3-am642-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 {
					};
				};

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

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

				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 {
						filename = "spl/u-boot-spl-nodtb.bin";
					};
				};

				fdt-0 {
					description = "k3-am642-evm";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					blob {
						filename = SPL_AM642_EVM_DTB;
					};
				};

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

			configurations {
				default = "conf-0";

				conf-0 {
					description = "k3-am642-evm";
					firmware = "atf";
					loadables = "tee", "dm", "spl";
					fdt = "fdt-0";
				};

				conf-1 {
					description = "k3-am642-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 AM64 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-am642-evm";
					type = "flat_dt";
					arch = "arm";
					compression = "none";
					blob {
						filename = AM642_EVM_DTB;
					};
					hash {
						algo = "crc32";
					};
				};

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

			configurations {
				default = "conf-0";

				conf-0 {
					description = "k3-am642-evm";
					firmware = "uboot";
					loadables = "uboot";
					fdt = "fdt-0";
				};

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