/dts-v1/;

/*
 * (Bogus) example FIT image description file demonstrating the usage
 * of multiple images loaded by the SPL.
 * Several binaries will be loaded at their respective load addresses.
 * Finally the one image specifying an entry point will be entered by the SPL.
 */

/ {
	description = "multiple firmware blobs and U-Boot, loaded by SPL";
	#address-cells = <0x1>;

	images {

		uboot {
			description = "U-Boot (64-bit)";
			type = "standalone";
			arch = "arm64";
			compression = "none";
			load = <0x4a000000>;
		};

		atf {
			description = "ARM Trusted Firmware";
			type = "firmware";
			arch = "arm64";
			compression = "none";
			load = <0x18000>;
			entry = <0x18000>;
		};

		mgmt-firmware {
			description = "arisc management processor firmware";
			type = "firmware";
			arch = "or1k";
			compression = "none";
			load = <0x40000>;
		};

		fdt@1 {
			description = "Pine64+ DT";
			type = "flat_dt";
			compression = "none";
			load = <0x4fa00000>;
			arch = "arm64";
		};

		fdt@2 {
			description = "Pine64 DT";
			type = "flat_dt";
			compression = "none";
			load = <0x4fa00000>;
			arch = "arm64";
		};

		kernel {
			description = "4.7-rc5 kernel";
			type = "kernel";
			compression = "none";
			load = <0x40080000>;
			arch = "arm64";
		};

		initrd {
			description = "Debian installer initrd";
			type = "ramdisk";
			compression = "none";
			load = <0x4fe00000>;
			arch = "arm64";
		};
	};

	configurations {
		default = "config@1";

		config@1 {
			description = "sun50i-a64-pine64-plus";
			loadables = "uboot", "atf", "kernel", "initrd";
			fdt = "fdt@1";
		};

		config@2 {
			description = "sun50i-a64-pine64";
			loadables = "uboot", "atf", "mgmt-firmware";
			fdt = "fdt@2";
		};
	};
};
