blob: d0da8b7aa4dfe05602d453496e9f63a793886d53 [file] [log] [blame]
Hiroshi Doyua1c85862013-05-22 19:45:36 +03001#include <dt-bindings/clock/tegra114-car.h>
Stephen Warren3325f1b2013-02-12 17:25:15 -07002#include <dt-bindings/gpio/tegra-gpio.h>
Stephen Warren6cecf912013-02-13 12:51:51 -07003#include <dt-bindings/interrupt-controller/arm-gic.h>
Stephen Warren3325f1b2013-02-12 17:25:15 -07004
Stephen Warren1bd0bd42012-10-17 16:38:21 -06005#include "skeleton.dtsi"
Hiroshi Doyu18a4df72013-01-24 01:10:23 +00006
7/ {
8 compatible = "nvidia,tegra114";
9 interrupt-parent = <&gic>;
10
Laxman Dewangan0fb22092013-03-14 01:19:52 +053011 aliases {
12 serial0 = &uarta;
13 serial1 = &uartb;
14 serial2 = &uartc;
15 serial3 = &uartd;
16 };
17
Hiroshi Doyu18a4df72013-01-24 01:10:23 +000018 gic: interrupt-controller {
19 compatible = "arm,cortex-a15-gic";
20 #interrupt-cells = <3>;
21 interrupt-controller;
22 reg = <0x50041000 0x1000>,
23 <0x50042000 0x1000>,
24 <0x50044000 0x2000>,
25 <0x50046000 0x2000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070026 interrupts = <GIC_PPI 9
27 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
Hiroshi Doyu18a4df72013-01-24 01:10:23 +000028 };
29
30 timer@60005000 {
31 compatible = "nvidia,tegra114-timer", "nvidia,tegra20-timer";
32 reg = <0x60005000 0x400>;
Stephen Warren6cecf912013-02-13 12:51:51 -070033 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
34 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
35 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
36 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
37 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
38 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +030039 clocks = <&tegra_car TEGRA114_CLK_TIMER>;
Hiroshi Doyu18a4df72013-01-24 01:10:23 +000040 };
41
42 tegra_car: clock {
Peter De Schrijver672d8892013-04-03 17:40:48 +030043 compatible = "nvidia,tegra114-car";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +000044 reg = <0x60006000 0x1000>;
45 #clock-cells = <1>;
Stephen Warren3393d422013-11-06 14:01:16 -070046 #reset-cells = <1>;
Hiroshi Doyu18a4df72013-01-24 01:10:23 +000047 };
48
Laxman Dewanganc5d9da42013-03-14 01:19:50 +053049 apbdma: dma {
50 compatible = "nvidia,tegra114-apbdma";
51 reg = <0x6000a000 0x1400>;
Stephen Warren6cecf912013-02-13 12:51:51 -070052 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
53 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
54 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
55 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
56 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
57 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
58 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
59 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
60 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
61 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
62 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
63 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
64 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
65 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
66 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
67 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
68 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
69 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
70 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
71 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
72 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
73 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
74 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
75 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
76 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
77 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
78 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
79 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
80 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
81 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
82 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
83 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +030084 clocks = <&tegra_car TEGRA114_CLK_APBDMA>;
Stephen Warren3393d422013-11-06 14:01:16 -070085 resets = <&tegra_car 34>;
86 reset-names = "dma";
Stephen Warren034d0232013-11-11 13:05:59 -070087 #dma-cells = <1>;
Laxman Dewanganc5d9da42013-03-14 01:19:50 +053088 };
89
Hiroshi Doyu0dfe42e2013-01-15 10:17:27 +020090 ahb: ahb {
91 compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb";
92 reg = <0x6000c004 0x14c>;
93 };
94
Laxman Dewanganb16f9182013-01-29 18:26:18 +053095 gpio: gpio {
96 compatible = "nvidia,tegra114-gpio", "nvidia,tegra30-gpio";
97 reg = <0x6000d000 0x1000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070098 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
99 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
100 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
101 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
102 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
103 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
104 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
105 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb16f9182013-01-29 18:26:18 +0530106 #gpio-cells = <2>;
107 gpio-controller;
108 #interrupt-cells = <2>;
109 interrupt-controller;
110 };
111
Laxman Dewangan031b77a2013-01-29 18:26:20 +0530112 pinmux: pinmux {
113 compatible = "nvidia,tegra114-pinmux";
114 reg = <0x70000868 0x148 /* Pad control registers */
115 0x70003000 0x40c>; /* Mux registers */
116 };
117
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530118 /*
119 * There are two serial driver i.e. 8250 based simple serial
120 * driver and APB DMA based serial driver for higher baudrate
121 * and performace. To enable the 8250 based driver, the compatible
122 * is "nvidia,tegra114-uart", "nvidia,tegra20-uart" and to enable
123 * the APB DMA based serial driver, the comptible is
124 * "nvidia,tegra114-hsuart", "nvidia,tegra30-hsuart".
125 */
126 uarta: serial@70006000 {
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000127 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
128 reg = <0x70006000 0x40>;
129 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700130 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530131 nvidia,dma-request-selector = <&apbdma 8>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300132 clocks = <&tegra_car TEGRA114_CLK_UARTA>;
Stephen Warren3393d422013-11-06 14:01:16 -0700133 resets = <&tegra_car 6>;
134 reset-names = "serial";
Stephen Warren034d0232013-11-11 13:05:59 -0700135 dmas = <&apbdma 8>, <&apbdma 8>;
136 dma-names = "rx", "tx";
Stephen Warren3393d422013-11-06 14:01:16 -0700137 status = "disabled";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000138 };
139
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530140 uartb: serial@70006040 {
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000141 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
142 reg = <0x70006040 0x40>;
143 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700144 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530145 nvidia,dma-request-selector = <&apbdma 9>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300146 clocks = <&tegra_car TEGRA114_CLK_UARTB>;
Stephen Warren3393d422013-11-06 14:01:16 -0700147 resets = <&tegra_car 7>;
148 reset-names = "serial";
Stephen Warren034d0232013-11-11 13:05:59 -0700149 dmas = <&apbdma 9>, <&apbdma 9>;
150 dma-names = "rx", "tx";
Stephen Warren3393d422013-11-06 14:01:16 -0700151 status = "disabled";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000152 };
153
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530154 uartc: serial@70006200 {
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000155 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
156 reg = <0x70006200 0x100>;
157 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700158 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530159 nvidia,dma-request-selector = <&apbdma 10>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300160 clocks = <&tegra_car TEGRA114_CLK_UARTC>;
Stephen Warren3393d422013-11-06 14:01:16 -0700161 resets = <&tegra_car 55>;
162 reset-names = "serial";
Stephen Warren034d0232013-11-11 13:05:59 -0700163 dmas = <&apbdma 10>, <&apbdma 10>;
164 dma-names = "rx", "tx";
Stephen Warren3393d422013-11-06 14:01:16 -0700165 status = "disabled";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000166 };
167
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530168 uartd: serial@70006300 {
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000169 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
170 reg = <0x70006300 0x100>;
171 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700172 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530173 nvidia,dma-request-selector = <&apbdma 19>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300174 clocks = <&tegra_car TEGRA114_CLK_UARTD>;
Stephen Warren3393d422013-11-06 14:01:16 -0700175 resets = <&tegra_car 65>;
176 reset-names = "serial";
Stephen Warren034d0232013-11-11 13:05:59 -0700177 dmas = <&apbdma 19>, <&apbdma 19>;
178 dma-names = "rx", "tx";
Stephen Warren3393d422013-11-06 14:01:16 -0700179 status = "disabled";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000180 };
181
Andrew Chew6c716db2013-03-12 16:40:50 -0700182 pwm: pwm {
183 compatible = "nvidia,tegra114-pwm", "nvidia,tegra20-pwm";
184 reg = <0x7000a000 0x100>;
185 #pwm-cells = <2>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300186 clocks = <&tegra_car TEGRA114_CLK_PWM>;
Stephen Warren3393d422013-11-06 14:01:16 -0700187 resets = <&tegra_car 17>;
188 reset-names = "pwm";
Andrew Chew6c716db2013-03-12 16:40:50 -0700189 status = "disabled";
190 };
191
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530192 i2c@7000c000 {
193 compatible = "nvidia,tegra114-i2c";
194 reg = <0x7000c000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700195 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530196 #address-cells = <1>;
197 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300198 clocks = <&tegra_car TEGRA114_CLK_I2C1>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530199 clock-names = "div-clk";
Stephen Warren3393d422013-11-06 14:01:16 -0700200 resets = <&tegra_car 12>;
201 reset-names = "i2c";
Stephen Warren034d0232013-11-11 13:05:59 -0700202 dmas = <&apbdma 21>, <&apbdma 21>;
203 dma-names = "rx", "tx";
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530204 status = "disabled";
205 };
206
207 i2c@7000c400 {
208 compatible = "nvidia,tegra114-i2c";
209 reg = <0x7000c400 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700210 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530211 #address-cells = <1>;
212 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300213 clocks = <&tegra_car TEGRA114_CLK_I2C2>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530214 clock-names = "div-clk";
Stephen Warren3393d422013-11-06 14:01:16 -0700215 resets = <&tegra_car 54>;
216 reset-names = "i2c";
Stephen Warren034d0232013-11-11 13:05:59 -0700217 dmas = <&apbdma 22>, <&apbdma 22>;
218 dma-names = "rx", "tx";
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530219 status = "disabled";
220 };
221
222 i2c@7000c500 {
223 compatible = "nvidia,tegra114-i2c";
224 reg = <0x7000c500 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700225 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530226 #address-cells = <1>;
227 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300228 clocks = <&tegra_car TEGRA114_CLK_I2C3>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530229 clock-names = "div-clk";
Stephen Warren3393d422013-11-06 14:01:16 -0700230 resets = <&tegra_car 67>;
231 reset-names = "i2c";
Stephen Warren034d0232013-11-11 13:05:59 -0700232 dmas = <&apbdma 23>, <&apbdma 23>;
233 dma-names = "rx", "tx";
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530234 status = "disabled";
235 };
236
237 i2c@7000c700 {
238 compatible = "nvidia,tegra114-i2c";
239 reg = <0x7000c700 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700240 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530241 #address-cells = <1>;
242 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300243 clocks = <&tegra_car TEGRA114_CLK_I2C4>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530244 clock-names = "div-clk";
Stephen Warren3393d422013-11-06 14:01:16 -0700245 resets = <&tegra_car 103>;
246 reset-names = "i2c";
Stephen Warren034d0232013-11-11 13:05:59 -0700247 dmas = <&apbdma 26>, <&apbdma 26>;
248 dma-names = "rx", "tx";
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530249 status = "disabled";
250 };
251
252 i2c@7000d000 {
253 compatible = "nvidia,tegra114-i2c";
254 reg = <0x7000d000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700255 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530256 #address-cells = <1>;
257 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300258 clocks = <&tegra_car TEGRA114_CLK_I2C5>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530259 clock-names = "div-clk";
Stephen Warren3393d422013-11-06 14:01:16 -0700260 resets = <&tegra_car 47>;
261 reset-names = "i2c";
Stephen Warren034d0232013-11-11 13:05:59 -0700262 dmas = <&apbdma 24>, <&apbdma 24>;
263 dma-names = "rx", "tx";
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530264 status = "disabled";
265 };
266
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600267 spi@7000d400 {
268 compatible = "nvidia,tegra114-spi";
269 reg = <0x7000d400 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700270 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600271 nvidia,dma-request-selector = <&apbdma 15>;
272 #address-cells = <1>;
273 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300274 clocks = <&tegra_car TEGRA114_CLK_SBC1>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600275 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700276 resets = <&tegra_car 41>;
277 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700278 dmas = <&apbdma 15>, <&apbdma 15>;
279 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600280 status = "disabled";
281 };
282
283 spi@7000d600 {
284 compatible = "nvidia,tegra114-spi";
285 reg = <0x7000d600 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700286 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600287 nvidia,dma-request-selector = <&apbdma 16>;
288 #address-cells = <1>;
289 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300290 clocks = <&tegra_car TEGRA114_CLK_SBC2>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600291 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700292 resets = <&tegra_car 44>;
293 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700294 dmas = <&apbdma 16>, <&apbdma 16>;
295 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600296 status = "disabled";
297 };
298
299 spi@7000d800 {
300 compatible = "nvidia,tegra114-spi";
301 reg = <0x7000d800 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700302 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600303 nvidia,dma-request-selector = <&apbdma 17>;
304 #address-cells = <1>;
305 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300306 clocks = <&tegra_car TEGRA114_CLK_SBC3>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600307 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700308 resets = <&tegra_car 46>;
309 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700310 dmas = <&apbdma 17>, <&apbdma 17>;
311 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600312 status = "disabled";
313 };
314
315 spi@7000da00 {
316 compatible = "nvidia,tegra114-spi";
317 reg = <0x7000da00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700318 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600319 nvidia,dma-request-selector = <&apbdma 18>;
320 #address-cells = <1>;
321 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300322 clocks = <&tegra_car TEGRA114_CLK_SBC4>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600323 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700324 resets = <&tegra_car 68>;
325 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700326 dmas = <&apbdma 18>, <&apbdma 18>;
327 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600328 status = "disabled";
329 };
330
331 spi@7000dc00 {
332 compatible = "nvidia,tegra114-spi";
333 reg = <0x7000dc00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700334 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600335 nvidia,dma-request-selector = <&apbdma 27>;
336 #address-cells = <1>;
337 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300338 clocks = <&tegra_car TEGRA114_CLK_SBC5>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600339 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700340 resets = <&tegra_car 104>;
341 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700342 dmas = <&apbdma 27>, <&apbdma 27>;
343 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600344 status = "disabled";
345 };
346
347 spi@7000de00 {
348 compatible = "nvidia,tegra114-spi";
349 reg = <0x7000de00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700350 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600351 nvidia,dma-request-selector = <&apbdma 28>;
352 #address-cells = <1>;
353 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300354 clocks = <&tegra_car TEGRA114_CLK_SBC6>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600355 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700356 resets = <&tegra_car 105>;
357 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700358 dmas = <&apbdma 28>, <&apbdma 28>;
359 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600360 status = "disabled";
361 };
362
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000363 rtc {
364 compatible = "nvidia,tegra114-rtc", "nvidia,tegra20-rtc";
365 reg = <0x7000e000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700366 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300367 clocks = <&tegra_car TEGRA114_CLK_RTC>;
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000368 };
369
Laxman Dewangancd467b72013-03-14 01:19:53 +0530370 kbc {
371 compatible = "nvidia,tegra114-kbc";
372 reg = <0x7000e200 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700373 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300374 clocks = <&tegra_car TEGRA114_CLK_KBC>;
Stephen Warren3393d422013-11-06 14:01:16 -0700375 resets = <&tegra_car 36>;
376 reset-names = "kbc";
Laxman Dewangancd467b72013-03-14 01:19:53 +0530377 status = "disabled";
378 };
379
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000380 pmc {
Joseph Lo2b84e532013-02-26 16:27:43 +0000381 compatible = "nvidia,tegra114-pmc";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000382 reg = <0x7000e400 0x400>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300383 clocks = <&tegra_car TEGRA114_CLK_PCLK>, <&clk32k_in>;
Joseph Lo7021d122013-04-03 19:31:27 +0800384 clock-names = "pclk", "clk32k_in";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000385 };
386
Hiroshi Doyu2da13962013-01-15 10:17:28 +0200387 iommu {
388 compatible = "nvidia,tegra114-smmu", "nvidia,tegra30-smmu";
Hiroshi Doyu4cca95932013-10-30 17:17:48 -0600389 reg = <0x70019010 0x02c
390 0x700191f0 0x010
391 0x70019228 0x074>;
Hiroshi Doyu2da13962013-01-15 10:17:28 +0200392 nvidia,#asids = <4>;
393 dma-window = <0 0x40000000>;
394 nvidia,swgroups = <0x18659fe>;
395 nvidia,ahb = <&ahb>;
396 };
397
Stephen Warren15e5c642013-03-12 17:03:30 -0600398 ahub {
399 compatible = "nvidia,tegra114-ahub";
400 reg = <0x70080000 0x200>,
401 <0x70080200 0x100>,
402 <0x70081000 0x200>;
403 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
404 nvidia,dma-request-selector = <&apbdma 1>, <&apbdma 2>,
405 <&apbdma 3>, <&apbdma 4>, <&apbdma 6>, <&apbdma 7>,
406 <&apbdma 12>, <&apbdma 13>, <&apbdma 14>,
407 <&apbdma 29>;
408 clocks = <&tegra_car TEGRA114_CLK_D_AUDIO>,
Stephen Warren2bd541f2013-11-07 10:59:42 -0700409 <&tegra_car TEGRA114_CLK_APBIF>;
410 clock-names = "d_audio", "apbif";
Stephen Warren3393d422013-11-06 14:01:16 -0700411 resets = <&tegra_car 106>, /* d_audio */
412 <&tegra_car 107>, /* apbif */
413 <&tegra_car 30>, /* i2s0 */
414 <&tegra_car 11>, /* i2s1 */
415 <&tegra_car 18>, /* i2s2 */
416 <&tegra_car 101>, /* i2s3 */
417 <&tegra_car 102>, /* i2s4 */
418 <&tegra_car 108>, /* dam0 */
419 <&tegra_car 109>, /* dam1 */
420 <&tegra_car 110>, /* dam2 */
421 <&tegra_car 10>, /* spdif */
422 <&tegra_car 153>, /* amx */
423 <&tegra_car 154>; /* adx */
424 reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
425 "i2s3", "i2s4", "dam0", "dam1", "dam2",
426 "spdif", "amx", "adx";
Stephen Warren034d0232013-11-11 13:05:59 -0700427 dmas = <&apbdma 1>, <&apbdma 1>,
428 <&apbdma 2>, <&apbdma 2>,
429 <&apbdma 3>, <&apbdma 3>,
430 <&apbdma 4>, <&apbdma 4>,
431 <&apbdma 6>, <&apbdma 6>,
432 <&apbdma 7>, <&apbdma 7>,
433 <&apbdma 12>, <&apbdma 12>,
434 <&apbdma 13>, <&apbdma 13>,
435 <&apbdma 14>, <&apbdma 14>,
436 <&apbdma 29>, <&apbdma 29>;
437 dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
438 "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
439 "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
440 "rx9", "tx9";
Stephen Warren15e5c642013-03-12 17:03:30 -0600441 ranges;
442 #address-cells = <1>;
443 #size-cells = <1>;
444
445 tegra_i2s0: i2s@70080300 {
446 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
447 reg = <0x70080300 0x100>;
448 nvidia,ahub-cif-ids = <4 4>;
449 clocks = <&tegra_car TEGRA114_CLK_I2S0>;
Stephen Warren3393d422013-11-06 14:01:16 -0700450 resets = <&tegra_car 30>;
451 reset-names = "i2s";
Stephen Warren15e5c642013-03-12 17:03:30 -0600452 status = "disabled";
453 };
454
455 tegra_i2s1: i2s@70080400 {
456 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
457 reg = <0x70080400 0x100>;
458 nvidia,ahub-cif-ids = <5 5>;
459 clocks = <&tegra_car TEGRA114_CLK_I2S1>;
Stephen Warren3393d422013-11-06 14:01:16 -0700460 resets = <&tegra_car 11>;
461 reset-names = "i2s";
Stephen Warren15e5c642013-03-12 17:03:30 -0600462 status = "disabled";
463 };
464
465 tegra_i2s2: i2s@70080500 {
466 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
467 reg = <0x70080500 0x100>;
468 nvidia,ahub-cif-ids = <6 6>;
469 clocks = <&tegra_car TEGRA114_CLK_I2S2>;
Stephen Warren3393d422013-11-06 14:01:16 -0700470 resets = <&tegra_car 18>;
471 reset-names = "i2s";
Stephen Warren15e5c642013-03-12 17:03:30 -0600472 status = "disabled";
473 };
474
475 tegra_i2s3: i2s@70080600 {
476 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
477 reg = <0x70080600 0x100>;
478 nvidia,ahub-cif-ids = <7 7>;
479 clocks = <&tegra_car TEGRA114_CLK_I2S3>;
Stephen Warren3393d422013-11-06 14:01:16 -0700480 resets = <&tegra_car 101>;
481 reset-names = "i2s";
Stephen Warren15e5c642013-03-12 17:03:30 -0600482 status = "disabled";
483 };
484
485 tegra_i2s4: i2s@70080700 {
486 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
487 reg = <0x70080700 0x100>;
488 nvidia,ahub-cif-ids = <8 8>;
489 clocks = <&tegra_car TEGRA114_CLK_I2S4>;
Stephen Warren3393d422013-11-06 14:01:16 -0700490 resets = <&tegra_car 102>;
491 reset-names = "i2s";
Stephen Warren15e5c642013-03-12 17:03:30 -0600492 status = "disabled";
493 };
494 };
495
Pritesh Raithatha933d87a2013-02-20 13:35:14 -0500496 sdhci@78000000 {
497 compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
498 reg = <0x78000000 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700499 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300500 clocks = <&tegra_car TEGRA114_CLK_SDMMC1>;
Stephen Warren3393d422013-11-06 14:01:16 -0700501 resets = <&tegra_car 14>;
502 reset-names = "sdhci";
Pritesh Raithatha933d87a2013-02-20 13:35:14 -0500503 status = "disable";
504 };
505
506 sdhci@78000200 {
507 compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
508 reg = <0x78000200 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700509 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300510 clocks = <&tegra_car TEGRA114_CLK_SDMMC2>;
Stephen Warren3393d422013-11-06 14:01:16 -0700511 resets = <&tegra_car 9>;
512 reset-names = "sdhci";
Pritesh Raithatha933d87a2013-02-20 13:35:14 -0500513 status = "disable";
514 };
515
516 sdhci@78000400 {
517 compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
518 reg = <0x78000400 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700519 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300520 clocks = <&tegra_car TEGRA114_CLK_SDMMC3>;
Stephen Warren3393d422013-11-06 14:01:16 -0700521 resets = <&tegra_car 69>;
522 reset-names = "sdhci";
Pritesh Raithatha933d87a2013-02-20 13:35:14 -0500523 status = "disable";
524 };
525
526 sdhci@78000600 {
527 compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
528 reg = <0x78000600 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700529 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300530 clocks = <&tegra_car TEGRA114_CLK_SDMMC4>;
Stephen Warren3393d422013-11-06 14:01:16 -0700531 resets = <&tegra_car 15>;
532 reset-names = "sdhci";
Pritesh Raithatha933d87a2013-02-20 13:35:14 -0500533 status = "disable";
534 };
535
Mikko Perttunen328dc0e2013-08-01 18:00:18 +0300536 usb@7d000000 {
537 compatible = "nvidia,tegra30-ehci", "usb-ehci";
538 reg = <0x7d000000 0x4000>;
539 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
540 phy_type = "utmi";
541 clocks = <&tegra_car TEGRA114_CLK_USBD>;
Stephen Warren3393d422013-11-06 14:01:16 -0700542 resets = <&tegra_car 22>;
543 reset-names = "usb";
Mikko Perttunen328dc0e2013-08-01 18:00:18 +0300544 nvidia,phy = <&phy1>;
545 status = "disabled";
546 };
547
548 phy1: usb-phy@7d000000 {
549 compatible = "nvidia,tegra30-usb-phy";
550 reg = <0x7d000000 0x4000 0x7d000000 0x4000>;
551 phy_type = "utmi";
552 clocks = <&tegra_car TEGRA114_CLK_USBD>,
553 <&tegra_car TEGRA114_CLK_PLL_U>,
554 <&tegra_car TEGRA114_CLK_USBD>;
555 clock-names = "reg", "pll_u", "utmi-pads";
556 nvidia,hssync-start-delay = <0>;
557 nvidia,idle-wait-delay = <17>;
558 nvidia,elastic-limit = <16>;
559 nvidia,term-range-adj = <6>;
560 nvidia,xcvr-setup = <9>;
561 nvidia,xcvr-lsfslew = <0>;
562 nvidia,xcvr-lsrslew = <3>;
563 nvidia,hssquelch-level = <2>;
564 nvidia,hsdiscon-level = <5>;
565 nvidia,xcvr-hsslew = <12>;
566 status = "disabled";
567 };
568
569 usb@7d008000 {
570 compatible = "nvidia,tegra30-ehci", "usb-ehci";
571 reg = <0x7d008000 0x4000>;
572 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
573 phy_type = "utmi";
574 clocks = <&tegra_car TEGRA114_CLK_USB3>;
Stephen Warren3393d422013-11-06 14:01:16 -0700575 resets = <&tegra_car 59>;
576 reset-names = "usb";
Mikko Perttunen328dc0e2013-08-01 18:00:18 +0300577 nvidia,phy = <&phy3>;
578 status = "disabled";
579 };
580
581 phy3: usb-phy@7d008000 {
582 compatible = "nvidia,tegra30-usb-phy";
583 reg = <0x7d008000 0x4000 0x7d000000 0x4000>;
584 phy_type = "utmi";
585 clocks = <&tegra_car TEGRA114_CLK_USB3>,
586 <&tegra_car TEGRA114_CLK_PLL_U>,
587 <&tegra_car TEGRA114_CLK_USBD>;
588 clock-names = "reg", "pll_u", "utmi-pads";
589 nvidia,hssync-start-delay = <0>;
590 nvidia,idle-wait-delay = <17>;
591 nvidia,elastic-limit = <16>;
592 nvidia,term-range-adj = <6>;
593 nvidia,xcvr-setup = <9>;
594 nvidia,xcvr-lsfslew = <0>;
595 nvidia,xcvr-lsrslew = <3>;
596 nvidia,hssquelch-level = <2>;
597 nvidia,hsdiscon-level = <5>;
598 nvidia,xcvr-hsslew = <12>;
599 status = "disabled";
600 };
601
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000602 cpus {
603 #address-cells = <1>;
604 #size-cells = <0>;
605
606 cpu@0 {
607 device_type = "cpu";
608 compatible = "arm,cortex-a15";
609 reg = <0>;
610 };
611
612 cpu@1 {
613 device_type = "cpu";
614 compatible = "arm,cortex-a15";
615 reg = <1>;
616 };
617
618 cpu@2 {
619 device_type = "cpu";
620 compatible = "arm,cortex-a15";
621 reg = <2>;
622 };
623
624 cpu@3 {
625 device_type = "cpu";
626 compatible = "arm,cortex-a15";
627 reg = <3>;
628 };
629 };
630
631 timer {
632 compatible = "arm,armv7-timer";
Stephen Warren6cecf912013-02-13 12:51:51 -0700633 interrupts =
634 <GIC_PPI 13
635 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
636 <GIC_PPI 14
637 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
638 <GIC_PPI 11
639 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
640 <GIC_PPI 10
641 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000642 };
643};