/*
 * U-Boot uImage source file with multiple kernels, ramdisks and FDT blobs
 * This example makes use of the 'loadables' field
 */

/dts-v1/;

/ {
	description = "Configuration to load a Xen Kernel";
	#address-cells = <1>;

	images {
		xen_kernel@1 {
			description = "xen binary";
			data = /incbin/("./xen");
			type = "kernel";
			arch = "arm";
			os = "linux";
			compression = "none";
			load = <0xa0000000>;
			entry = <0xa0000000>;
			hash@1 {
				algo = "md5";
			};
		};

		fdt@1 {
			description = "xexpress-ca15 tree blob";
			data = /incbin/("./vexpress-v2p-ca15-tc1.dtb");
			type = "flat_dt";
			arch = "arm";
			compression = "none";
			load = <0xb0000000>;
			hash@1 {
				algo = "md5";
			};
		};

		fdt@2 {
			description = "xexpress-ca15 tree blob";
			data = /incbin/("./vexpress-v2p-ca15-tc1.dtb");
			type = "flat_dt";
			arch = "arm";
			compression = "none";
			load = <0xb0400000>;
			hash@1 {
				algo = "md5";
			};
		};

		linux_kernel@1 {
			description = "Linux Image";
			data = /incbin/("./Image");
			type = "kernel";
			arch = "arm";
			os = "linux";
			compression = "none";
			load = <0xa0000000>;
			entry = <0xa0000000>;
			hash@1 {
				algo = "md5";
			};
		};
	};

	configurations {
		default = "config@2";

		config@1 {
			description = "Just plain Linux";
			kernel = "linux_kernel@1";
			fdt = "fdt@1";
		};

		config@2 {
			description = "Xen one loadable";
			kernel = "xen_kernel@1";
			fdt = "fdt@1";
			loadables = "linux_kernel@1";
		};

		config@3 {
			description = "Xen two loadables";
			kernel = "xen_kernel@1";
			fdt = "fdt@1";
			loadables = "linux_kernel@1", "fdt@2";
		};
	};
};
