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