// 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 "arch/arm/dts/k3-am642-evm.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
