blob: d8783f0fae6354bd13a7939a7821d15bb830d054 [file] [log] [blame]
Hiroshi Doyu05849c92013-05-22 19:45:34 +03001#include <dt-bindings/clock/tegra30-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"
Peter De Schrijverc3e00a02011-12-14 17:03:13 +02006
7/ {
8 compatible = "nvidia,tegra30";
9 interrupt-parent = <&intc>;
10
Laxman Dewanganb6551bb2012-12-19 12:01:11 +053011 aliases {
12 serial0 = &uarta;
13 serial1 = &uartb;
14 serial2 = &uartc;
15 serial3 = &uartd;
16 serial4 = &uarte;
17 };
18
Thierry Redinged390972012-11-15 22:07:57 +010019 host1x {
20 compatible = "nvidia,tegra30-host1x", "simple-bus";
21 reg = <0x50000000 0x00024000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070022 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
23 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
Hiroshi Doyu05849c92013-05-22 19:45:34 +030024 clocks = <&tegra_car TEGRA30_CLK_HOST1X>;
Thierry Redinged390972012-11-15 22:07:57 +010025
26 #address-cells = <1>;
27 #size-cells = <1>;
28
29 ranges = <0x54000000 0x54000000 0x04000000>;
30
31 mpe {
32 compatible = "nvidia,tegra30-mpe";
33 reg = <0x54040000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070034 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +030035 clocks = <&tegra_car TEGRA30_CLK_MPE>;
Thierry Redinged390972012-11-15 22:07:57 +010036 };
37
38 vi {
39 compatible = "nvidia,tegra30-vi";
40 reg = <0x54080000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070041 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +030042 clocks = <&tegra_car TEGRA30_CLK_VI>;
Thierry Redinged390972012-11-15 22:07:57 +010043 };
44
45 epp {
46 compatible = "nvidia,tegra30-epp";
47 reg = <0x540c0000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070048 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +030049 clocks = <&tegra_car TEGRA30_CLK_EPP>;
Thierry Redinged390972012-11-15 22:07:57 +010050 };
51
52 isp {
53 compatible = "nvidia,tegra30-isp";
54 reg = <0x54100000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070055 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +030056 clocks = <&tegra_car TEGRA30_CLK_ISP>;
Thierry Redinged390972012-11-15 22:07:57 +010057 };
58
59 gr2d {
60 compatible = "nvidia,tegra30-gr2d";
61 reg = <0x54140000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070062 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +030063 clocks = <&tegra_car TEGRA30_CLK_GR2D>;
Thierry Redinged390972012-11-15 22:07:57 +010064 };
65
66 gr3d {
67 compatible = "nvidia,tegra30-gr3d";
68 reg = <0x54180000 0x00040000>;
Prashant Gaikwad1cbc7332013-01-11 13:31:22 +053069 clocks = <&tegra_car 24 &tegra_car 98>;
70 clock-names = "3d", "3d2";
Thierry Redinged390972012-11-15 22:07:57 +010071 };
72
73 dc@54200000 {
74 compatible = "nvidia,tegra30-dc";
75 reg = <0x54200000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070076 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +030077 clocks = <&tegra_car TEGRA30_CLK_DISP1>,
78 <&tegra_car TEGRA30_CLK_PLL_P>;
Prashant Gaikwad1cbc7332013-01-11 13:31:22 +053079 clock-names = "disp1", "parent";
Thierry Redinged390972012-11-15 22:07:57 +010080
81 rgb {
82 status = "disabled";
83 };
84 };
85
86 dc@54240000 {
87 compatible = "nvidia,tegra30-dc";
88 reg = <0x54240000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070089 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +030090 clocks = <&tegra_car TEGRA30_CLK_DISP2>,
91 <&tegra_car TEGRA30_CLK_PLL_P>;
Prashant Gaikwad1cbc7332013-01-11 13:31:22 +053092 clock-names = "disp2", "parent";
Thierry Redinged390972012-11-15 22:07:57 +010093
94 rgb {
95 status = "disabled";
96 };
97 };
98
99 hdmi {
100 compatible = "nvidia,tegra30-hdmi";
101 reg = <0x54280000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700102 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300103 clocks = <&tegra_car TEGRA30_CLK_HDMI>,
104 <&tegra_car TEGRA30_CLK_PLL_D2_OUT0>;
Prashant Gaikwad1cbc7332013-01-11 13:31:22 +0530105 clock-names = "hdmi", "parent";
Thierry Redinged390972012-11-15 22:07:57 +0100106 status = "disabled";
107 };
108
109 tvo {
110 compatible = "nvidia,tegra30-tvo";
111 reg = <0x542c0000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700112 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300113 clocks = <&tegra_car TEGRA30_CLK_TVO>;
Thierry Redinged390972012-11-15 22:07:57 +0100114 status = "disabled";
115 };
116
117 dsi {
118 compatible = "nvidia,tegra30-dsi";
119 reg = <0x54300000 0x00040000>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300120 clocks = <&tegra_car TEGRA30_CLK_DSIA>;
Thierry Redinged390972012-11-15 22:07:57 +0100121 status = "disabled";
122 };
123 };
124
Stephen Warren73368ba2012-09-19 14:17:24 -0600125 timer@50004600 {
126 compatible = "arm,cortex-a9-twd-timer";
127 reg = <0x50040600 0x20>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700128 interrupts = <GIC_PPI 13
129 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300130 clocks = <&tegra_car TEGRA30_CLK_TWD>;
Stephen Warren73368ba2012-09-19 14:17:24 -0600131 };
132
Stephen Warrenf9eb26a2012-05-11 16:17:47 -0600133 intc: interrupt-controller {
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200134 compatible = "arm,cortex-a9-gic";
Stephen Warren5ff48882012-05-11 16:26:03 -0600135 reg = <0x50041000 0x1000
136 0x50040100 0x0100>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600137 interrupt-controller;
138 #interrupt-cells = <3>;
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200139 };
140
Stephen Warrenbb2c1de2013-01-14 10:09:16 -0700141 cache-controller {
142 compatible = "arm,pl310-cache";
143 reg = <0x50043000 0x1000>;
144 arm,data-latency = <6 6 2>;
145 arm,tag-latency = <5 5 2>;
146 cache-unified;
147 cache-level = <2>;
148 };
149
Stephen Warren2f2b7fb2012-09-19 12:02:31 -0600150 timer@60005000 {
151 compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
152 reg = <0x60005000 0x400>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700153 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
154 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
155 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
156 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
157 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
158 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300159 clocks = <&tegra_car TEGRA30_CLK_TIMER>;
Stephen Warren2f2b7fb2012-09-19 12:02:31 -0600160 };
161
Prashant Gaikwad95985662013-01-11 13:16:23 +0530162 tegra_car: clock {
163 compatible = "nvidia,tegra30-car";
164 reg = <0x60006000 0x1000>;
165 #clock-cells = <1>;
166 };
167
Stephen Warrenf9eb26a2012-05-11 16:17:47 -0600168 apbdma: dma {
Stephen Warren8051b752012-01-11 16:09:54 -0700169 compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma";
170 reg = <0x6000a000 0x1400>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700171 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
172 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
173 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
174 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
175 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
176 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
177 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
178 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
179 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
180 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
181 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
182 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
183 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
184 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
185 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
186 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
187 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
188 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
189 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
190 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
191 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
192 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
193 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
194 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
195 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
196 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
197 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
198 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
199 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
200 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
201 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
202 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300203 clocks = <&tegra_car TEGRA30_CLK_APBDMA>;
Stephen Warren8051b752012-01-11 16:09:54 -0700204 };
205
Stephen Warrenc04abb32012-05-11 17:03:26 -0600206 ahb: ahb {
207 compatible = "nvidia,tegra30-ahb";
208 reg = <0x6000c004 0x14c>; /* AHB Arbitration + Gizmo Controller */
209 };
210
211 gpio: gpio {
Laxman Dewangan35f210e2012-12-19 20:27:12 +0530212 compatible = "nvidia,tegra30-gpio";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600213 reg = <0x6000d000 0x1000>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700214 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
215 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
216 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
217 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
218 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
219 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
220 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
221 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warrenc04abb32012-05-11 17:03:26 -0600222 #gpio-cells = <2>;
223 gpio-controller;
224 #interrupt-cells = <2>;
225 interrupt-controller;
226 };
227
228 pinmux: pinmux {
229 compatible = "nvidia,tegra30-pinmux";
Pritesh Raithatha322337b2012-10-30 15:37:09 +0530230 reg = <0x70000868 0xd4 /* Pad control registers */
231 0x70003000 0x3e4>; /* Mux registers */
Stephen Warrenc04abb32012-05-11 17:03:26 -0600232 };
233
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530234 /*
235 * There are two serial driver i.e. 8250 based simple serial
236 * driver and APB DMA based serial driver for higher baudrate
237 * and performace. To enable the 8250 based driver, the compatible
238 * is "nvidia,tegra30-uart", "nvidia,tegra20-uart" and to enable
239 * the APB DMA based serial driver, the comptible is
240 * "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart".
241 */
242 uarta: serial@70006000 {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600243 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
244 reg = <0x70006000 0x40>;
245 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700246 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530247 nvidia,dma-request-selector = <&apbdma 8>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300248 clocks = <&tegra_car TEGRA30_CLK_UARTA>;
Roland Stigge223ef782012-06-11 21:09:45 +0200249 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600250 };
251
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530252 uartb: serial@70006040 {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600253 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
254 reg = <0x70006040 0x40>;
255 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700256 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530257 nvidia,dma-request-selector = <&apbdma 9>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300258 clocks = <&tegra_car TEGRA30_CLK_UARTB>;
Roland Stigge223ef782012-06-11 21:09:45 +0200259 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600260 };
261
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530262 uartc: serial@70006200 {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600263 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
264 reg = <0x70006200 0x100>;
265 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700266 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530267 nvidia,dma-request-selector = <&apbdma 10>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300268 clocks = <&tegra_car TEGRA30_CLK_UARTC>;
Roland Stigge223ef782012-06-11 21:09:45 +0200269 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600270 };
271
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530272 uartd: serial@70006300 {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600273 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
274 reg = <0x70006300 0x100>;
275 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700276 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530277 nvidia,dma-request-selector = <&apbdma 19>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300278 clocks = <&tegra_car TEGRA30_CLK_UARTD>;
Roland Stigge223ef782012-06-11 21:09:45 +0200279 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600280 };
281
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530282 uarte: serial@70006400 {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600283 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
284 reg = <0x70006400 0x100>;
285 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700286 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530287 nvidia,dma-request-selector = <&apbdma 20>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300288 clocks = <&tegra_car TEGRA30_CLK_UARTE>;
Roland Stigge223ef782012-06-11 21:09:45 +0200289 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600290 };
291
Thierry Reding2b8b15d2012-09-20 17:06:05 +0200292 pwm: pwm {
Thierry Reding140fd972011-12-21 08:04:13 +0100293 compatible = "nvidia,tegra30-pwm", "nvidia,tegra20-pwm";
294 reg = <0x7000a000 0x100>;
295 #pwm-cells = <2>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300296 clocks = <&tegra_car TEGRA30_CLK_PWM>;
Andrew Chewb69cd982013-03-12 16:40:51 -0700297 status = "disabled";
Thierry Reding140fd972011-12-21 08:04:13 +0100298 };
299
Stephen Warren380e04a2012-09-19 12:13:16 -0600300 rtc {
301 compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc";
302 reg = <0x7000e000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700303 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300304 clocks = <&tegra_car TEGRA30_CLK_RTC>;
Stephen Warren380e04a2012-09-19 12:13:16 -0600305 };
306
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200307 i2c@7000c000 {
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200308 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
Stephen Warrenba04c282012-05-11 16:28:59 -0600309 reg = <0x7000c000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700310 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600311 #address-cells = <1>;
312 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300313 clocks = <&tegra_car TEGRA30_CLK_I2C1>,
314 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
Prashant Gaikwad1cbc7332013-01-11 13:31:22 +0530315 clock-names = "div-clk", "fast-clk";
Roland Stigge223ef782012-06-11 21:09:45 +0200316 status = "disabled";
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200317 };
318
319 i2c@7000c400 {
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200320 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
Stephen Warrenba04c282012-05-11 16:28:59 -0600321 reg = <0x7000c400 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700322 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600323 #address-cells = <1>;
324 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300325 clocks = <&tegra_car TEGRA30_CLK_I2C2>,
326 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
Prashant Gaikwad1cbc7332013-01-11 13:31:22 +0530327 clock-names = "div-clk", "fast-clk";
Roland Stigge223ef782012-06-11 21:09:45 +0200328 status = "disabled";
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200329 };
330
331 i2c@7000c500 {
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200332 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
Stephen Warrenba04c282012-05-11 16:28:59 -0600333 reg = <0x7000c500 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700334 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600335 #address-cells = <1>;
336 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300337 clocks = <&tegra_car TEGRA30_CLK_I2C3>,
338 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
Prashant Gaikwad1cbc7332013-01-11 13:31:22 +0530339 clock-names = "div-clk", "fast-clk";
Roland Stigge223ef782012-06-11 21:09:45 +0200340 status = "disabled";
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200341 };
342
343 i2c@7000c700 {
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200344 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
345 reg = <0x7000c700 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700346 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600347 #address-cells = <1>;
348 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300349 clocks = <&tegra_car TEGRA30_CLK_I2C4>,
350 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
Prashant Gaikwad1cbc7332013-01-11 13:31:22 +0530351 clock-names = "div-clk", "fast-clk";
Roland Stigge223ef782012-06-11 21:09:45 +0200352 status = "disabled";
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200353 };
354
355 i2c@7000d000 {
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200356 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
Stephen Warrenba04c282012-05-11 16:28:59 -0600357 reg = <0x7000d000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700358 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600359 #address-cells = <1>;
360 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300361 clocks = <&tegra_car TEGRA30_CLK_I2C5>,
362 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
Prashant Gaikwad1cbc7332013-01-11 13:31:22 +0530363 clock-names = "div-clk", "fast-clk";
Roland Stigge223ef782012-06-11 21:09:45 +0200364 status = "disabled";
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200365 };
366
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530367 spi@7000d400 {
368 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
369 reg = <0x7000d400 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700370 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530371 nvidia,dma-request-selector = <&apbdma 15>;
372 #address-cells = <1>;
373 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300374 clocks = <&tegra_car TEGRA30_CLK_SBC1>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530375 status = "disabled";
376 };
377
378 spi@7000d600 {
379 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
380 reg = <0x7000d600 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700381 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530382 nvidia,dma-request-selector = <&apbdma 16>;
383 #address-cells = <1>;
384 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300385 clocks = <&tegra_car TEGRA30_CLK_SBC2>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530386 status = "disabled";
387 };
388
389 spi@7000d800 {
390 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
Laxman Dewangan57471c82013-03-22 12:35:06 -0600391 reg = <0x7000d800 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700392 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530393 nvidia,dma-request-selector = <&apbdma 17>;
394 #address-cells = <1>;
395 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300396 clocks = <&tegra_car TEGRA30_CLK_SBC3>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530397 status = "disabled";
398 };
399
400 spi@7000da00 {
401 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
402 reg = <0x7000da00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700403 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530404 nvidia,dma-request-selector = <&apbdma 18>;
405 #address-cells = <1>;
406 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300407 clocks = <&tegra_car TEGRA30_CLK_SBC4>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530408 status = "disabled";
409 };
410
411 spi@7000dc00 {
412 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
413 reg = <0x7000dc00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700414 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530415 nvidia,dma-request-selector = <&apbdma 27>;
416 #address-cells = <1>;
417 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300418 clocks = <&tegra_car TEGRA30_CLK_SBC5>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530419 status = "disabled";
420 };
421
422 spi@7000de00 {
423 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
424 reg = <0x7000de00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700425 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530426 nvidia,dma-request-selector = <&apbdma 28>;
427 #address-cells = <1>;
428 #size-cells = <0>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300429 clocks = <&tegra_car TEGRA30_CLK_SBC6>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530430 status = "disabled";
431 };
432
Laxman Dewangan699ed4b2013-01-11 19:03:03 +0530433 kbc {
434 compatible = "nvidia,tegra30-kbc", "nvidia,tegra20-kbc";
435 reg = <0x7000e200 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700436 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300437 clocks = <&tegra_car TEGRA30_CLK_KBC>;
Laxman Dewangan699ed4b2013-01-11 19:03:03 +0530438 status = "disabled";
439 };
440
Stephen Warrenc04abb32012-05-11 17:03:26 -0600441 pmc {
Joseph Lo2b84e532013-02-26 16:27:43 +0000442 compatible = "nvidia,tegra30-pmc";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600443 reg = <0x7000e400 0x400>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300444 clocks = <&tegra_car TEGRA30_CLK_PCLK>, <&clk32k_in>;
Joseph Lo7021d122013-04-03 19:31:27 +0800445 clock-names = "pclk", "clk32k_in";
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200446 };
447
hdoyu@nvidia.coma9140aa2012-05-16 19:47:44 +0000448 memory-controller {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600449 compatible = "nvidia,tegra30-mc";
450 reg = <0x7000f000 0x010
451 0x7000f03c 0x1b4
452 0x7000f200 0x028
453 0x7000f284 0x17c>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700454 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200455 };
456
Hiroshi Doyu3fbf07d2013-01-29 10:30:29 +0200457 iommu {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600458 compatible = "nvidia,tegra30-smmu";
459 reg = <0x7000f010 0x02c
460 0x7000f1f0 0x010
461 0x7000f228 0x05c>;
462 nvidia,#asids = <4>; /* # of ASIDs */
463 dma-window = <0 0x40000000>; /* IOVA start & length */
464 nvidia,ahb = <&ahb>;
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200465 };
Stephen Warren9ee6a5c2012-03-27 12:40:53 -0600466
467 ahub {
468 compatible = "nvidia,tegra30-ahub";
Stephen Warren5ff48882012-05-11 16:26:03 -0600469 reg = <0x70080000 0x200
470 0x70080200 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700471 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren9ee6a5c2012-03-27 12:40:53 -0600472 nvidia,dma-request-selector = <&apbdma 1>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300473 clocks = <&tegra_car TEGRA30_CLK_D_AUDIO>,
474 <&tegra_car TEGRA30_CLK_APBIF>,
475 <&tegra_car TEGRA30_CLK_I2S0>,
476 <&tegra_car TEGRA30_CLK_I2S1>,
477 <&tegra_car TEGRA30_CLK_I2S2>,
478 <&tegra_car TEGRA30_CLK_I2S3>,
479 <&tegra_car TEGRA30_CLK_I2S4>,
480 <&tegra_car TEGRA30_CLK_DAM0>,
481 <&tegra_car TEGRA30_CLK_DAM1>,
482 <&tegra_car TEGRA30_CLK_DAM2>,
483 <&tegra_car TEGRA30_CLK_SPDIF_IN>;
Prashant Gaikwad1cbc7332013-01-11 13:31:22 +0530484 clock-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
485 "i2s3", "i2s4", "dam0", "dam1", "dam2",
486 "spdif_in";
Stephen Warren9ee6a5c2012-03-27 12:40:53 -0600487 ranges;
488 #address-cells = <1>;
489 #size-cells = <1>;
490
491 tegra_i2s0: i2s@70080300 {
492 compatible = "nvidia,tegra30-i2s";
493 reg = <0x70080300 0x100>;
494 nvidia,ahub-cif-ids = <4 4>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300495 clocks = <&tegra_car TEGRA30_CLK_I2S0>;
Roland Stigge223ef782012-06-11 21:09:45 +0200496 status = "disabled";
Stephen Warren9ee6a5c2012-03-27 12:40:53 -0600497 };
498
499 tegra_i2s1: i2s@70080400 {
500 compatible = "nvidia,tegra30-i2s";
501 reg = <0x70080400 0x100>;
502 nvidia,ahub-cif-ids = <5 5>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300503 clocks = <&tegra_car TEGRA30_CLK_I2S1>;
Roland Stigge223ef782012-06-11 21:09:45 +0200504 status = "disabled";
Stephen Warren9ee6a5c2012-03-27 12:40:53 -0600505 };
506
507 tegra_i2s2: i2s@70080500 {
508 compatible = "nvidia,tegra30-i2s";
509 reg = <0x70080500 0x100>;
510 nvidia,ahub-cif-ids = <6 6>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300511 clocks = <&tegra_car TEGRA30_CLK_I2S2>;
Roland Stigge223ef782012-06-11 21:09:45 +0200512 status = "disabled";
Stephen Warren9ee6a5c2012-03-27 12:40:53 -0600513 };
514
515 tegra_i2s3: i2s@70080600 {
516 compatible = "nvidia,tegra30-i2s";
517 reg = <0x70080600 0x100>;
518 nvidia,ahub-cif-ids = <7 7>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300519 clocks = <&tegra_car TEGRA30_CLK_I2S3>;
Roland Stigge223ef782012-06-11 21:09:45 +0200520 status = "disabled";
Stephen Warren9ee6a5c2012-03-27 12:40:53 -0600521 };
522
523 tegra_i2s4: i2s@70080700 {
524 compatible = "nvidia,tegra30-i2s";
525 reg = <0x70080700 0x100>;
526 nvidia,ahub-cif-ids = <8 8>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300527 clocks = <&tegra_car TEGRA30_CLK_I2S4>;
Roland Stigge223ef782012-06-11 21:09:45 +0200528 status = "disabled";
Stephen Warren9ee6a5c2012-03-27 12:40:53 -0600529 };
530 };
Hiroshi DOYU7868a9b2012-05-07 09:43:47 +0300531
Stephen Warrenc04abb32012-05-11 17:03:26 -0600532 sdhci@78000000 {
533 compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
534 reg = <0x78000000 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700535 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300536 clocks = <&tegra_car TEGRA30_CLK_SDMMC1>;
Roland Stigge223ef782012-06-11 21:09:45 +0200537 status = "disabled";
Hiroshi DOYU7868a9b2012-05-07 09:43:47 +0300538 };
hdoyu@nvidia.comecf43742012-05-09 21:42:33 +0000539
Stephen Warrenc04abb32012-05-11 17:03:26 -0600540 sdhci@78000200 {
541 compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
542 reg = <0x78000200 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700543 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300544 clocks = <&tegra_car TEGRA30_CLK_SDMMC2>;
Roland Stigge223ef782012-06-11 21:09:45 +0200545 status = "disabled";
hdoyu@nvidia.comecf43742012-05-09 21:42:33 +0000546 };
hdoyu@nvidia.com54174a32012-05-09 21:50:21 +0000547
Stephen Warrenc04abb32012-05-11 17:03:26 -0600548 sdhci@78000400 {
549 compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
550 reg = <0x78000400 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700551 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300552 clocks = <&tegra_car TEGRA30_CLK_SDMMC3>;
Roland Stigge223ef782012-06-11 21:09:45 +0200553 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600554 };
555
556 sdhci@78000600 {
557 compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
558 reg = <0x78000600 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700559 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
Hiroshi Doyu05849c92013-05-22 19:45:34 +0300560 clocks = <&tegra_car TEGRA30_CLK_SDMMC4>;
Roland Stigge223ef782012-06-11 21:09:45 +0200561 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600562 };
563
Hiroshi Doyu7d19a342013-01-11 15:11:54 +0200564 cpus {
565 #address-cells = <1>;
566 #size-cells = <0>;
567
568 cpu@0 {
569 device_type = "cpu";
570 compatible = "arm,cortex-a9";
571 reg = <0>;
572 };
573
574 cpu@1 {
575 device_type = "cpu";
576 compatible = "arm,cortex-a9";
577 reg = <1>;
578 };
579
580 cpu@2 {
581 device_type = "cpu";
582 compatible = "arm,cortex-a9";
583 reg = <2>;
584 };
585
586 cpu@3 {
587 device_type = "cpu";
588 compatible = "arm,cortex-a9";
589 reg = <3>;
590 };
591 };
592
Stephen Warrenc04abb32012-05-11 17:03:26 -0600593 pmu {
594 compatible = "arm,cortex-a9-pmu";
Stephen Warren6cecf912013-02-13 12:51:51 -0700595 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
596 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
597 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
598 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
hdoyu@nvidia.com54174a32012-05-09 21:50:21 +0000599 };
Peter De Schrijverc3e00a02011-12-14 17:03:13 +0200600};