1/*
2 * Copyright (c) 2020 EPAM Systems
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 *
6 * This file was created by running
7 *
8 * # LIBXL_DEBUG_DUMP_DTB=domu-libxl.dtb xl create zephyr.conf
9 *
10 * decompiling resulting domu-libxl.dtb and then manually aligning it
11 * with zephyr requirements.
12 */
13
14/dts-v1/;
15
16#include <mem.h>
17#include <arm64/armv8-a.dtsi>
18#include <zephyr/dt-bindings/interrupt-controller/arm-gic.h>
19
20/ {
21	model = "XENVM";
22	compatible = "xen,xenvm";
23	interrupt-parent = <&gic>;
24	#address-cells = <0x02>;
25	#size-cells = <0x02>;
26
27	chosen {
28		zephyr,sram = &ram;
29		zephyr,console = &xen_hvc;
30	};
31
32	cpus {
33		#address-cells = <0x01>;
34		#size-cells = <0x00>;
35
36		cpu@0 {
37			device_type = "cpu";
38			compatible = "arm,armv8";
39			enable-method = "psci";
40			reg = <0x00>;
41		};
42	};
43
44	psci {
45		compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
46		method = "hvc";
47	};
48
49	ram: memory@40000000 {
50		device_type = "mmio-sram";
51		reg = <0x00 0x40000000 0x00 DT_SIZE_M(16)>;
52	};
53
54	gic: interrupt-controller@3001000 {
55		compatible = "arm,gic-v2", "arm,gic";
56		#interrupt-cells = <0x04>;
57		#address-cells = <0x00>;
58		interrupt-controller;
59		reg = <0x00 0x3001000 0x00 0x1000 0x00 0x3002000 0x00 0x2000>;
60	};
61
62	timer {
63		compatible = "arm,armv8-timer";
64		interrupts = <GIC_PPI 0x0d IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY
65			      GIC_PPI 0x0e IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY
66			      GIC_PPI 0x0b IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
67		interrupt-parent = <&gic>;
68	};
69
70	hypervisor: hypervisor@38000000 {
71		compatible = "xen,xen";
72		reg = <0x00 0x38000000 0x00 0x1000000>;
73		interrupts = <GIC_PPI 0x0f IRQ_TYPE_EDGE IRQ_DEFAULT_PRIORITY>;
74		interrupt-parent = <&gic>;
75	};
76
77	xen_hvc: hvc {
78		compatible = "xen,hvc-uart";
79		status = "okay";
80	};
81};
82