/*
 * Xen Virtual Machine for unprivileged guests
 *
 * Based on ARM Ltd. Versatile Express CoreTile Express (single CPU)
 * Cortex-A15 MPCore (V2P-CA15)
 *
 */

/dts-v1/;

/ {
	model = "XENVM-4.2";
	compatible = "xen,xenvm-4.2", "xen,xenvm";
	interrupt-parent = <&gic>;
	#address-cells = <2>;
	#size-cells = <2>;

	chosen {
		/* this field is going to be adjusted by the hypervisor */
		bootargs = "console=hvc0 root=/dev/xvda";
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0>;
		};

		cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <1>;
		};
	};

	psci {
		compatible      = "arm,psci";
		method          = "hvc";
		cpu_off         = <1>;
		cpu_on          = <2>;
	};

	memory@80000000 {
		device_type = "memory";
		/* this field is going to be adjusted by the hypervisor */
		reg = <0 0x80000000 0 0x08000000>;
	};

	gic: interrupt-controller@2c001000 {
		compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
		#interrupt-cells = <3>;
		#address-cells = <0>;
		interrupt-controller;
		reg = <0 0x2c001000 0 0x1000>,
		      <0 0x2c002000 0 0x100>;
	};

	timer {
		compatible = "arm,armv7-timer";
		interrupts = <1 13 0xf08>,
			     <1 14 0xf08>,
			     <1 11 0xf08>,
			     <1 10 0xf08>;
	};

	hypervisor {
		compatible = "xen,xen-4.2", "xen,xen";
		/* this field is going to be adjusted by the hypervisor */
		reg = <0 0xb0000000 0 0x20000>;
		/* this field is going to be adjusted by the hypervisor */
		interrupts = <1 15 0xf08>;
	};

	motherboard {
		arm,v2m-memory-map = "rs1";
	};
};
