// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) Siemens AG, 2020-2022
 *
 * Authors:
 *   Jan Kiszka <jan.kiszka@siemens.com>
 *   Chao Zeng <chao.zeng@siemens.com>
 */

#include <config.h>

/ {
	binman {
		filename = "flash.bin";
		pad-byte = <0xff>;
		size = <0x8c0000>;
		allow-repack;

		blob-ext@0x000000 {
			offset = <0x000000>;
#ifdef CONFIG_TARGET_IOT2050_A53_PG1
			filename = "seboot_pg1.bin";
#else
			filename = "seboot_pg2.bin";
#endif
			missing-msg = "iot2050-seboot";
		};

		blob@0x180000 {
			offset = <0x180000>;
			filename = "tispl.bin";
		};

		fit@0x380000 {
			description = "U-Boot for IOT2050";
			fit,fdt-list = "of-list";
			offset = <0x380000>;
			images {
				u-boot {
					description = "U-Boot";
					type = "standalone";
					arch = "arm64";
					os = "u-boot";
					compression = "none";
					load = <0x80800000>;
					entry = <0x80800000>;
					u-boot-nodtb {
					};
					hash {
						algo = "sha256";
					};
				};

				@fdt-SEQ {
					description = "fdt-NAME";
					type = "flat_dt";
					arch = "arm64";
					compression = "none";
					hash {
						algo = "sha256";
					};
				};

#ifdef CONFIG_WDT_K3_RTI_FW_FILE
				k3-rti-wdt-firmware {
					type = "firmware";
					load = <0x82000000>;
					arch = "arm";
					compression = "none";
					blob-ext {
						filename = CONFIG_WDT_K3_RTI_FW_FILE;
						missing-msg = "k3-rti-wdt-firmware";
					};
					hash {
						algo = "sha256";
					};
				};
#endif
			};

			configurations {
				default = "@config-DEFAULT-SEQ";
				@config-SEQ {
					description = "NAME";
					firmware = "u-boot";
					fdt = "fdt-SEQ";
#ifdef CONFIG_WDT_K3_RTI_FW_FILE
					loadables = "k3-rti-wdt-firmware";
#endif
					signature {
						sign-images = "firmware", "fdt", "loadables";
					};
				};
			};
		};

		fdtmap {
		};

		/* primary env */
		fill@0x680000 {
			offset = <0x680000>;
			size   = <0x020000>;
			fill-byte = [00];
		};
		/* secondary env */
		fill@0x6a0000 {
			offset = <0x6a0000>;
			size   = <0x020000>;
			fill-byte = [00];
		};

		/* OTP update command block */
		fill@0x6c0000 {
			offset = <0x6c0000>;
			size   = <0x010000>;
			fill-byte = [ff];
		};
	};
};
