blob: f9c6ecad043b161326107ed2755a60e01c5c04f2 [file] [log] [blame]
Stephen Warren3325f1b2013-02-12 17:25:15 -07001#include <dt-bindings/gpio/tegra-gpio.h>
Stephen Warren6cecf912013-02-13 12:51:51 -07002#include <dt-bindings/interrupt-controller/arm-gic.h>
Stephen Warren3325f1b2013-02-12 17:25:15 -07003
Stephen Warren1bd0bd42012-10-17 16:38:21 -06004#include "skeleton.dtsi"
Grant Likely8e267f32011-07-19 17:26:54 -06005
6/ {
7 compatible = "nvidia,tegra20";
8 interrupt-parent = <&intc>;
9
Laxman Dewanganb6551bb2012-12-19 12:01:11 +053010 aliases {
11 serial0 = &uarta;
12 serial1 = &uartb;
13 serial2 = &uartc;
14 serial3 = &uartd;
15 serial4 = &uarte;
16 };
17
Thierry Redinged821f02012-11-15 22:07:54 +010018 host1x {
19 compatible = "nvidia,tegra20-host1x", "simple-bus";
20 reg = <0x50000000 0x00024000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070021 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
22 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +053023 clocks = <&tegra_car 28>;
Thierry Redinged821f02012-11-15 22:07:54 +010024
25 #address-cells = <1>;
26 #size-cells = <1>;
27
28 ranges = <0x54000000 0x54000000 0x04000000>;
29
30 mpe {
31 compatible = "nvidia,tegra20-mpe";
32 reg = <0x54040000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070033 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +053034 clocks = <&tegra_car 60>;
Thierry Redinged821f02012-11-15 22:07:54 +010035 };
36
37 vi {
38 compatible = "nvidia,tegra20-vi";
39 reg = <0x54080000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070040 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +053041 clocks = <&tegra_car 100>;
Thierry Redinged821f02012-11-15 22:07:54 +010042 };
43
44 epp {
45 compatible = "nvidia,tegra20-epp";
46 reg = <0x540c0000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070047 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +053048 clocks = <&tegra_car 19>;
Thierry Redinged821f02012-11-15 22:07:54 +010049 };
50
51 isp {
52 compatible = "nvidia,tegra20-isp";
53 reg = <0x54100000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070054 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +053055 clocks = <&tegra_car 23>;
Thierry Redinged821f02012-11-15 22:07:54 +010056 };
57
58 gr2d {
59 compatible = "nvidia,tegra20-gr2d";
60 reg = <0x54140000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070061 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +053062 clocks = <&tegra_car 21>;
Thierry Redinged821f02012-11-15 22:07:54 +010063 };
64
65 gr3d {
66 compatible = "nvidia,tegra20-gr3d";
67 reg = <0x54180000 0x00040000>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +053068 clocks = <&tegra_car 24>;
Thierry Redinged821f02012-11-15 22:07:54 +010069 };
70
71 dc@54200000 {
72 compatible = "nvidia,tegra20-dc";
73 reg = <0x54200000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070074 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +053075 clocks = <&tegra_car 27>, <&tegra_car 121>;
76 clock-names = "disp1", "parent";
Thierry Redinged821f02012-11-15 22:07:54 +010077
78 rgb {
79 status = "disabled";
80 };
81 };
82
83 dc@54240000 {
84 compatible = "nvidia,tegra20-dc";
85 reg = <0x54240000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070086 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +053087 clocks = <&tegra_car 26>, <&tegra_car 121>;
88 clock-names = "disp2", "parent";
Thierry Redinged821f02012-11-15 22:07:54 +010089
90 rgb {
91 status = "disabled";
92 };
93 };
94
95 hdmi {
96 compatible = "nvidia,tegra20-hdmi";
97 reg = <0x54280000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -070098 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +053099 clocks = <&tegra_car 51>, <&tegra_car 117>;
100 clock-names = "hdmi", "parent";
Thierry Redinged821f02012-11-15 22:07:54 +0100101 status = "disabled";
102 };
103
104 tvo {
105 compatible = "nvidia,tegra20-tvo";
106 reg = <0x542c0000 0x00040000>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700107 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530108 clocks = <&tegra_car 102>;
Thierry Redinged821f02012-11-15 22:07:54 +0100109 status = "disabled";
110 };
111
112 dsi {
113 compatible = "nvidia,tegra20-dsi";
114 reg = <0x54300000 0x00040000>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530115 clocks = <&tegra_car 48>;
Thierry Redinged821f02012-11-15 22:07:54 +0100116 status = "disabled";
117 };
118 };
119
Stephen Warren73368ba2012-09-19 14:17:24 -0600120 timer@50004600 {
121 compatible = "arm,cortex-a9-twd-timer";
122 reg = <0x50040600 0x20>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700123 interrupts = <GIC_PPI 13
124 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
Prashant Gaikwaded3ced32013-03-01 11:32:24 -0700125 clocks = <&tegra_car 132>;
Stephen Warren73368ba2012-09-19 14:17:24 -0600126 };
127
Stephen Warrenf9eb26a2012-05-11 16:17:47 -0600128 intc: interrupt-controller {
pdeschrijver@nvidia.com0d4f7472011-11-29 18:29:19 -0700129 compatible = "arm,cortex-a9-gic";
Stephen Warren5ff48882012-05-11 16:26:03 -0600130 reg = <0x50041000 0x1000
131 0x50040100 0x0100>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600132 interrupt-controller;
133 #interrupt-cells = <3>;
Grant Likely8e267f32011-07-19 17:26:54 -0600134 };
135
Stephen Warrenbb2c1de2013-01-14 10:09:16 -0700136 cache-controller {
137 compatible = "arm,pl310-cache";
138 reg = <0x50043000 0x1000>;
139 arm,data-latency = <5 5 2>;
140 arm,tag-latency = <4 4 2>;
141 cache-unified;
142 cache-level = <2>;
143 };
144
Stephen Warren2f2b7fb2012-09-19 12:02:31 -0600145 timer@60005000 {
146 compatible = "nvidia,tegra20-timer";
147 reg = <0x60005000 0x60>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700148 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
149 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
150 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
151 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
Peter De Schrijver6f88fb82013-02-04 15:40:30 +0200152 clocks = <&tegra_car 5>;
Stephen Warren2f2b7fb2012-09-19 12:02:31 -0600153 };
154
Stephen Warren270f8ce2013-01-11 13:16:22 +0530155 tegra_car: clock {
156 compatible = "nvidia,tegra20-car";
157 reg = <0x60006000 0x1000>;
158 #clock-cells = <1>;
159 };
160
Stephen Warrenf9eb26a2012-05-11 16:17:47 -0600161 apbdma: dma {
Stephen Warren8051b752012-01-11 16:09:54 -0700162 compatible = "nvidia,tegra20-apbdma";
163 reg = <0x6000a000 0x1200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700164 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
165 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
166 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
167 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
168 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
169 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
170 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
171 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
172 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
173 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
174 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
175 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
176 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
177 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
178 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
179 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530180 clocks = <&tegra_car 34>;
Stephen Warren8051b752012-01-11 16:09:54 -0700181 };
182
Stephen Warrenc04abb32012-05-11 17:03:26 -0600183 ahb {
184 compatible = "nvidia,tegra20-ahb";
185 reg = <0x6000c004 0x10c>; /* AHB Arbitration + Gizmo Controller */
Grant Likely8e267f32011-07-19 17:26:54 -0600186 };
187
Stephen Warrenf9eb26a2012-05-11 16:17:47 -0600188 gpio: gpio {
Grant Likely8e267f32011-07-19 17:26:54 -0600189 compatible = "nvidia,tegra20-gpio";
Stephen Warren95decf82012-05-11 16:11:38 -0600190 reg = <0x6000d000 0x1000>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700191 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
192 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
193 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
194 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
195 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
196 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
197 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
Grant Likely8e267f32011-07-19 17:26:54 -0600198 #gpio-cells = <2>;
199 gpio-controller;
Stephen Warren6f74dc92012-01-04 08:39:37 +0000200 #interrupt-cells = <2>;
201 interrupt-controller;
Grant Likely8e267f32011-07-19 17:26:54 -0600202 };
203
Stephen Warrenf9eb26a2012-05-11 16:17:47 -0600204 pinmux: pinmux {
Stephen Warrenf62f5482011-10-11 16:16:13 -0600205 compatible = "nvidia,tegra20-pinmux";
Stephen Warren95decf82012-05-11 16:11:38 -0600206 reg = <0x70000014 0x10 /* Tri-state registers */
207 0x70000080 0x20 /* Mux registers */
208 0x700000a0 0x14 /* Pull-up/down registers */
209 0x70000868 0xa8>; /* Pad control registers */
Stephen Warrenf62f5482011-10-11 16:16:13 -0600210 };
211
Stephen Warrenc04abb32012-05-11 17:03:26 -0600212 das {
213 compatible = "nvidia,tegra20-das";
214 reg = <0x70000c00 0x80>;
215 };
Stephen Warrenfc5c3062013-03-06 11:28:32 -0700216
Lucas Stach0698ed12013-01-05 02:18:44 +0100217 tegra_ac97: ac97 {
218 compatible = "nvidia,tegra20-ac97";
219 reg = <0x70002000 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700220 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
Lucas Stach0698ed12013-01-05 02:18:44 +0100221 nvidia,dma-request-selector = <&apbdma 12>;
222 clocks = <&tegra_car 3>;
223 status = "disabled";
224 };
Stephen Warrenc04abb32012-05-11 17:03:26 -0600225
226 tegra_i2s1: i2s@70002800 {
227 compatible = "nvidia,tegra20-i2s";
228 reg = <0x70002800 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700229 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warrenc04abb32012-05-11 17:03:26 -0600230 nvidia,dma-request-selector = <&apbdma 2>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530231 clocks = <&tegra_car 11>;
Roland Stigge223ef782012-06-11 21:09:45 +0200232 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600233 };
234
235 tegra_i2s2: i2s@70002a00 {
236 compatible = "nvidia,tegra20-i2s";
237 reg = <0x70002a00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700238 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warrenc04abb32012-05-11 17:03:26 -0600239 nvidia,dma-request-selector = <&apbdma 1>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530240 clocks = <&tegra_car 18>;
Roland Stigge223ef782012-06-11 21:09:45 +0200241 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600242 };
243
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530244 /*
245 * There are two serial driver i.e. 8250 based simple serial
246 * driver and APB DMA based serial driver for higher baudrate
247 * and performace. To enable the 8250 based driver, the compatible
248 * is "nvidia,tegra20-uart" and to enable the APB DMA based serial
249 * driver, the comptible is "nvidia,tegra20-hsuart".
250 */
251 uarta: serial@70006000 {
Grant Likely8e267f32011-07-19 17:26:54 -0600252 compatible = "nvidia,tegra20-uart";
253 reg = <0x70006000 0x40>;
254 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700255 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530256 nvidia,dma-request-selector = <&apbdma 8>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530257 clocks = <&tegra_car 6>;
Roland Stigge223ef782012-06-11 21:09:45 +0200258 status = "disabled";
Grant Likely8e267f32011-07-19 17:26:54 -0600259 };
260
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530261 uartb: serial@70006040 {
Grant Likely8e267f32011-07-19 17:26:54 -0600262 compatible = "nvidia,tegra20-uart";
263 reg = <0x70006040 0x40>;
264 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700265 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530266 nvidia,dma-request-selector = <&apbdma 9>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530267 clocks = <&tegra_car 96>;
Roland Stigge223ef782012-06-11 21:09:45 +0200268 status = "disabled";
Grant Likely8e267f32011-07-19 17:26:54 -0600269 };
270
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530271 uartc: serial@70006200 {
Grant Likely8e267f32011-07-19 17:26:54 -0600272 compatible = "nvidia,tegra20-uart";
273 reg = <0x70006200 0x100>;
274 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700275 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530276 nvidia,dma-request-selector = <&apbdma 10>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530277 clocks = <&tegra_car 55>;
Roland Stigge223ef782012-06-11 21:09:45 +0200278 status = "disabled";
Grant Likely8e267f32011-07-19 17:26:54 -0600279 };
280
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530281 uartd: serial@70006300 {
Grant Likely8e267f32011-07-19 17:26:54 -0600282 compatible = "nvidia,tegra20-uart";
283 reg = <0x70006300 0x100>;
284 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700285 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530286 nvidia,dma-request-selector = <&apbdma 19>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530287 clocks = <&tegra_car 65>;
Roland Stigge223ef782012-06-11 21:09:45 +0200288 status = "disabled";
Grant Likely8e267f32011-07-19 17:26:54 -0600289 };
290
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530291 uarte: serial@70006400 {
Grant Likely8e267f32011-07-19 17:26:54 -0600292 compatible = "nvidia,tegra20-uart";
293 reg = <0x70006400 0x100>;
294 reg-shift = <2>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700295 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganb6551bb2012-12-19 12:01:11 +0530296 nvidia,dma-request-selector = <&apbdma 20>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530297 clocks = <&tegra_car 66>;
Roland Stigge223ef782012-06-11 21:09:45 +0200298 status = "disabled";
Grant Likely8e267f32011-07-19 17:26:54 -0600299 };
300
Thierry Reding2b8b15d2012-09-20 17:06:05 +0200301 pwm: pwm {
Thierry Reding140fd972011-12-21 08:04:13 +0100302 compatible = "nvidia,tegra20-pwm";
303 reg = <0x7000a000 0x100>;
304 #pwm-cells = <2>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530305 clocks = <&tegra_car 17>;
Andrew Chewb69cd982013-03-12 16:40:51 -0700306 status = "disabled";
Thierry Reding140fd972011-12-21 08:04:13 +0100307 };
308
Stephen Warren380e04a2012-09-19 12:13:16 -0600309 rtc {
310 compatible = "nvidia,tegra20-rtc";
311 reg = <0x7000e000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700312 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
Peter De Schrijver6f88fb82013-02-04 15:40:30 +0200313 clocks = <&tegra_car 4>;
Stephen Warren380e04a2012-09-19 12:13:16 -0600314 };
315
Stephen Warrenc04abb32012-05-11 17:03:26 -0600316 i2c@7000c000 {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600317 compatible = "nvidia,tegra20-i2c";
318 reg = <0x7000c000 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700319 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600320 #address-cells = <1>;
321 #size-cells = <0>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530322 clocks = <&tegra_car 12>, <&tegra_car 124>;
323 clock-names = "div-clk", "fast-clk";
Roland Stigge223ef782012-06-11 21:09:45 +0200324 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600325 };
326
Laxman Dewanganfa98a112012-11-13 10:33:39 +0530327 spi@7000c380 {
328 compatible = "nvidia,tegra20-sflash";
329 reg = <0x7000c380 0x80>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700330 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewanganfa98a112012-11-13 10:33:39 +0530331 nvidia,dma-request-selector = <&apbdma 11>;
332 #address-cells = <1>;
333 #size-cells = <0>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530334 clocks = <&tegra_car 43>;
Laxman Dewanganfa98a112012-11-13 10:33:39 +0530335 status = "disabled";
336 };
337
Stephen Warrenc04abb32012-05-11 17:03:26 -0600338 i2c@7000c400 {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600339 compatible = "nvidia,tegra20-i2c";
340 reg = <0x7000c400 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700341 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600342 #address-cells = <1>;
343 #size-cells = <0>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530344 clocks = <&tegra_car 54>, <&tegra_car 124>;
345 clock-names = "div-clk", "fast-clk";
Roland Stigge223ef782012-06-11 21:09:45 +0200346 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600347 };
348
349 i2c@7000c500 {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600350 compatible = "nvidia,tegra20-i2c";
351 reg = <0x7000c500 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700352 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600353 #address-cells = <1>;
354 #size-cells = <0>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530355 clocks = <&tegra_car 67>, <&tegra_car 124>;
356 clock-names = "div-clk", "fast-clk";
Roland Stigge223ef782012-06-11 21:09:45 +0200357 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600358 };
359
360 i2c@7000d000 {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600361 compatible = "nvidia,tegra20-i2c-dvc";
362 reg = <0x7000d000 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700363 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600364 #address-cells = <1>;
365 #size-cells = <0>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530366 clocks = <&tegra_car 47>, <&tegra_car 124>;
367 clock-names = "div-clk", "fast-clk";
Roland Stigge223ef782012-06-11 21:09:45 +0200368 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600369 };
370
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530371 spi@7000d400 {
372 compatible = "nvidia,tegra20-slink";
373 reg = <0x7000d400 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700374 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530375 nvidia,dma-request-selector = <&apbdma 15>;
376 #address-cells = <1>;
377 #size-cells = <0>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530378 clocks = <&tegra_car 41>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530379 status = "disabled";
380 };
381
382 spi@7000d600 {
383 compatible = "nvidia,tegra20-slink";
384 reg = <0x7000d600 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700385 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530386 nvidia,dma-request-selector = <&apbdma 16>;
387 #address-cells = <1>;
388 #size-cells = <0>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530389 clocks = <&tegra_car 44>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530390 status = "disabled";
391 };
392
393 spi@7000d800 {
394 compatible = "nvidia,tegra20-slink";
Laxman Dewangan57471c82013-03-22 12:35:06 -0600395 reg = <0x7000d800 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700396 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530397 nvidia,dma-request-selector = <&apbdma 17>;
398 #address-cells = <1>;
399 #size-cells = <0>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530400 clocks = <&tegra_car 46>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530401 status = "disabled";
402 };
403
404 spi@7000da00 {
405 compatible = "nvidia,tegra20-slink";
406 reg = <0x7000da00 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700407 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530408 nvidia,dma-request-selector = <&apbdma 18>;
409 #address-cells = <1>;
410 #size-cells = <0>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530411 clocks = <&tegra_car 68>;
Laxman Dewangana86b0db2012-10-30 12:35:23 +0530412 status = "disabled";
413 };
414
Laxman Dewangan699ed4b2013-01-11 19:03:03 +0530415 kbc {
416 compatible = "nvidia,tegra20-kbc";
417 reg = <0x7000e200 0x100>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700418 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
Laxman Dewangan699ed4b2013-01-11 19:03:03 +0530419 clocks = <&tegra_car 36>;
420 status = "disabled";
421 };
422
Stephen Warrenc04abb32012-05-11 17:03:26 -0600423 pmc {
424 compatible = "nvidia,tegra20-pmc";
425 reg = <0x7000e400 0x400>;
Joseph Lo7021d122013-04-03 19:31:27 +0800426 clocks = <&tegra_car 110>, <&clk32k_in>;
427 clock-names = "pclk", "clk32k_in";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600428 };
429
Stephen Warrenbbfc33b2012-10-02 13:10:47 -0600430 memory-controller@7000f000 {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600431 compatible = "nvidia,tegra20-mc";
432 reg = <0x7000f000 0x024
433 0x7000f03c 0x3c4>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700434 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warrenc04abb32012-05-11 17:03:26 -0600435 };
436
Hiroshi Doyu109269e2013-01-29 10:30:30 +0200437 iommu {
Stephen Warrenc04abb32012-05-11 17:03:26 -0600438 compatible = "nvidia,tegra20-gart";
439 reg = <0x7000f024 0x00000018 /* controller registers */
440 0x58000000 0x02000000>; /* GART aperture */
441 };
442
Stephen Warrenbbfc33b2012-10-02 13:10:47 -0600443 memory-controller@7000f400 {
Olof Johansson0c6700a2011-10-13 02:14:55 -0700444 compatible = "nvidia,tegra20-emc";
445 reg = <0x7000f400 0x200>;
Stephen Warren2eaab062012-05-11 17:12:52 -0600446 #address-cells = <1>;
447 #size-cells = <0>;
Olof Johansson0c6700a2011-10-13 02:14:55 -0700448 };
449
Stephen Warrenc04abb32012-05-11 17:03:26 -0600450 usb@c5000000 {
451 compatible = "nvidia,tegra20-ehci", "usb-ehci";
452 reg = <0xc5000000 0x4000>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700453 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warrenc04abb32012-05-11 17:03:26 -0600454 phy_type = "utmi";
455 nvidia,has-legacy-mode;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530456 clocks = <&tegra_car 22>;
Venu Byravarasub4e07472012-12-13 20:59:07 +0000457 nvidia,needs-double-reset;
Venu Byravarasue374b652013-01-16 03:30:19 +0000458 nvidia,phy = <&phy1>;
Roland Stigge223ef782012-06-11 21:09:45 +0200459 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600460 };
461
Venu Byravarasu4c94c8b2013-05-16 19:42:57 +0530462 phy1: usb-phy@c5000000 {
Stephen Warren5d324412013-03-06 11:28:33 -0700463 compatible = "nvidia,tegra20-usb-phy";
Venu Byravarasu4c94c8b2013-05-16 19:42:57 +0530464 reg = <0xc5000000 0x4000 0xc5000000 0x4000>;
Stephen Warren5d324412013-03-06 11:28:33 -0700465 phy_type = "utmi";
Venu Byravarasu4c94c8b2013-05-16 19:42:57 +0530466 clocks = <&tegra_car 22>,
467 <&tegra_car 127>,
468 <&tegra_car 106>,
469 <&tegra_car 22>;
470 clock-names = "reg", "pll_u", "timer", "utmi-pads";
Stephen Warren5d324412013-03-06 11:28:33 -0700471 nvidia,has-legacy-mode;
Venu Byravarasu4c94c8b2013-05-16 19:42:57 +0530472 hssync_start_delay = <9>;
473 idle_wait_delay = <17>;
474 elastic_limit = <16>;
475 term_range_adj = <6>;
476 xcvr_setup = <9>;
477 xcvr_lsfslew = <1>;
478 xcvr_lsrslew = <1>;
479 status = "disabled";
Stephen Warren5d324412013-03-06 11:28:33 -0700480 };
481
Stephen Warrenc04abb32012-05-11 17:03:26 -0600482 usb@c5004000 {
483 compatible = "nvidia,tegra20-ehci", "usb-ehci";
484 reg = <0xc5004000 0x4000>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700485 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warrenc04abb32012-05-11 17:03:26 -0600486 phy_type = "ulpi";
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530487 clocks = <&tegra_car 58>;
Venu Byravarasue374b652013-01-16 03:30:19 +0000488 nvidia,phy = <&phy2>;
Roland Stigge223ef782012-06-11 21:09:45 +0200489 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600490 };
491
Venu Byravarasu4c94c8b2013-05-16 19:42:57 +0530492 phy2: usb-phy@c5004000 {
Stephen Warren5d324412013-03-06 11:28:33 -0700493 compatible = "nvidia,tegra20-usb-phy";
Venu Byravarasu4c94c8b2013-05-16 19:42:57 +0530494 reg = <0xc5004000 0x4000>;
Stephen Warren5d324412013-03-06 11:28:33 -0700495 phy_type = "ulpi";
Venu Byravarasu4c94c8b2013-05-16 19:42:57 +0530496 clocks = <&tegra_car 58>,
497 <&tegra_car 127>,
498 <&tegra_car 93>;
499 clock-names = "reg", "pll_u", "ulpi-link";
500 status = "disabled";
Stephen Warren5d324412013-03-06 11:28:33 -0700501 };
502
Stephen Warrenc04abb32012-05-11 17:03:26 -0600503 usb@c5008000 {
504 compatible = "nvidia,tegra20-ehci", "usb-ehci";
505 reg = <0xc5008000 0x4000>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700506 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warrenc04abb32012-05-11 17:03:26 -0600507 phy_type = "utmi";
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530508 clocks = <&tegra_car 59>;
Venu Byravarasue374b652013-01-16 03:30:19 +0000509 nvidia,phy = <&phy3>;
Roland Stigge223ef782012-06-11 21:09:45 +0200510 status = "disabled";
Stephen Warrenc04abb32012-05-11 17:03:26 -0600511 };
512
Venu Byravarasu4c94c8b2013-05-16 19:42:57 +0530513 phy3: usb-phy@c5008000 {
Stephen Warren5d324412013-03-06 11:28:33 -0700514 compatible = "nvidia,tegra20-usb-phy";
Venu Byravarasu4c94c8b2013-05-16 19:42:57 +0530515 reg = <0xc5008000 0x4000 0xc5000000 0x4000>;
Stephen Warren5d324412013-03-06 11:28:33 -0700516 phy_type = "utmi";
Venu Byravarasu4c94c8b2013-05-16 19:42:57 +0530517 clocks = <&tegra_car 59>,
518 <&tegra_car 127>,
519 <&tegra_car 106>,
520 <&tegra_car 22>;
521 clock-names = "reg", "pll_u", "timer", "utmi-pads";
522 hssync_start_delay = <9>;
523 idle_wait_delay = <17>;
524 elastic_limit = <16>;
525 term_range_adj = <6>;
526 xcvr_setup = <9>;
527 xcvr_lsfslew = <2>;
528 xcvr_lsrslew = <2>;
529 status = "disabled";
Stephen Warren5d324412013-03-06 11:28:33 -0700530 };
531
Grant Likely8e267f32011-07-19 17:26:54 -0600532 sdhci@c8000000 {
533 compatible = "nvidia,tegra20-sdhci";
534 reg = <0xc8000000 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700535 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530536 clocks = <&tegra_car 14>;
Roland Stigge223ef782012-06-11 21:09:45 +0200537 status = "disabled";
Grant Likely8e267f32011-07-19 17:26:54 -0600538 };
539
540 sdhci@c8000200 {
541 compatible = "nvidia,tegra20-sdhci";
542 reg = <0xc8000200 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700543 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530544 clocks = <&tegra_car 9>;
Roland Stigge223ef782012-06-11 21:09:45 +0200545 status = "disabled";
Grant Likely8e267f32011-07-19 17:26:54 -0600546 };
547
548 sdhci@c8000400 {
549 compatible = "nvidia,tegra20-sdhci";
550 reg = <0xc8000400 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700551 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530552 clocks = <&tegra_car 69>;
Roland Stigge223ef782012-06-11 21:09:45 +0200553 status = "disabled";
Grant Likely8e267f32011-07-19 17:26:54 -0600554 };
555
556 sdhci@c8000600 {
557 compatible = "nvidia,tegra20-sdhci";
558 reg = <0xc8000600 0x200>;
Stephen Warren6cecf912013-02-13 12:51:51 -0700559 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
Prashant Gaikwad8d8b43d2013-01-11 13:31:21 +0530560 clocks = <&tegra_car 15>;
Roland Stigge223ef782012-06-11 21:09:45 +0200561 status = "disabled";
Grant Likely8e267f32011-07-19 17:26:54 -0600562 };
Olof Johanssonc27317c2011-11-04 09:12:39 +0000563
Hiroshi Doyu4dd2bd32013-01-11 15:26:55 +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
Stephen Warrenc04abb32012-05-11 17:03:26 -0600581 pmu {
582 compatible = "arm,cortex-a9-pmu";
Stephen Warren6cecf912013-02-13 12:51:51 -0700583 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
584 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
hdoyu@nvidia.com6a943e02012-05-09 21:45:33 +0000585 };
Grant Likely8e267f32011-07-19 17:26:54 -0600586};