1*f126890aSEmmanuel Vadot/*
2*f126890aSEmmanuel Vadot * Copyright 2016 Linaro Ltd
3*f126890aSEmmanuel Vadot *
4*f126890aSEmmanuel Vadot * Permission is hereby granted, free of charge, to any person obtaining a copy
5*f126890aSEmmanuel Vadot * of this software and associated documentation files (the "Software"), to deal
6*f126890aSEmmanuel Vadot * in the Software without restriction, including without limitation the rights
7*f126890aSEmmanuel Vadot * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8*f126890aSEmmanuel Vadot * copies of the Software, and to permit persons to whom the Software is
9*f126890aSEmmanuel Vadot * furnished to do so, subject to the following conditions:
10*f126890aSEmmanuel Vadot *
11*f126890aSEmmanuel Vadot * The above copyright notice and this permission notice shall be included in
12*f126890aSEmmanuel Vadot * all copies or substantial portions of the Software.
13*f126890aSEmmanuel Vadot *
14*f126890aSEmmanuel Vadot * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15*f126890aSEmmanuel Vadot * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16*f126890aSEmmanuel Vadot * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17*f126890aSEmmanuel Vadot * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18*f126890aSEmmanuel Vadot * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19*f126890aSEmmanuel Vadot * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20*f126890aSEmmanuel Vadot * THE SOFTWARE.
21*f126890aSEmmanuel Vadot */
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot/dts-v1/;
24*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
25*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
26*f126890aSEmmanuel Vadot#include "arm-realview-eb.dtsi"
27*f126890aSEmmanuel Vadot
28*f126890aSEmmanuel Vadot/ {
29*f126890aSEmmanuel Vadot	model = "ARM RealView Emulation Baseboard";
30*f126890aSEmmanuel Vadot	compatible = "arm,realview-eb";
31*f126890aSEmmanuel Vadot	arm,hbi = <0x140>;
32*f126890aSEmmanuel Vadot
33*f126890aSEmmanuel Vadot	/*
34*f126890aSEmmanuel Vadot	 * This is the core tile with the CPU and GIC etc for the
35*f126890aSEmmanuel Vadot	 * ARM926EJ-S, ARM1136, ARM1176 that does not have L2 cache
36*f126890aSEmmanuel Vadot	 * or PMU.
37*f126890aSEmmanuel Vadot	 *
38*f126890aSEmmanuel Vadot	 * To run this machine with QEMU, specify the following:
39*f126890aSEmmanuel Vadot	 * qemu-system-arm -M realview-eb
40*f126890aSEmmanuel Vadot	 * Unless specified, QEMU will emulate an ARM926EJ-S core tile.
41*f126890aSEmmanuel Vadot	 * Switches -cpu arm1136 or -cpu arm1176 emulates the other
42*f126890aSEmmanuel Vadot	 * core tiles.
43*f126890aSEmmanuel Vadot	 */
44*f126890aSEmmanuel Vadot	soc {
45*f126890aSEmmanuel Vadot		#address-cells = <1>;
46*f126890aSEmmanuel Vadot		#size-cells = <1>;
47*f126890aSEmmanuel Vadot		compatible = "arm,realview-eb-soc", "simple-bus";
48*f126890aSEmmanuel Vadot		regmap = <&syscon>;
49*f126890aSEmmanuel Vadot		ranges;
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot		intc: interrupt-controller@10040000 {
52*f126890aSEmmanuel Vadot			compatible = "arm,pl390";
53*f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
54*f126890aSEmmanuel Vadot			#address-cells = <1>;
55*f126890aSEmmanuel Vadot			interrupt-controller;
56*f126890aSEmmanuel Vadot			reg = <0x10041000 0x1000>,
57*f126890aSEmmanuel Vadot			      <0x10040000 0x100>;
58*f126890aSEmmanuel Vadot		};
59*f126890aSEmmanuel Vadot	};
60*f126890aSEmmanuel Vadot};
61*f126890aSEmmanuel Vadot
62*f126890aSEmmanuel Vadot/*
63*f126890aSEmmanuel Vadot * This adapts all the peripherals to the interrupt routing
64*f126890aSEmmanuel Vadot * to the GIC on the core tile.
65*f126890aSEmmanuel Vadot */
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot&ethernet {
68*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
69*f126890aSEmmanuel Vadot	interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
70*f126890aSEmmanuel Vadot};
71*f126890aSEmmanuel Vadot
72*f126890aSEmmanuel Vadot&usb {
73*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
74*f126890aSEmmanuel Vadot	interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
75*f126890aSEmmanuel Vadot};
76*f126890aSEmmanuel Vadot
77*f126890aSEmmanuel Vadot&aaci {
78*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
79*f126890aSEmmanuel Vadot	interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
80*f126890aSEmmanuel Vadot};
81*f126890aSEmmanuel Vadot
82*f126890aSEmmanuel Vadot&mmc {
83*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
84*f126890aSEmmanuel Vadot	interrupts = <0 17 IRQ_TYPE_LEVEL_HIGH>,
85*f126890aSEmmanuel Vadot			<0 18 IRQ_TYPE_LEVEL_HIGH>;
86*f126890aSEmmanuel Vadot};
87*f126890aSEmmanuel Vadot
88*f126890aSEmmanuel Vadot&kmi0 {
89*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
90*f126890aSEmmanuel Vadot	interrupts = <0 20 IRQ_TYPE_LEVEL_HIGH>;
91*f126890aSEmmanuel Vadot};
92*f126890aSEmmanuel Vadot
93*f126890aSEmmanuel Vadot&kmi1 {
94*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
95*f126890aSEmmanuel Vadot	interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
96*f126890aSEmmanuel Vadot};
97*f126890aSEmmanuel Vadot
98*f126890aSEmmanuel Vadot&charlcd {
99*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
100*f126890aSEmmanuel Vadot	interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
101*f126890aSEmmanuel Vadot};
102*f126890aSEmmanuel Vadot
103*f126890aSEmmanuel Vadot&serial0 {
104*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
105*f126890aSEmmanuel Vadot	interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>;
106*f126890aSEmmanuel Vadot};
107*f126890aSEmmanuel Vadot
108*f126890aSEmmanuel Vadot&serial1 {
109*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
110*f126890aSEmmanuel Vadot	interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>;
111*f126890aSEmmanuel Vadot};
112*f126890aSEmmanuel Vadot
113*f126890aSEmmanuel Vadot&serial2 {
114*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
115*f126890aSEmmanuel Vadot	interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
116*f126890aSEmmanuel Vadot};
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot&serial3 {
119*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
120*f126890aSEmmanuel Vadot	interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
121*f126890aSEmmanuel Vadot};
122*f126890aSEmmanuel Vadot
123*f126890aSEmmanuel Vadot&ssp {
124*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
125*f126890aSEmmanuel Vadot	interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
126*f126890aSEmmanuel Vadot};
127*f126890aSEmmanuel Vadot
128*f126890aSEmmanuel Vadot&wdog {
129*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
130*f126890aSEmmanuel Vadot	interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>;
131*f126890aSEmmanuel Vadot};
132*f126890aSEmmanuel Vadot
133*f126890aSEmmanuel Vadot&timer01 {
134*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
135*f126890aSEmmanuel Vadot	interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
136*f126890aSEmmanuel Vadot};
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot&timer23 {
139*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
140*f126890aSEmmanuel Vadot	interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
141*f126890aSEmmanuel Vadot};
142*f126890aSEmmanuel Vadot
143*f126890aSEmmanuel Vadot&gpio0 {
144*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
145*f126890aSEmmanuel Vadot	interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
146*f126890aSEmmanuel Vadot};
147*f126890aSEmmanuel Vadot
148*f126890aSEmmanuel Vadot&gpio1 {
149*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
150*f126890aSEmmanuel Vadot	interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
151*f126890aSEmmanuel Vadot};
152*f126890aSEmmanuel Vadot
153*f126890aSEmmanuel Vadot&gpio2 {
154*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
155*f126890aSEmmanuel Vadot	interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
156*f126890aSEmmanuel Vadot};
157*f126890aSEmmanuel Vadot
158*f126890aSEmmanuel Vadot&rtc {
159*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
160*f126890aSEmmanuel Vadot	interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>;
161*f126890aSEmmanuel Vadot};
162*f126890aSEmmanuel Vadot
163*f126890aSEmmanuel Vadot&clcd {
164*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
165*f126890aSEmmanuel Vadot	interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
166*f126890aSEmmanuel Vadot};
167