blob: 2fd7f907ee4588cc82467c01db8d3d51a40234dd [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>
Laxman Dewangan5fc6b0d2013-12-05 16:14:07 +05303#include <dt-bindings/pinctrl/pinctrl-tegra.h>
Stephen Warren6cecf912013-02-13 12:51:51 -07004#include <dt-bindings/interrupt-controller/arm-gic.h>
Stephen Warren3325f1b2013-02-12 17:25:15 -07005
Stephen Warren1bd0bd42012-10-17 16:38:21 -06006#include "skeleton.dtsi"
Hiroshi Doyu18a4df72013-01-24 01:10:23 +00007
8/ {
9 compatible = "nvidia,tegra114";
10 interrupt-parent = <&gic>;
11
Laxman Dewangan0fb22092013-03-14 01:19:52 +053012 aliases {
13 serial0 = &uarta;
14 serial1 = &uartb;
15 serial2 = &uartc;
16 serial3 = &uartd;
17 };
18
Mikko Perttunen65344b92013-12-19 16:59:28 +010019 host1x@50000000 {
20 compatible = "nvidia,tegra114-host1x", "simple-bus";
21 reg = <0x50000000 0x00028000>;
22 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
23 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
24 clocks = <&tegra_car TEGRA114_CLK_HOST1X>;
25 resets = <&tegra_car 28>;
26 reset-names = "host1x";
27
28 #address-cells = <1>;
29 #size-cells = <1>;
30
31 ranges = <0x54000000 0x54000000 0x01000000>;
32
33 dc@54200000 {
34 compatible = "nvidia,tegra114-dc", "nvidia,tegra20-dc";
35 reg = <0x54200000 0x00040000>;
36 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
37 clocks = <&tegra_car TEGRA114_CLK_DISP1>,
38 <&tegra_car TEGRA114_CLK_PLL_P>;
39 clock-names = "dc", "parent";
40 resets = <&tegra_car 27>;
41 reset-names = "dc";
42
43 rgb {
44 status = "disabled";
45 };
46 };
47
48 dc@54240000 {
49 compatible = "nvidia,tegra114-dc", "nvidia,tegra20-dc";
50 reg = <0x54240000 0x00040000>;
51 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
52 clocks = <&tegra_car TEGRA114_CLK_DISP2>,
53 <&tegra_car TEGRA114_CLK_PLL_P>;
54 clock-names = "dc", "parent";
55 resets = <&tegra_car 26>;
56 reset-names = "dc";
57
58 rgb {
59 status = "disabled";
60 };
61 };
62
63 hdmi@54280000 {
64 compatible = "nvidia,tegra114-hdmi";
65 reg = <0x54280000 0x00040000>;
66 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
67 clocks = <&tegra_car TEGRA114_CLK_HDMI>,
68 <&tegra_car TEGRA114_CLK_PLL_D2_OUT0>;
69 clock-names = "hdmi", "parent";
70 resets = <&tegra_car 51>;
71 reset-names = "hdmi";
72 status = "disabled";
73 };
74 };
75
Stephen Warren58ecb232013-11-25 17:53:16 -070076 gic: interrupt-controller@50041000 {
Hiroshi Doyu18a4df72013-01-24 01:10:23 +000077 compatible = "arm,cortex-a15-gic";
78 #interrupt-cells = <3>;
79 interrupt-controller;
80 reg = <0x50041000 0x1000>,
81 <0x50042000 0x1000>,
82 <0x50044000 0x2000>,
83 <0x50046000 0x2000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070084 interrupts = <GIC_PPI 9
85 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
Hiroshi Doyu18a4df72013-01-24 01:10:23 +000086 };
87
88 timer@60005000 {
89 compatible = "nvidia,tegra114-timer", "nvidia,tegra20-timer";
90 reg = <0x60005000 0x400>;
Stephen Warren6cecf912013-02-13 12:51:51 -070091 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
92 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
93 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
94 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
95 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
96 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +030097 clocks = <&tegra_car TEGRA114_CLK_TIMER>;
Hiroshi Doyu18a4df72013-01-24 01:10:23 +000098 };
99
Stephen Warren58ecb232013-11-25 17:53:16 -0700100 tegra_car: clock@60006000 {
Peter De Schrijver672d8892013-04-03 17:40:48 +0300101 compatible = "nvidia,tegra114-car";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000102 reg = <0x60006000 0x1000>;
103 #clock-cells = <1>;
Stephen Warren3393d422013-11-06 14:01:16 -0700104 #reset-cells = <1>;
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000105 };
106
Stephen Warren58ecb232013-11-25 17:53:16 -0700107 apbdma: dma@6000a000 {
Laxman Dewanganc5d9da42013-03-14 01:19:50 +0530108 compatible = "nvidia,tegra114-apbdma";
109 reg = <0x6000a000 0x1400>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700110 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
111 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
112 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
113 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
114 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
115 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
116 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
117 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
118 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
119 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
120 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
121 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
122 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
123 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
124 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
125 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
126 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
127 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
128 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
129 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
130 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
131 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
132 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
133 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
134 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
135 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
136 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
137 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
138 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
139 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
140 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
141 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300142 clocks = <&tegra_car TEGRA114_CLK_APBDMA>;
Stephen Warren3393d422013-11-06 14:01:16 -0700143 resets = <&tegra_car 34>;
144 reset-names = "dma";
Stephen Warren034d0232013-11-11 13:05:59 -0700145 #dma-cells = <1>;
Laxman Dewanganc5d9da42013-03-14 01:19:50 +0530146 };
147
Stephen Warren58ecb232013-11-25 17:53:16 -0700148 ahb: ahb@6000c004 {
Hiroshi Doyu0dfe42e2013-01-15 10:17:27 +0200149 compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb";
150 reg = <0x6000c004 0x14c>;
151 };
152
Stephen Warren58ecb232013-11-25 17:53:16 -0700153 gpio: gpio@6000d000 {
Laxman Dewanganb16f9182013-01-29 18:26:18 +0530154 compatible = "nvidia,tegra114-gpio", "nvidia,tegra30-gpio";
155 reg = <0x6000d000 0x1000>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700156 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
157 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
158 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
159 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
160 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
161 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
162 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
163 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb16f9182013-01-29 18:26:18 +0530164 #gpio-cells = <2>;
165 gpio-controller;
166 #interrupt-cells = <2>;
167 interrupt-controller;
168 };
169
Stephen Warren58ecb232013-11-25 17:53:16 -0700170 pinmux: pinmux@70000868 {
Laxman Dewangan031b77a2013-01-29 18:26:20 +0530171 compatible = "nvidia,tegra114-pinmux";
172 reg = <0x70000868 0x148 /* Pad control registers */
173 0x70003000 0x40c>; /* Mux registers */
174 };
175
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530176 /*
177 * There are two serial driver i.e. 8250 based simple serial
178 * driver and APB DMA based serial driver for higher baudrate
179 * and performace. To enable the 8250 based driver, the compatible
180 * is "nvidia,tegra114-uart", "nvidia,tegra20-uart" and to enable
181 * the APB DMA based serial driver, the comptible is
182 * "nvidia,tegra114-hsuart", "nvidia,tegra30-hsuart".
183 */
184 uarta: serial@70006000 {
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000185 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
186 reg = <0x70006000 0x40>;
187 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700188 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300189 clocks = <&tegra_car TEGRA114_CLK_UARTA>;
Stephen Warren3393d422013-11-06 14:01:16 -0700190 resets = <&tegra_car 6>;
191 reset-names = "serial";
Stephen Warren034d0232013-11-11 13:05:59 -0700192 dmas = <&apbdma 8>, <&apbdma 8>;
193 dma-names = "rx", "tx";
Stephen Warren3393d422013-11-06 14:01:16 -0700194 status = "disabled";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000195 };
196
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530197 uartb: serial@70006040 {
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000198 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
199 reg = <0x70006040 0x40>;
200 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700201 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300202 clocks = <&tegra_car TEGRA114_CLK_UARTB>;
Stephen Warren3393d422013-11-06 14:01:16 -0700203 resets = <&tegra_car 7>;
204 reset-names = "serial";
Stephen Warren034d0232013-11-11 13:05:59 -0700205 dmas = <&apbdma 9>, <&apbdma 9>;
206 dma-names = "rx", "tx";
Stephen Warren3393d422013-11-06 14:01:16 -0700207 status = "disabled";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000208 };
209
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530210 uartc: serial@70006200 {
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000211 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
212 reg = <0x70006200 0x100>;
213 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700214 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300215 clocks = <&tegra_car TEGRA114_CLK_UARTC>;
Stephen Warren3393d422013-11-06 14:01:16 -0700216 resets = <&tegra_car 55>;
217 reset-names = "serial";
Stephen Warren034d0232013-11-11 13:05:59 -0700218 dmas = <&apbdma 10>, <&apbdma 10>;
219 dma-names = "rx", "tx";
Stephen Warren3393d422013-11-06 14:01:16 -0700220 status = "disabled";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000221 };
222
Laxman Dewangan0fb22092013-03-14 01:19:52 +0530223 uartd: serial@70006300 {
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000224 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
225 reg = <0x70006300 0x100>;
226 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700227 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300228 clocks = <&tegra_car TEGRA114_CLK_UARTD>;
Stephen Warren3393d422013-11-06 14:01:16 -0700229 resets = <&tegra_car 65>;
230 reset-names = "serial";
Stephen Warren034d0232013-11-11 13:05:59 -0700231 dmas = <&apbdma 19>, <&apbdma 19>;
232 dma-names = "rx", "tx";
Stephen Warren3393d422013-11-06 14:01:16 -0700233 status = "disabled";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000234 };
235
Stephen Warren58ecb232013-11-25 17:53:16 -0700236 pwm: pwm@7000a000 {
Andrew Chew6c716db2013-03-12 16:40:50 -0700237 compatible = "nvidia,tegra114-pwm", "nvidia,tegra20-pwm";
238 reg = <0x7000a000 0x100>;
239 #pwm-cells = <2>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300240 clocks = <&tegra_car TEGRA114_CLK_PWM>;
Stephen Warren3393d422013-11-06 14:01:16 -0700241 resets = <&tegra_car 17>;
242 reset-names = "pwm";
Andrew Chew6c716db2013-03-12 16:40:50 -0700243 status = "disabled";
244 };
245
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530246 i2c@7000c000 {
247 compatible = "nvidia,tegra114-i2c";
248 reg = <0x7000c000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700249 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530250 #address-cells = <1>;
251 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300252 clocks = <&tegra_car TEGRA114_CLK_I2C1>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530253 clock-names = "div-clk";
Stephen Warren3393d422013-11-06 14:01:16 -0700254 resets = <&tegra_car 12>;
255 reset-names = "i2c";
Stephen Warren034d0232013-11-11 13:05:59 -0700256 dmas = <&apbdma 21>, <&apbdma 21>;
257 dma-names = "rx", "tx";
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530258 status = "disabled";
259 };
260
261 i2c@7000c400 {
262 compatible = "nvidia,tegra114-i2c";
263 reg = <0x7000c400 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700264 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530265 #address-cells = <1>;
266 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300267 clocks = <&tegra_car TEGRA114_CLK_I2C2>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530268 clock-names = "div-clk";
Stephen Warren3393d422013-11-06 14:01:16 -0700269 resets = <&tegra_car 54>;
270 reset-names = "i2c";
Stephen Warren034d0232013-11-11 13:05:59 -0700271 dmas = <&apbdma 22>, <&apbdma 22>;
272 dma-names = "rx", "tx";
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530273 status = "disabled";
274 };
275
276 i2c@7000c500 {
277 compatible = "nvidia,tegra114-i2c";
278 reg = <0x7000c500 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700279 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530280 #address-cells = <1>;
281 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300282 clocks = <&tegra_car TEGRA114_CLK_I2C3>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530283 clock-names = "div-clk";
Stephen Warren3393d422013-11-06 14:01:16 -0700284 resets = <&tegra_car 67>;
285 reset-names = "i2c";
Stephen Warren034d0232013-11-11 13:05:59 -0700286 dmas = <&apbdma 23>, <&apbdma 23>;
287 dma-names = "rx", "tx";
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530288 status = "disabled";
289 };
290
291 i2c@7000c700 {
292 compatible = "nvidia,tegra114-i2c";
293 reg = <0x7000c700 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700294 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530295 #address-cells = <1>;
296 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300297 clocks = <&tegra_car TEGRA114_CLK_I2C4>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530298 clock-names = "div-clk";
Stephen Warren3393d422013-11-06 14:01:16 -0700299 resets = <&tegra_car 103>;
300 reset-names = "i2c";
Stephen Warren034d0232013-11-11 13:05:59 -0700301 dmas = <&apbdma 26>, <&apbdma 26>;
302 dma-names = "rx", "tx";
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530303 status = "disabled";
304 };
305
306 i2c@7000d000 {
307 compatible = "nvidia,tegra114-i2c";
308 reg = <0x7000d000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700309 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530310 #address-cells = <1>;
311 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300312 clocks = <&tegra_car TEGRA114_CLK_I2C5>;
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530313 clock-names = "div-clk";
Stephen Warren3393d422013-11-06 14:01:16 -0700314 resets = <&tegra_car 47>;
315 reset-names = "i2c";
Stephen Warren034d0232013-11-11 13:05:59 -0700316 dmas = <&apbdma 24>, <&apbdma 24>;
317 dma-names = "rx", "tx";
Laxman Dewangan3fc2f942013-03-14 01:19:51 +0530318 status = "disabled";
319 };
320
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600321 spi@7000d400 {
322 compatible = "nvidia,tegra114-spi";
323 reg = <0x7000d400 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700324 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600325 #address-cells = <1>;
326 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300327 clocks = <&tegra_car TEGRA114_CLK_SBC1>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600328 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700329 resets = <&tegra_car 41>;
330 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700331 dmas = <&apbdma 15>, <&apbdma 15>;
332 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600333 status = "disabled";
334 };
335
336 spi@7000d600 {
337 compatible = "nvidia,tegra114-spi";
338 reg = <0x7000d600 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700339 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600340 #address-cells = <1>;
341 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300342 clocks = <&tegra_car TEGRA114_CLK_SBC2>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600343 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700344 resets = <&tegra_car 44>;
345 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700346 dmas = <&apbdma 16>, <&apbdma 16>;
347 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600348 status = "disabled";
349 };
350
351 spi@7000d800 {
352 compatible = "nvidia,tegra114-spi";
353 reg = <0x7000d800 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700354 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600355 #address-cells = <1>;
356 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300357 clocks = <&tegra_car TEGRA114_CLK_SBC3>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600358 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700359 resets = <&tegra_car 46>;
360 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700361 dmas = <&apbdma 17>, <&apbdma 17>;
362 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600363 status = "disabled";
364 };
365
366 spi@7000da00 {
367 compatible = "nvidia,tegra114-spi";
368 reg = <0x7000da00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700369 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600370 #address-cells = <1>;
371 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300372 clocks = <&tegra_car TEGRA114_CLK_SBC4>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600373 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700374 resets = <&tegra_car 68>;
375 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700376 dmas = <&apbdma 18>, <&apbdma 18>;
377 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600378 status = "disabled";
379 };
380
381 spi@7000dc00 {
382 compatible = "nvidia,tegra114-spi";
383 reg = <0x7000dc00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700384 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600385 #address-cells = <1>;
386 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300387 clocks = <&tegra_car TEGRA114_CLK_SBC5>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600388 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700389 resets = <&tegra_car 104>;
390 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700391 dmas = <&apbdma 27>, <&apbdma 27>;
392 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600393 status = "disabled";
394 };
395
396 spi@7000de00 {
397 compatible = "nvidia,tegra114-spi";
398 reg = <0x7000de00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700399 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600400 #address-cells = <1>;
401 #size-cells = <0>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300402 clocks = <&tegra_car TEGRA114_CLK_SBC6>;
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600403 clock-names = "spi";
Stephen Warren3393d422013-11-06 14:01:16 -0700404 resets = <&tegra_car 105>;
405 reset-names = "spi";
Stephen Warren034d0232013-11-11 13:05:59 -0700406 dmas = <&apbdma 28>, <&apbdma 28>;
407 dma-names = "rx", "tx";
Laxman Dewangan6ea02972013-03-15 12:37:25 -0600408 status = "disabled";
409 };
410
Stephen Warren58ecb232013-11-25 17:53:16 -0700411 rtc@7000e000 {
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000412 compatible = "nvidia,tegra114-rtc", "nvidia,tegra20-rtc";
413 reg = <0x7000e000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700414 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300415 clocks = <&tegra_car TEGRA114_CLK_RTC>;
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000416 };
417
Stephen Warren58ecb232013-11-25 17:53:16 -0700418 kbc@7000e200 {
Laxman Dewangancd467b72013-03-14 01:19:53 +0530419 compatible = "nvidia,tegra114-kbc";
420 reg = <0x7000e200 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700421 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300422 clocks = <&tegra_car TEGRA114_CLK_KBC>;
Stephen Warren3393d422013-11-06 14:01:16 -0700423 resets = <&tegra_car 36>;
424 reset-names = "kbc";
Laxman Dewangancd467b72013-03-14 01:19:53 +0530425 status = "disabled";
426 };
427
Stephen Warren58ecb232013-11-25 17:53:16 -0700428 pmc@7000e400 {
Joseph Lo2b84e532013-02-26 16:27:43 +0000429 compatible = "nvidia,tegra114-pmc";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000430 reg = <0x7000e400 0x400>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300431 clocks = <&tegra_car TEGRA114_CLK_PCLK>, <&clk32k_in>;
Joseph Lo7021d122013-04-03 19:31:27 +0800432 clock-names = "pclk", "clk32k_in";
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000433 };
434
Stephen Warren58ecb232013-11-25 17:53:16 -0700435 iommu@70019010 {
Hiroshi Doyu2da13962013-01-15 10:17:28 +0200436 compatible = "nvidia,tegra114-smmu", "nvidia,tegra30-smmu";
Hiroshi Doyu4cca95932013-10-30 17:17:48 -0600437 reg = <0x70019010 0x02c
438 0x700191f0 0x010
439 0x70019228 0x074>;
Hiroshi Doyu2da13962013-01-15 10:17:28 +0200440 nvidia,#asids = <4>;
441 dma-window = <0 0x40000000>;
442 nvidia,swgroups = <0x18659fe>;
443 nvidia,ahb = <&ahb>;
444 };
445
Stephen Warren58ecb232013-11-25 17:53:16 -0700446 ahub@70080000 {
Stephen Warren15e5c642013-03-12 17:03:30 -0600447 compatible = "nvidia,tegra114-ahub";
448 reg = <0x70080000 0x200>,
449 <0x70080200 0x100>,
450 <0x70081000 0x200>;
451 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren15e5c642013-03-12 17:03:30 -0600452 clocks = <&tegra_car TEGRA114_CLK_D_AUDIO>,
Stephen Warren2bd541f2013-11-07 10:59:42 -0700453 <&tegra_car TEGRA114_CLK_APBIF>;
454 clock-names = "d_audio", "apbif";
Stephen Warren3393d422013-11-06 14:01:16 -0700455 resets = <&tegra_car 106>, /* d_audio */
456 <&tegra_car 107>, /* apbif */
457 <&tegra_car 30>, /* i2s0 */
458 <&tegra_car 11>, /* i2s1 */
459 <&tegra_car 18>, /* i2s2 */
460 <&tegra_car 101>, /* i2s3 */
461 <&tegra_car 102>, /* i2s4 */
462 <&tegra_car 108>, /* dam0 */
463 <&tegra_car 109>, /* dam1 */
464 <&tegra_car 110>, /* dam2 */
465 <&tegra_car 10>, /* spdif */
466 <&tegra_car 153>, /* amx */
467 <&tegra_car 154>; /* adx */
468 reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
469 "i2s3", "i2s4", "dam0", "dam1", "dam2",
470 "spdif", "amx", "adx";
Stephen Warren034d0232013-11-11 13:05:59 -0700471 dmas = <&apbdma 1>, <&apbdma 1>,
472 <&apbdma 2>, <&apbdma 2>,
473 <&apbdma 3>, <&apbdma 3>,
474 <&apbdma 4>, <&apbdma 4>,
475 <&apbdma 6>, <&apbdma 6>,
476 <&apbdma 7>, <&apbdma 7>,
477 <&apbdma 12>, <&apbdma 12>,
478 <&apbdma 13>, <&apbdma 13>,
479 <&apbdma 14>, <&apbdma 14>,
480 <&apbdma 29>, <&apbdma 29>;
481 dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
482 "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
483 "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
484 "rx9", "tx9";
Stephen Warren15e5c642013-03-12 17:03:30 -0600485 ranges;
486 #address-cells = <1>;
487 #size-cells = <1>;
488
489 tegra_i2s0: i2s@70080300 {
490 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
491 reg = <0x70080300 0x100>;
492 nvidia,ahub-cif-ids = <4 4>;
493 clocks = <&tegra_car TEGRA114_CLK_I2S0>;
Stephen Warren3393d422013-11-06 14:01:16 -0700494 resets = <&tegra_car 30>;
495 reset-names = "i2s";
Stephen Warren15e5c642013-03-12 17:03:30 -0600496 status = "disabled";
497 };
498
499 tegra_i2s1: i2s@70080400 {
500 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
501 reg = <0x70080400 0x100>;
502 nvidia,ahub-cif-ids = <5 5>;
503 clocks = <&tegra_car TEGRA114_CLK_I2S1>;
Stephen Warren3393d422013-11-06 14:01:16 -0700504 resets = <&tegra_car 11>;
505 reset-names = "i2s";
Stephen Warren15e5c642013-03-12 17:03:30 -0600506 status = "disabled";
507 };
508
509 tegra_i2s2: i2s@70080500 {
510 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
511 reg = <0x70080500 0x100>;
512 nvidia,ahub-cif-ids = <6 6>;
513 clocks = <&tegra_car TEGRA114_CLK_I2S2>;
Stephen Warren3393d422013-11-06 14:01:16 -0700514 resets = <&tegra_car 18>;
515 reset-names = "i2s";
Stephen Warren15e5c642013-03-12 17:03:30 -0600516 status = "disabled";
517 };
518
519 tegra_i2s3: i2s@70080600 {
520 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
521 reg = <0x70080600 0x100>;
522 nvidia,ahub-cif-ids = <7 7>;
523 clocks = <&tegra_car TEGRA114_CLK_I2S3>;
Stephen Warren3393d422013-11-06 14:01:16 -0700524 resets = <&tegra_car 101>;
525 reset-names = "i2s";
Stephen Warren15e5c642013-03-12 17:03:30 -0600526 status = "disabled";
527 };
528
529 tegra_i2s4: i2s@70080700 {
530 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
531 reg = <0x70080700 0x100>;
532 nvidia,ahub-cif-ids = <8 8>;
533 clocks = <&tegra_car TEGRA114_CLK_I2S4>;
Stephen Warren3393d422013-11-06 14:01:16 -0700534 resets = <&tegra_car 102>;
535 reset-names = "i2s";
Stephen Warren15e5c642013-03-12 17:03:30 -0600536 status = "disabled";
537 };
538 };
539
Thierry Redinge3d04d12013-12-19 16:59:27 +0100540 mipi: mipi@700e3000 {
541 compatible = "nvidia,tegra114-mipi";
542 reg = <0x700e3000 0x100>;
543 clocks = <&tegra_car TEGRA114_CLK_MIPI_CAL>;
544 #nvidia,mipi-calibrate-cells = <1>;
545 };
546
Pritesh Raithatha933d87a2013-02-20 13:35:14 -0500547 sdhci@78000000 {
548 compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
549 reg = <0x78000000 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700550 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300551 clocks = <&tegra_car TEGRA114_CLK_SDMMC1>;
Stephen Warren3393d422013-11-06 14:01:16 -0700552 resets = <&tegra_car 14>;
553 reset-names = "sdhci";
Pritesh Raithatha933d87a2013-02-20 13:35:14 -0500554 status = "disable";
555 };
556
557 sdhci@78000200 {
558 compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
559 reg = <0x78000200 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700560 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300561 clocks = <&tegra_car TEGRA114_CLK_SDMMC2>;
Stephen Warren3393d422013-11-06 14:01:16 -0700562 resets = <&tegra_car 9>;
563 reset-names = "sdhci";
Pritesh Raithatha933d87a2013-02-20 13:35:14 -0500564 status = "disable";
565 };
566
567 sdhci@78000400 {
568 compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
569 reg = <0x78000400 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700570 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300571 clocks = <&tegra_car TEGRA114_CLK_SDMMC3>;
Stephen Warren3393d422013-11-06 14:01:16 -0700572 resets = <&tegra_car 69>;
573 reset-names = "sdhci";
Pritesh Raithatha933d87a2013-02-20 13:35:14 -0500574 status = "disable";
575 };
576
577 sdhci@78000600 {
578 compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
579 reg = <0x78000600 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700580 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyua1c85862013-05-22 19:45:36 +0300581 clocks = <&tegra_car TEGRA114_CLK_SDMMC4>;
Stephen Warren3393d422013-11-06 14:01:16 -0700582 resets = <&tegra_car 15>;
583 reset-names = "sdhci";
Pritesh Raithatha933d87a2013-02-20 13:35:14 -0500584 status = "disable";
585 };
586
Mikko Perttunen328dc0e2013-08-01 18:00:18 +0300587 usb@7d000000 {
588 compatible = "nvidia,tegra30-ehci", "usb-ehci";
589 reg = <0x7d000000 0x4000>;
590 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
591 phy_type = "utmi";
592 clocks = <&tegra_car TEGRA114_CLK_USBD>;
Stephen Warren3393d422013-11-06 14:01:16 -0700593 resets = <&tegra_car 22>;
594 reset-names = "usb";
Mikko Perttunen328dc0e2013-08-01 18:00:18 +0300595 nvidia,phy = <&phy1>;
596 status = "disabled";
597 };
598
599 phy1: usb-phy@7d000000 {
600 compatible = "nvidia,tegra30-usb-phy";
601 reg = <0x7d000000 0x4000 0x7d000000 0x4000>;
602 phy_type = "utmi";
603 clocks = <&tegra_car TEGRA114_CLK_USBD>,
604 <&tegra_car TEGRA114_CLK_PLL_U>,
605 <&tegra_car TEGRA114_CLK_USBD>;
606 clock-names = "reg", "pll_u", "utmi-pads";
607 nvidia,hssync-start-delay = <0>;
608 nvidia,idle-wait-delay = <17>;
609 nvidia,elastic-limit = <16>;
610 nvidia,term-range-adj = <6>;
611 nvidia,xcvr-setup = <9>;
612 nvidia,xcvr-lsfslew = <0>;
613 nvidia,xcvr-lsrslew = <3>;
614 nvidia,hssquelch-level = <2>;
615 nvidia,hsdiscon-level = <5>;
616 nvidia,xcvr-hsslew = <12>;
617 status = "disabled";
618 };
619
620 usb@7d008000 {
621 compatible = "nvidia,tegra30-ehci", "usb-ehci";
622 reg = <0x7d008000 0x4000>;
623 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
624 phy_type = "utmi";
625 clocks = <&tegra_car TEGRA114_CLK_USB3>;
Stephen Warren3393d422013-11-06 14:01:16 -0700626 resets = <&tegra_car 59>;
627 reset-names = "usb";
Mikko Perttunen328dc0e2013-08-01 18:00:18 +0300628 nvidia,phy = <&phy3>;
629 status = "disabled";
630 };
631
632 phy3: usb-phy@7d008000 {
633 compatible = "nvidia,tegra30-usb-phy";
634 reg = <0x7d008000 0x4000 0x7d000000 0x4000>;
635 phy_type = "utmi";
636 clocks = <&tegra_car TEGRA114_CLK_USB3>,
637 <&tegra_car TEGRA114_CLK_PLL_U>,
638 <&tegra_car TEGRA114_CLK_USBD>;
639 clock-names = "reg", "pll_u", "utmi-pads";
640 nvidia,hssync-start-delay = <0>;
641 nvidia,idle-wait-delay = <17>;
642 nvidia,elastic-limit = <16>;
643 nvidia,term-range-adj = <6>;
644 nvidia,xcvr-setup = <9>;
645 nvidia,xcvr-lsfslew = <0>;
646 nvidia,xcvr-lsrslew = <3>;
647 nvidia,hssquelch-level = <2>;
648 nvidia,hsdiscon-level = <5>;
649 nvidia,xcvr-hsslew = <12>;
650 status = "disabled";
651 };
652
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000653 cpus {
654 #address-cells = <1>;
655 #size-cells = <0>;
656
657 cpu@0 {
658 device_type = "cpu";
659 compatible = "arm,cortex-a15";
660 reg = <0>;
661 };
662
663 cpu@1 {
664 device_type = "cpu";
665 compatible = "arm,cortex-a15";
666 reg = <1>;
667 };
668
669 cpu@2 {
670 device_type = "cpu";
671 compatible = "arm,cortex-a15";
672 reg = <2>;
673 };
674
675 cpu@3 {
676 device_type = "cpu";
677 compatible = "arm,cortex-a15";
678 reg = <3>;
679 };
680 };
681
682 timer {
683 compatible = "arm,armv7-timer";
Stephen Warren6cecf912013-02-13 12:51:51 -0700684 interrupts =
685 <GIC_PPI 13
686 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
687 <GIC_PPI 14
688 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
689 <GIC_PPI 11
690 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
691 <GIC_PPI 10
692 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
Hiroshi Doyu18a4df72013-01-24 01:10:23 +0000693 };
694};