/*
 * Copyright (c) 2020 EPAM Systems
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * This file was created by running
 *
 * # LIBXL_DEBUG_DUMP_DTB=domu-libxl.dtb xl create zephyr.conf
 *
 * decompilling resulting domu-libxl.dtb and then manually aligning it
 * with zephyr requirements.
 */

/dts-v1/;

#include <mem.h>
#include <arm64/armv8-a.dtsi>
#include <dt-bindings/interrupt-controller/arm-gic.h>

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

	chosen {
		zephyr,sram = &ram;
		zephyr,console = &xen_hvc;
	};

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

		cpu@0 {
			device_type = "cpu";
			compatible = "arm,armv8";
			enable-method = "psci";
			reg = <0x00>;
		};
	};

	psci {
		compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
		method = "hvc";
		label = "PSCI";
	};

	ram: memory@40000000 {
		device_type = "mmio-sram";
		reg = <0x00 0x40000000 0x00 DT_SIZE_M(16)>;
	};

	gic: interrupt-controller@3001000 {
		compatible = "arm,gic";
		label = "GIC";
		#interrupt-cells = <0x04>;
		#address-cells = <0x00>;
		interrupt-controller;
		reg = <0x00 0x3001000 0x00 0x1000 0x00 0x3002000 0x00 0x2000>;
	};

	timer {
		compatible = "arm,armv8-timer";
		interrupts = <GIC_PPI 0x0d IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY
			      GIC_PPI 0x0e IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY
			      GIC_PPI 0x0b IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
		interrupt-parent = <&gic>;
		label = "arch_timer";
	};

	hypervisor: hypervisor@38000000 {
		compatible = "xen,xen-4.15", "xen,xen";
		reg = <0x00 0x38000000 0x00 0x1000000>;
		interrupts = <GIC_PPI 0x0f IRQ_TYPE_EDGE IRQ_DEFAULT_PRIORITY>;
		interrupt-parent = <&gic>;
	};

	xen_hvc: hvc {
		compatible = "xen,uart_hvc";
		status = "okay";
	};
};
