]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - arch/arm/boot/dts/tegra30.dtsi
ARM: tegra: pmc: add specific compatible DT string for Tegra30 and Tegra114
[mirror_ubuntu-artful-kernel.git] / arch / arm / boot / dts / tegra30.dtsi
CommitLineData
c3e00a0e
PDS
1/include/ "skeleton.dtsi"
2
3/ {
4 compatible = "nvidia,tegra30";
5 interrupt-parent = <&intc>;
6
b6551bb9
LD
7 aliases {
8 serial0 = &uarta;
9 serial1 = &uartb;
10 serial2 = &uartc;
11 serial3 = &uartd;
12 serial4 = &uarte;
13 };
14
ed39097c
TR
15 host1x {
16 compatible = "nvidia,tegra30-host1x", "simple-bus";
17 reg = <0x50000000 0x00024000>;
18 interrupts = <0 65 0x04 /* mpcore syncpt */
19 0 67 0x04>; /* mpcore general */
1cbc733d 20 clocks = <&tegra_car 28>;
ed39097c
TR
21
22 #address-cells = <1>;
23 #size-cells = <1>;
24
25 ranges = <0x54000000 0x54000000 0x04000000>;
26
27 mpe {
28 compatible = "nvidia,tegra30-mpe";
29 reg = <0x54040000 0x00040000>;
30 interrupts = <0 68 0x04>;
1cbc733d 31 clocks = <&tegra_car 60>;
ed39097c
TR
32 };
33
34 vi {
35 compatible = "nvidia,tegra30-vi";
36 reg = <0x54080000 0x00040000>;
37 interrupts = <0 69 0x04>;
1cbc733d 38 clocks = <&tegra_car 164>;
ed39097c
TR
39 };
40
41 epp {
42 compatible = "nvidia,tegra30-epp";
43 reg = <0x540c0000 0x00040000>;
44 interrupts = <0 70 0x04>;
1cbc733d 45 clocks = <&tegra_car 19>;
ed39097c
TR
46 };
47
48 isp {
49 compatible = "nvidia,tegra30-isp";
50 reg = <0x54100000 0x00040000>;
51 interrupts = <0 71 0x04>;
1cbc733d 52 clocks = <&tegra_car 23>;
ed39097c
TR
53 };
54
55 gr2d {
56 compatible = "nvidia,tegra30-gr2d";
57 reg = <0x54140000 0x00040000>;
58 interrupts = <0 72 0x04>;
1cbc733d 59 clocks = <&tegra_car 21>;
ed39097c
TR
60 };
61
62 gr3d {
63 compatible = "nvidia,tegra30-gr3d";
64 reg = <0x54180000 0x00040000>;
1cbc733d
PG
65 clocks = <&tegra_car 24 &tegra_car 98>;
66 clock-names = "3d", "3d2";
ed39097c
TR
67 };
68
69 dc@54200000 {
70 compatible = "nvidia,tegra30-dc";
71 reg = <0x54200000 0x00040000>;
72 interrupts = <0 73 0x04>;
1cbc733d
PG
73 clocks = <&tegra_car 27>, <&tegra_car 179>;
74 clock-names = "disp1", "parent";
ed39097c
TR
75
76 rgb {
77 status = "disabled";
78 };
79 };
80
81 dc@54240000 {
82 compatible = "nvidia,tegra30-dc";
83 reg = <0x54240000 0x00040000>;
84 interrupts = <0 74 0x04>;
1cbc733d
PG
85 clocks = <&tegra_car 26>, <&tegra_car 179>;
86 clock-names = "disp2", "parent";
ed39097c
TR
87
88 rgb {
89 status = "disabled";
90 };
91 };
92
93 hdmi {
94 compatible = "nvidia,tegra30-hdmi";
95 reg = <0x54280000 0x00040000>;
96 interrupts = <0 75 0x04>;
1cbc733d
PG
97 clocks = <&tegra_car 51>, <&tegra_car 189>;
98 clock-names = "hdmi", "parent";
ed39097c
TR
99 status = "disabled";
100 };
101
102 tvo {
103 compatible = "nvidia,tegra30-tvo";
104 reg = <0x542c0000 0x00040000>;
105 interrupts = <0 76 0x04>;
1cbc733d 106 clocks = <&tegra_car 169>;
ed39097c
TR
107 status = "disabled";
108 };
109
110 dsi {
111 compatible = "nvidia,tegra30-dsi";
112 reg = <0x54300000 0x00040000>;
1cbc733d 113 clocks = <&tegra_car 48>;
ed39097c
TR
114 status = "disabled";
115 };
116 };
117
73368ba0
SW
118 timer@50004600 {
119 compatible = "arm,cortex-a9-twd-timer";
120 reg = <0x50040600 0x20>;
121 interrupts = <1 13 0xf04>;
122 };
123
f9eb26a4 124 intc: interrupt-controller {
c3e00a0e 125 compatible = "arm,cortex-a9-gic";
5ff48887
SW
126 reg = <0x50041000 0x1000
127 0x50040100 0x0100>;
2eaab06e
SW
128 interrupt-controller;
129 #interrupt-cells = <3>;
c3e00a0e
PDS
130 };
131
bb2c1de9
SW
132 cache-controller {
133 compatible = "arm,pl310-cache";
134 reg = <0x50043000 0x1000>;
135 arm,data-latency = <6 6 2>;
136 arm,tag-latency = <5 5 2>;
137 cache-unified;
138 cache-level = <2>;
139 };
140
2f2b7fb2
SW
141 timer@60005000 {
142 compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
143 reg = <0x60005000 0x400>;
144 interrupts = <0 0 0x04
145 0 1 0x04
146 0 41 0x04
147 0 42 0x04
148 0 121 0x04
149 0 122 0x04>;
6f88fb8a 150 clocks = <&tegra_car 5>;
2f2b7fb2
SW
151 };
152
95985667
PG
153 tegra_car: clock {
154 compatible = "nvidia,tegra30-car";
155 reg = <0x60006000 0x1000>;
156 #clock-cells = <1>;
157 };
158
f9eb26a4 159 apbdma: dma {
8051b75a
SW
160 compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma";
161 reg = <0x6000a000 0x1400>;
95decf84
SW
162 interrupts = <0 104 0x04
163 0 105 0x04
164 0 106 0x04
165 0 107 0x04
166 0 108 0x04
167 0 109 0x04
168 0 110 0x04
169 0 111 0x04
170 0 112 0x04
171 0 113 0x04
172 0 114 0x04
173 0 115 0x04
174 0 116 0x04
175 0 117 0x04
176 0 118 0x04
177 0 119 0x04
178 0 128 0x04
179 0 129 0x04
180 0 130 0x04
181 0 131 0x04
182 0 132 0x04
183 0 133 0x04
184 0 134 0x04
185 0 135 0x04
186 0 136 0x04
187 0 137 0x04
188 0 138 0x04
189 0 139 0x04
190 0 140 0x04
191 0 141 0x04
192 0 142 0x04
193 0 143 0x04>;
1cbc733d 194 clocks = <&tegra_car 34>;
8051b75a
SW
195 };
196
c04abb3a
SW
197 ahb: ahb {
198 compatible = "nvidia,tegra30-ahb";
199 reg = <0x6000c004 0x14c>; /* AHB Arbitration + Gizmo Controller */
c3e00a0e
PDS
200 };
201
f9eb26a4 202 gpio: gpio {
35f210ec 203 compatible = "nvidia,tegra30-gpio";
95decf84
SW
204 reg = <0x6000d000 0x1000>;
205 interrupts = <0 32 0x04
206 0 33 0x04
207 0 34 0x04
208 0 35 0x04
209 0 55 0x04
210 0 87 0x04
211 0 89 0x04
212 0 125 0x04>;
c3e00a0e
PDS
213 #gpio-cells = <2>;
214 gpio-controller;
6f74dc9b
SW
215 #interrupt-cells = <2>;
216 interrupt-controller;
c3e00a0e
PDS
217 };
218
c04abb3a
SW
219 pinmux: pinmux {
220 compatible = "nvidia,tegra30-pinmux";
322337b8
PR
221 reg = <0x70000868 0xd4 /* Pad control registers */
222 0x70003000 0x3e4>; /* Mux registers */
c04abb3a
SW
223 };
224
b6551bb9
LD
225 /*
226 * There are two serial driver i.e. 8250 based simple serial
227 * driver and APB DMA based serial driver for higher baudrate
228 * and performace. To enable the 8250 based driver, the compatible
229 * is "nvidia,tegra30-uart", "nvidia,tegra20-uart" and to enable
230 * the APB DMA based serial driver, the comptible is
231 * "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart".
232 */
233 uarta: serial@70006000 {
c3e00a0e
PDS
234 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
235 reg = <0x70006000 0x40>;
236 reg-shift = <2>;
95decf84 237 interrupts = <0 36 0x04>;
b6551bb9 238 nvidia,dma-request-selector = <&apbdma 8>;
1cbc733d 239 clocks = <&tegra_car 6>;
223ef78d 240 status = "disabled";
c3e00a0e
PDS
241 };
242
b6551bb9 243 uartb: serial@70006040 {
c3e00a0e
PDS
244 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
245 reg = <0x70006040 0x40>;
246 reg-shift = <2>;
95decf84 247 interrupts = <0 37 0x04>;
b6551bb9 248 nvidia,dma-request-selector = <&apbdma 9>;
1cbc733d 249 clocks = <&tegra_car 160>;
223ef78d 250 status = "disabled";
c3e00a0e
PDS
251 };
252
b6551bb9 253 uartc: serial@70006200 {
c3e00a0e
PDS
254 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
255 reg = <0x70006200 0x100>;
256 reg-shift = <2>;
95decf84 257 interrupts = <0 46 0x04>;
b6551bb9 258 nvidia,dma-request-selector = <&apbdma 10>;
1cbc733d 259 clocks = <&tegra_car 55>;
223ef78d 260 status = "disabled";
c3e00a0e
PDS
261 };
262
b6551bb9 263 uartd: serial@70006300 {
c3e00a0e
PDS
264 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
265 reg = <0x70006300 0x100>;
266 reg-shift = <2>;
95decf84 267 interrupts = <0 90 0x04>;
b6551bb9 268 nvidia,dma-request-selector = <&apbdma 19>;
1cbc733d 269 clocks = <&tegra_car 65>;
223ef78d 270 status = "disabled";
c3e00a0e
PDS
271 };
272
b6551bb9 273 uarte: serial@70006400 {
c3e00a0e
PDS
274 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
275 reg = <0x70006400 0x100>;
276 reg-shift = <2>;
95decf84 277 interrupts = <0 91 0x04>;
b6551bb9 278 nvidia,dma-request-selector = <&apbdma 20>;
1cbc733d 279 clocks = <&tegra_car 66>;
223ef78d 280 status = "disabled";
c3e00a0e
PDS
281 };
282
2b8b15da 283 pwm: pwm {
140fd977
TR
284 compatible = "nvidia,tegra30-pwm", "nvidia,tegra20-pwm";
285 reg = <0x7000a000 0x100>;
286 #pwm-cells = <2>;
1cbc733d 287 clocks = <&tegra_car 17>;
140fd977
TR
288 };
289
380e04ac
SW
290 rtc {
291 compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc";
292 reg = <0x7000e000 0x100>;
293 interrupts = <0 2 0x04>;
6f88fb8a 294 clocks = <&tegra_car 4>;
380e04ac
SW
295 };
296
c04abb3a 297 i2c@7000c000 {
c04abb3a
SW
298 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
299 reg = <0x7000c000 0x100>;
300 interrupts = <0 38 0x04>;
2eaab06e
SW
301 #address-cells = <1>;
302 #size-cells = <0>;
1cbc733d
PG
303 clocks = <&tegra_car 12>, <&tegra_car 182>;
304 clock-names = "div-clk", "fast-clk";
223ef78d 305 status = "disabled";
c3e00a0e
PDS
306 };
307
c04abb3a 308 i2c@7000c400 {
c04abb3a
SW
309 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
310 reg = <0x7000c400 0x100>;
311 interrupts = <0 84 0x04>;
2eaab06e
SW
312 #address-cells = <1>;
313 #size-cells = <0>;
1cbc733d
PG
314 clocks = <&tegra_car 54>, <&tegra_car 182>;
315 clock-names = "div-clk", "fast-clk";
223ef78d 316 status = "disabled";
c3e00a0e
PDS
317 };
318
c04abb3a 319 i2c@7000c500 {
c04abb3a
SW
320 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
321 reg = <0x7000c500 0x100>;
322 interrupts = <0 92 0x04>;
2eaab06e
SW
323 #address-cells = <1>;
324 #size-cells = <0>;
1cbc733d
PG
325 clocks = <&tegra_car 67>, <&tegra_car 182>;
326 clock-names = "div-clk", "fast-clk";
223ef78d 327 status = "disabled";
c3e00a0e
PDS
328 };
329
c04abb3a 330 i2c@7000c700 {
c04abb3a
SW
331 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
332 reg = <0x7000c700 0x100>;
333 interrupts = <0 120 0x04>;
2eaab06e
SW
334 #address-cells = <1>;
335 #size-cells = <0>;
1cbc733d
PG
336 clocks = <&tegra_car 103>, <&tegra_car 182>;
337 clock-names = "div-clk", "fast-clk";
223ef78d 338 status = "disabled";
c3e00a0e
PDS
339 };
340
c04abb3a 341 i2c@7000d000 {
c04abb3a
SW
342 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
343 reg = <0x7000d000 0x100>;
344 interrupts = <0 53 0x04>;
2eaab06e
SW
345 #address-cells = <1>;
346 #size-cells = <0>;
1cbc733d
PG
347 clocks = <&tegra_car 47>, <&tegra_car 182>;
348 clock-names = "div-clk", "fast-clk";
223ef78d 349 status = "disabled";
c04abb3a
SW
350 };
351
a86b0db3
LD
352 spi@7000d400 {
353 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
354 reg = <0x7000d400 0x200>;
355 interrupts = <0 59 0x04>;
356 nvidia,dma-request-selector = <&apbdma 15>;
357 #address-cells = <1>;
358 #size-cells = <0>;
1cbc733d 359 clocks = <&tegra_car 41>;
a86b0db3
LD
360 status = "disabled";
361 };
362
363 spi@7000d600 {
364 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
365 reg = <0x7000d600 0x200>;
366 interrupts = <0 82 0x04>;
367 nvidia,dma-request-selector = <&apbdma 16>;
368 #address-cells = <1>;
369 #size-cells = <0>;
1cbc733d 370 clocks = <&tegra_car 44>;
a86b0db3
LD
371 status = "disabled";
372 };
373
374 spi@7000d800 {
375 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
376 reg = <0x7000d480 0x200>;
377 interrupts = <0 83 0x04>;
378 nvidia,dma-request-selector = <&apbdma 17>;
379 #address-cells = <1>;
380 #size-cells = <0>;
1cbc733d 381 clocks = <&tegra_car 46>;
a86b0db3
LD
382 status = "disabled";
383 };
384
385 spi@7000da00 {
386 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
387 reg = <0x7000da00 0x200>;
388 interrupts = <0 93 0x04>;
389 nvidia,dma-request-selector = <&apbdma 18>;
390 #address-cells = <1>;
391 #size-cells = <0>;
1cbc733d 392 clocks = <&tegra_car 68>;
a86b0db3
LD
393 status = "disabled";
394 };
395
396 spi@7000dc00 {
397 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
398 reg = <0x7000dc00 0x200>;
399 interrupts = <0 94 0x04>;
400 nvidia,dma-request-selector = <&apbdma 27>;
401 #address-cells = <1>;
402 #size-cells = <0>;
1cbc733d 403 clocks = <&tegra_car 104>;
a86b0db3
LD
404 status = "disabled";
405 };
406
407 spi@7000de00 {
408 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
409 reg = <0x7000de00 0x200>;
410 interrupts = <0 79 0x04>;
411 nvidia,dma-request-selector = <&apbdma 28>;
412 #address-cells = <1>;
413 #size-cells = <0>;
1cbc733d 414 clocks = <&tegra_car 105>;
a86b0db3
LD
415 status = "disabled";
416 };
417
699ed4b9
LD
418 kbc {
419 compatible = "nvidia,tegra30-kbc", "nvidia,tegra20-kbc";
420 reg = <0x7000e200 0x100>;
421 interrupts = <0 85 0x04>;
422 clocks = <&tegra_car 36>;
423 status = "disabled";
424 };
425
c04abb3a
SW
426 pmc {
427 compatible = "nvidia,tegra20-pmc", "nvidia,tegra30-pmc";
428 reg = <0x7000e400 0x400>;
429 };
430
a9140aa5 431 memory-controller {
c04abb3a
SW
432 compatible = "nvidia,tegra30-mc";
433 reg = <0x7000f000 0x010
434 0x7000f03c 0x1b4
435 0x7000f200 0x028
436 0x7000f284 0x17c>;
437 interrupts = <0 77 0x04>;
438 };
439
3fbf07d8 440 iommu {
c04abb3a
SW
441 compatible = "nvidia,tegra30-smmu";
442 reg = <0x7000f010 0x02c
443 0x7000f1f0 0x010
444 0x7000f228 0x05c>;
445 nvidia,#asids = <4>; /* # of ASIDs */
446 dma-window = <0 0x40000000>; /* IOVA start & length */
447 nvidia,ahb = <&ahb>;
c3e00a0e 448 };
9ee6a5c4
SW
449
450 ahub {
451 compatible = "nvidia,tegra30-ahub";
5ff48887
SW
452 reg = <0x70080000 0x200
453 0x70080200 0x100>;
95decf84 454 interrupts = <0 103 0x04>;
9ee6a5c4 455 nvidia,dma-request-selector = <&apbdma 1>;
1cbc733d
PG
456 clocks = <&tegra_car 106>, <&tegra_car 107>, <&tegra_car 30>,
457 <&tegra_car 11>, <&tegra_car 18>, <&tegra_car 101>,
458 <&tegra_car 102>, <&tegra_car 108>, <&tegra_car 109>,
459 <&tegra_car 110>, <&tegra_car 162>;
460 clock-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
461 "i2s3", "i2s4", "dam0", "dam1", "dam2",
462 "spdif_in";
9ee6a5c4
SW
463 ranges;
464 #address-cells = <1>;
465 #size-cells = <1>;
466
467 tegra_i2s0: i2s@70080300 {
468 compatible = "nvidia,tegra30-i2s";
469 reg = <0x70080300 0x100>;
470 nvidia,ahub-cif-ids = <4 4>;
1cbc733d 471 clocks = <&tegra_car 30>;
223ef78d 472 status = "disabled";
9ee6a5c4
SW
473 };
474
475 tegra_i2s1: i2s@70080400 {
476 compatible = "nvidia,tegra30-i2s";
477 reg = <0x70080400 0x100>;
478 nvidia,ahub-cif-ids = <5 5>;
1cbc733d 479 clocks = <&tegra_car 11>;
223ef78d 480 status = "disabled";
9ee6a5c4
SW
481 };
482
483 tegra_i2s2: i2s@70080500 {
484 compatible = "nvidia,tegra30-i2s";
485 reg = <0x70080500 0x100>;
486 nvidia,ahub-cif-ids = <6 6>;
1cbc733d 487 clocks = <&tegra_car 18>;
223ef78d 488 status = "disabled";
9ee6a5c4
SW
489 };
490
491 tegra_i2s3: i2s@70080600 {
492 compatible = "nvidia,tegra30-i2s";
493 reg = <0x70080600 0x100>;
494 nvidia,ahub-cif-ids = <7 7>;
1cbc733d 495 clocks = <&tegra_car 101>;
223ef78d 496 status = "disabled";
9ee6a5c4
SW
497 };
498
499 tegra_i2s4: i2s@70080700 {
500 compatible = "nvidia,tegra30-i2s";
501 reg = <0x70080700 0x100>;
502 nvidia,ahub-cif-ids = <8 8>;
1cbc733d 503 clocks = <&tegra_car 102>;
223ef78d 504 status = "disabled";
9ee6a5c4
SW
505 };
506 };
7868a9bc 507
c04abb3a
SW
508 sdhci@78000000 {
509 compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
510 reg = <0x78000000 0x200>;
511 interrupts = <0 14 0x04>;
1cbc733d 512 clocks = <&tegra_car 14>;
223ef78d 513 status = "disabled";
7868a9bc 514 };
ecf43742 515
c04abb3a
SW
516 sdhci@78000200 {
517 compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
518 reg = <0x78000200 0x200>;
519 interrupts = <0 15 0x04>;
1cbc733d 520 clocks = <&tegra_car 9>;
223ef78d 521 status = "disabled";
ecf43742 522 };
54174a33 523
c04abb3a
SW
524 sdhci@78000400 {
525 compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
526 reg = <0x78000400 0x200>;
527 interrupts = <0 19 0x04>;
1cbc733d 528 clocks = <&tegra_car 69>;
223ef78d 529 status = "disabled";
c04abb3a
SW
530 };
531
532 sdhci@78000600 {
533 compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
534 reg = <0x78000600 0x200>;
535 interrupts = <0 31 0x04>;
1cbc733d 536 clocks = <&tegra_car 15>;
223ef78d 537 status = "disabled";
c04abb3a
SW
538 };
539
7d19a34a
HD
540 cpus {
541 #address-cells = <1>;
542 #size-cells = <0>;
543
544 cpu@0 {
545 device_type = "cpu";
546 compatible = "arm,cortex-a9";
547 reg = <0>;
548 };
549
550 cpu@1 {
551 device_type = "cpu";
552 compatible = "arm,cortex-a9";
553 reg = <1>;
554 };
555
556 cpu@2 {
557 device_type = "cpu";
558 compatible = "arm,cortex-a9";
559 reg = <2>;
560 };
561
562 cpu@3 {
563 device_type = "cpu";
564 compatible = "arm,cortex-a9";
565 reg = <3>;
566 };
567 };
568
c04abb3a
SW
569 pmu {
570 compatible = "arm,cortex-a9-pmu";
571 interrupts = <0 144 0x04
572 0 145 0x04
573 0 146 0x04
574 0 147 0x04>;
54174a33 575 };
c3e00a0e 576};