License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[linux-2.6-block.git] / arch / arm / boot / dts / versatile-ab.dts
CommitLineData
b2441318 1// SPDX-License-Identifier: GPL-2.0
3ba7222a
GL
2/dts-v1/;
3/include/ "skeleton.dtsi"
4
5/ {
6 model = "ARM Versatile AB";
7 compatible = "arm,versatile-ab";
8 #address-cells = <1>;
9 #size-cells = <1>;
10 interrupt-parent = <&vic>;
11
12 aliases {
13 serial0 = &uart0;
14 serial1 = &uart1;
15 serial2 = &uart2;
16 i2c0 = &i2c0;
17 };
18
00388218
GL
19 chosen {
20 stdout-path = &uart0;
21 };
22
3ba7222a
GL
23 memory {
24 reg = <0x0 0x08000000>;
25 };
26
2e452785
RH
27 xtal24mhz: xtal24mhz@24M {
28 #clock-cells = <0>;
29 compatible = "fixed-clock";
30 clock-frequency = <24000000>;
31 };
32
33 core-module@10000000 {
07ebfa59 34 compatible = "arm,core-module-versatile", "syscon", "simple-mfd";
2e452785
RH
35 reg = <0x10000000 0x200>;
36
07ebfa59
LW
37 led@08.0 {
38 compatible = "register-bit-led";
39 offset = <0x08>;
40 mask = <0x01>;
41 label = "versatile:0";
42 linux,default-trigger = "heartbeat";
43 default-state = "on";
44 };
45 led@08.1 {
46 compatible = "register-bit-led";
47 offset = <0x08>;
48 mask = <0x02>;
49 label = "versatile:1";
50 linux,default-trigger = "mmc0";
51 default-state = "off";
52 };
53 led@08.2 {
54 compatible = "register-bit-led";
55 offset = <0x08>;
56 mask = <0x04>;
57 label = "versatile:2";
58 linux,default-trigger = "cpu0";
59 default-state = "off";
60 };
61 led@08.3 {
62 compatible = "register-bit-led";
63 offset = <0x08>;
64 mask = <0x08>;
65 label = "versatile:3";
66 default-state = "off";
67 };
68 led@08.4 {
69 compatible = "register-bit-led";
70 offset = <0x08>;
71 mask = <0x10>;
72 label = "versatile:4";
73 default-state = "off";
74 };
75 led@08.5 {
76 compatible = "register-bit-led";
77 offset = <0x08>;
78 mask = <0x20>;
79 label = "versatile:5";
80 default-state = "off";
81 };
82 led@08.6 {
83 compatible = "register-bit-led";
84 offset = <0x08>;
85 mask = <0x40>;
86 label = "versatile:6";
87 default-state = "off";
88 };
89 led@08.7 {
90 compatible = "register-bit-led";
91 offset = <0x08>;
92 mask = <0x80>;
93 label = "versatile:7";
94 default-state = "off";
95 };
96
2e452785
RH
97 /* OSC1 on AB, OSC4 on PB */
98 osc1: cm_aux_osc@24M {
99 #clock-cells = <0>;
100 compatible = "arm,versatile-cm-auxosc";
101 clocks = <&xtal24mhz>;
102 };
103
104 /* The timer clock is the 24 MHz oscillator divided to 1MHz */
105 timclk: timclk@1M {
106 #clock-cells = <0>;
107 compatible = "fixed-factor-clock";
108 clock-div = <24>;
109 clock-mult = <1>;
110 clocks = <&xtal24mhz>;
111 };
112
113 pclk: pclk@24M {
114 #clock-cells = <0>;
115 compatible = "fixed-factor-clock";
116 clock-div = <1>;
117 clock-mult = <1>;
118 clocks = <&xtal24mhz>;
119 };
120 };
121
3ba7222a 122 flash@34000000 {
7bb73fd7
LW
123 /* 64 MiB NOR flash in non-interleaved chips */
124 compatible = "arm,versatile-flash", "cfi-flash";
125 reg = <0x34000000 0x04000000>;
3ba7222a
GL
126 bank-width = <4>;
127 };
128
129 i2c0: i2c@10002000 {
130 #address-cells = <1>;
131 #size-cells = <0>;
132 compatible = "arm,versatile-i2c";
133 reg = <0x10002000 0x1000>;
134
135 rtc@68 {
136 compatible = "dallas,ds1338";
137 reg = <0x68>;
138 };
139 };
140
141 net@10010000 {
142 compatible = "smsc,lan91c111";
143 reg = <0x10010000 0x10000>;
144 interrupts = <25>;
145 };
146
147 lcd@10008000 {
148 compatible = "arm,versatile-lcd";
149 reg = <0x10008000 0x1000>;
150 };
151
152 amba {
2ef7d5f3 153 compatible = "simple-bus";
3ba7222a
GL
154 #address-cells = <1>;
155 #size-cells = <1>;
156 ranges;
157
158 vic: intc@10140000 {
159 compatible = "arm,versatile-vic";
160 interrupt-controller;
161 #interrupt-cells = <1>;
162 reg = <0x10140000 0x1000>;
0ba6c5d2
RH
163 clear-mask = <0xffffffff>;
164 valid-mask = <0xffffffff>;
3ba7222a
GL
165 };
166
167 sic: intc@10003000 {
168 compatible = "arm,versatile-sic";
169 interrupt-controller;
170 #interrupt-cells = <1>;
171 reg = <0x10003000 0x1000>;
172 interrupt-parent = <&vic>;
173 interrupts = <31>; /* Cascaded to vic */
0ba6c5d2 174 clear-mask = <0xffffffff>;
20f12758
LW
175 /*
176 * Valid interrupt lines mask according to
177 * table 4-36 page 4-50 of ARM DUI 0225D
178 */
179 valid-mask = <0x0760031b>;
3ba7222a
GL
180 };
181
182 dma@10130000 {
183 compatible = "arm,pl081", "arm,primecell";
184 reg = <0x10130000 0x1000>;
185 interrupts = <17>;
2e452785
RH
186 clocks = <&pclk>;
187 clock-names = "apb_pclk";
3ba7222a
GL
188 };
189
190 uart0: uart@101f1000 {
191 compatible = "arm,pl011", "arm,primecell";
192 reg = <0x101f1000 0x1000>;
193 interrupts = <12>;
2e452785
RH
194 clocks = <&xtal24mhz>, <&pclk>;
195 clock-names = "uartclk", "apb_pclk";
3ba7222a
GL
196 };
197
198 uart1: uart@101f2000 {
199 compatible = "arm,pl011", "arm,primecell";
200 reg = <0x101f2000 0x1000>;
201 interrupts = <13>;
2e452785
RH
202 clocks = <&xtal24mhz>, <&pclk>;
203 clock-names = "uartclk", "apb_pclk";
3ba7222a
GL
204 };
205
206 uart2: uart@101f3000 {
207 compatible = "arm,pl011", "arm,primecell";
208 reg = <0x101f3000 0x1000>;
209 interrupts = <14>;
2e452785
RH
210 clocks = <&xtal24mhz>, <&pclk>;
211 clock-names = "uartclk", "apb_pclk";
3ba7222a
GL
212 };
213
214 smc@10100000 {
215 compatible = "arm,primecell";
216 reg = <0x10100000 0x1000>;
2e452785
RH
217 clocks = <&pclk>;
218 clock-names = "apb_pclk";
3ba7222a
GL
219 };
220
221 mpmc@10110000 {
222 compatible = "arm,primecell";
223 reg = <0x10110000 0x1000>;
2e452785
RH
224 clocks = <&pclk>;
225 clock-names = "apb_pclk";
3ba7222a
GL
226 };
227
228 display@10120000 {
229 compatible = "arm,pl110", "arm,primecell";
230 reg = <0x10120000 0x1000>;
231 interrupts = <16>;
2e452785
RH
232 clocks = <&osc1>, <&pclk>;
233 clock-names = "clcd", "apb_pclk";
3ba7222a
GL
234 };
235
236 sctl@101e0000 {
237 compatible = "arm,primecell";
238 reg = <0x101e0000 0x1000>;
2e452785
RH
239 clocks = <&pclk>;
240 clock-names = "apb_pclk";
3ba7222a
GL
241 };
242
243 watchdog@101e1000 {
244 compatible = "arm,primecell";
245 reg = <0x101e1000 0x1000>;
246 interrupts = <0>;
2e452785
RH
247 clocks = <&pclk>;
248 clock-names = "apb_pclk";
3ba7222a
GL
249 };
250
818270d5
RH
251 timer@101e2000 {
252 compatible = "arm,sp804", "arm,primecell";
253 reg = <0x101e2000 0x1000>;
254 interrupts = <4>;
2e452785
RH
255 clocks = <&timclk>, <&timclk>, <&pclk>;
256 clock-names = "timer0", "timer1", "apb_pclk";
818270d5
RH
257 };
258
259 timer@101e3000 {
260 compatible = "arm,sp804", "arm,primecell";
261 reg = <0x101e3000 0x1000>;
262 interrupts = <5>;
2e452785
RH
263 clocks = <&timclk>, <&timclk>, <&pclk>;
264 clock-names = "timer0", "timer1", "apb_pclk";
818270d5
RH
265 };
266
3ba7222a
GL
267 gpio0: gpio@101e4000 {
268 compatible = "arm,pl061", "arm,primecell";
269 reg = <0x101e4000 0x1000>;
270 gpio-controller;
271 interrupts = <6>;
272 #gpio-cells = <2>;
273 interrupt-controller;
274 #interrupt-cells = <2>;
2e452785
RH
275 clocks = <&pclk>;
276 clock-names = "apb_pclk";
3ba7222a
GL
277 };
278
279 gpio1: gpio@101e5000 {
280 compatible = "arm,pl061", "arm,primecell";
281 reg = <0x101e5000 0x1000>;
282 interrupts = <7>;
283 gpio-controller;
284 #gpio-cells = <2>;
285 interrupt-controller;
286 #interrupt-cells = <2>;
2e452785
RH
287 clocks = <&pclk>;
288 clock-names = "apb_pclk";
3ba7222a
GL
289 };
290
291 rtc@101e8000 {
292 compatible = "arm,pl030", "arm,primecell";
293 reg = <0x101e8000 0x1000>;
294 interrupts = <10>;
2e452785
RH
295 clocks = <&pclk>;
296 clock-names = "apb_pclk";
3ba7222a
GL
297 };
298
299 sci@101f0000 {
300 compatible = "arm,primecell";
301 reg = <0x101f0000 0x1000>;
302 interrupts = <15>;
2e452785
RH
303 clocks = <&pclk>;
304 clock-names = "apb_pclk";
3ba7222a
GL
305 };
306
307 ssp@101f4000 {
308 compatible = "arm,pl022", "arm,primecell";
309 reg = <0x101f4000 0x1000>;
310 interrupts = <11>;
2e452785
RH
311 clocks = <&xtal24mhz>, <&pclk>;
312 clock-names = "SSPCLK", "apb_pclk";
3ba7222a
GL
313 };
314
315 fpga {
316 compatible = "arm,versatile-fpga", "simple-bus";
317 #address-cells = <1>;
318 #size-cells = <1>;
319 ranges = <0 0x10000000 0x10000>;
320
35a8578e
RH
321 sysreg@0 {
322 compatible = "arm,versatile-sysreg", "syscon";
323 reg = <0x00000 0x1000>;
324 };
325
3ba7222a
GL
326 aaci@4000 {
327 compatible = "arm,primecell";
328 reg = <0x4000 0x1000>;
329 interrupts = <24>;
2e452785
RH
330 clocks = <&pclk>;
331 clock-names = "apb_pclk";
3ba7222a
GL
332 };
333 mmc@5000 {
04aa49f6 334 compatible = "arm,pl180", "arm,primecell";
20f12758
LW
335 reg = <0x5000 0x1000>;
336 interrupts-extended = <&vic 22 &sic 1>;
2e452785
RH
337 clocks = <&xtal24mhz>, <&pclk>;
338 clock-names = "mclk", "apb_pclk";
3ba7222a
GL
339 };
340 kmi@6000 {
341 compatible = "arm,pl050", "arm,primecell";
342 reg = <0x6000 0x1000>;
343 interrupt-parent = <&sic>;
344 interrupts = <3>;
2e452785
RH
345 clocks = <&xtal24mhz>, <&pclk>;
346 clock-names = "KMIREFCLK", "apb_pclk";
3ba7222a
GL
347 };
348 kmi@7000 {
349 compatible = "arm,pl050", "arm,primecell";
350 reg = <0x7000 0x1000>;
351 interrupt-parent = <&sic>;
352 interrupts = <4>;
2e452785
RH
353 clocks = <&xtal24mhz>, <&pclk>;
354 clock-names = "KMIREFCLK", "apb_pclk";
3ba7222a
GL
355 };
356 };
357 };
358};