#include <config.h>

#ifdef CONFIG_MACH_SUN50I_H6
#define BL31_ADDR 0x104000
#define  SCP_ADDR 0x114000
#elif defined(CONFIG_MACH_SUN50I_H616)
#define BL31_ADDR 0x40000000
#else
#define BL31_ADDR  0x44000
#define  SCP_ADDR  0x50000
#endif

/ {
	aliases {
		mmc0 = &mmc0;
#if CONFIG_MMC_SUNXI_SLOT_EXTRA == 2
		mmc1 = &mmc2;
#endif
	};

	binman: binman {
		multiple-images;
	};
};

/* Let U-Boot be the firmware layer that controls the watchdog. */
#ifdef CONFIG_MACH_SUN8I_R528
&wdt {
	status = "okay";
};
#endif

&binman {
	u-boot-sunxi-with-spl {
		filename = "u-boot-sunxi-with-spl.bin";
		pad-byte = <0xff>;

		blob {
			/*
			 * This value matches SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
			 * and SYS_SPI_U_BOOT_OFFS if those are defined.
			 */
			min-size = <0x8000>;
			filename = "spl/sunxi-spl.bin";
		};

#ifdef CONFIG_ARM64
		fit {
			description = "Configuration to load ATF before U-Boot";
			#address-cells = <1>;
			fit,fdt-list = "of-list";

			images {
				uboot {
					description = "U-Boot (64-bit)";
					type = "standalone";
					os = "u-boot";
					arch = "arm64";
					compression = "none";
					load = <CONFIG_TEXT_BASE>;

					u-boot-nodtb {
					};
				};

				atf {
					description = "ARM Trusted Firmware";
					type = "firmware";
					os = "arm-trusted-firmware";
					arch = "arm64";
					compression = "none";
					load = <BL31_ADDR>;
					entry = <BL31_ADDR>;

					atf-bl31 {
						filename = "bl31.bin";
						missing-msg = "atf-bl31-sunxi";
					};
				};

#ifdef SCP_ADDR
				scp {
					description = "SCP firmware";
					type = "firmware";
					arch = "or1k";
					compression = "none";
					load = <SCP_ADDR>;

					scp {
						filename = "scp.bin";
						missing-msg = "scp-sunxi";
					};
				};
#endif

				@fdt-SEQ {
					description = "NAME";
					type = "flat_dt";
					compression = "none";
				};
			};

			configurations {
				default = "@config-DEFAULT-SEQ";

				@config-SEQ {
					description = "NAME";
					firmware = "atf";
#ifndef SCP_ADDR
					loadables = "uboot";
#else
					loadables = "scp", "uboot";
#endif
					fdt = "fdt-SEQ";
				};
			};
		};
#else
		u-boot-img {
		};
#endif
	};
};
