#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;
	};
};

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

		blob {
			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_SYS_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 {
			offset = <CONFIG_SPL_PAD_TO>;
		};
#endif
	};
};
