xref: /freebsd-src/sys/contrib/device-tree/src/arm/xen/xenvm-4.2.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Xen Virtual Machine for unprivileged guests
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * Based on ARM Ltd. Versatile Express CoreTile Express (single CPU)
6*f126890aSEmmanuel Vadot * Cortex-A15 MPCore (V2P-CA15)
7*f126890aSEmmanuel Vadot *
8*f126890aSEmmanuel Vadot */
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/dts-v1/;
11*f126890aSEmmanuel Vadot
12*f126890aSEmmanuel Vadot/ {
13*f126890aSEmmanuel Vadot	model = "XENVM-4.2";
14*f126890aSEmmanuel Vadot	compatible = "xen,xenvm-4.2", "xen,xenvm";
15*f126890aSEmmanuel Vadot	interrupt-parent = <&gic>;
16*f126890aSEmmanuel Vadot	#address-cells = <2>;
17*f126890aSEmmanuel Vadot	#size-cells = <2>;
18*f126890aSEmmanuel Vadot
19*f126890aSEmmanuel Vadot	chosen {
20*f126890aSEmmanuel Vadot		/* this field is going to be adjusted by the hypervisor */
21*f126890aSEmmanuel Vadot		bootargs = "console=hvc0 root=/dev/xvda";
22*f126890aSEmmanuel Vadot	};
23*f126890aSEmmanuel Vadot
24*f126890aSEmmanuel Vadot	cpus {
25*f126890aSEmmanuel Vadot		#address-cells = <1>;
26*f126890aSEmmanuel Vadot		#size-cells = <0>;
27*f126890aSEmmanuel Vadot
28*f126890aSEmmanuel Vadot		cpu@0 {
29*f126890aSEmmanuel Vadot			device_type = "cpu";
30*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a15";
31*f126890aSEmmanuel Vadot			reg = <0>;
32*f126890aSEmmanuel Vadot		};
33*f126890aSEmmanuel Vadot
34*f126890aSEmmanuel Vadot		cpu@1 {
35*f126890aSEmmanuel Vadot			device_type = "cpu";
36*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a15";
37*f126890aSEmmanuel Vadot			reg = <1>;
38*f126890aSEmmanuel Vadot		};
39*f126890aSEmmanuel Vadot	};
40*f126890aSEmmanuel Vadot
41*f126890aSEmmanuel Vadot	psci {
42*f126890aSEmmanuel Vadot		compatible      = "arm,psci";
43*f126890aSEmmanuel Vadot		method          = "hvc";
44*f126890aSEmmanuel Vadot		cpu_off         = <1>;
45*f126890aSEmmanuel Vadot		cpu_on          = <2>;
46*f126890aSEmmanuel Vadot	};
47*f126890aSEmmanuel Vadot
48*f126890aSEmmanuel Vadot	memory@80000000 {
49*f126890aSEmmanuel Vadot		device_type = "memory";
50*f126890aSEmmanuel Vadot		/* this field is going to be adjusted by the hypervisor */
51*f126890aSEmmanuel Vadot		reg = <0 0x80000000 0 0x08000000>;
52*f126890aSEmmanuel Vadot	};
53*f126890aSEmmanuel Vadot
54*f126890aSEmmanuel Vadot	gic: interrupt-controller@2c001000 {
55*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
56*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
57*f126890aSEmmanuel Vadot		#address-cells = <0>;
58*f126890aSEmmanuel Vadot		interrupt-controller;
59*f126890aSEmmanuel Vadot		reg = <0 0x2c001000 0 0x1000>,
60*f126890aSEmmanuel Vadot		      <0 0x2c002000 0 0x100>;
61*f126890aSEmmanuel Vadot	};
62*f126890aSEmmanuel Vadot
63*f126890aSEmmanuel Vadot	timer {
64*f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
65*f126890aSEmmanuel Vadot		interrupts = <1 13 0xf08>,
66*f126890aSEmmanuel Vadot			     <1 14 0xf08>,
67*f126890aSEmmanuel Vadot			     <1 11 0xf08>,
68*f126890aSEmmanuel Vadot			     <1 10 0xf08>;
69*f126890aSEmmanuel Vadot	};
70*f126890aSEmmanuel Vadot
71*f126890aSEmmanuel Vadot	hypervisor {
72*f126890aSEmmanuel Vadot		compatible = "xen,xen-4.2", "xen,xen";
73*f126890aSEmmanuel Vadot		/* this field is going to be adjusted by the hypervisor */
74*f126890aSEmmanuel Vadot		reg = <0 0xb0000000 0 0x20000>;
75*f126890aSEmmanuel Vadot		/* this field is going to be adjusted by the hypervisor */
76*f126890aSEmmanuel Vadot		interrupts = <1 15 0xf08>;
77*f126890aSEmmanuel Vadot	};
78*f126890aSEmmanuel Vadot
79*f126890aSEmmanuel Vadot	motherboard {
80*f126890aSEmmanuel Vadot		arm,v2m-memory-map = "rs1";
81*f126890aSEmmanuel Vadot	};
82*f126890aSEmmanuel Vadot};
83