blob: b940276a5fe4405500966c13d66454e1c5845062 [file] [log] [blame]
Joseph Lo3b86baf2013-10-08 15:47:40 +08001#include <dt-bindings/clock/tegra124-car.h>
Stephen Warren0a9375d2013-08-05 16:10:02 -07002#include <dt-bindings/gpio/tegra-gpio.h>
Joseph Load03b1a2013-10-08 12:50:05 +08003#include <dt-bindings/interrupt-controller/arm-gic.h>
4
5#include "skeleton.dtsi"
6
7/ {
8 compatible = "nvidia,tegra124";
9 interrupt-parent = <&gic>;
10
11 gic: interrupt-controller@50041000 {
12 compatible = "arm,cortex-a15-gic";
13 #interrupt-cells = <3>;
14 interrupt-controller;
15 reg = <0x50041000 0x1000>,
16 <0x50042000 0x1000>,
17 <0x50044000 0x2000>,
18 <0x50046000 0x2000>;
19 interrupts = <GIC_PPI 9
20 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
21 };
22
23 timer@60005000 {
24 compatible = "nvidia,tegra124-timer", "nvidia,tegra20-timer";
25 reg = <0x60005000 0x400>;
26 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
27 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
28 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
29 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
30 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
31 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
Joseph Lo3b86baf2013-10-08 15:47:40 +080032 clocks = <&tegra_car TEGRA124_CLK_TIMER>;
33 };
34
35 tegra_car: clock@60006000 {
36 compatible = "nvidia,tegra124-car";
37 reg = <0x60006000 0x1000>;
38 #clock-cells = <1>;
Stephen Warrenf71e4f02013-11-07 12:20:57 -070039 #reset-cells = <1>;
Joseph Load03b1a2013-10-08 12:50:05 +080040 };
41
Stephen Warren0a9375d2013-08-05 16:10:02 -070042 gpio: gpio@6000d000 {
43 compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
44 reg = <0x6000d000 0x1000>;
45 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
46 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
47 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
48 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
49 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
50 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
51 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
52 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
53 #gpio-cells = <2>;
54 gpio-controller;
55 #interrupt-cells = <2>;
56 interrupt-controller;
57 };
58
Stephen Warren2f5a9132013-11-15 12:22:53 -070059 apbdma: dma@60020000 {
60 compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
61 reg = <0x60020000 0x1400>;
62 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
63 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
64 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
65 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
66 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
67 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
68 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
69 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
70 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
71 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
72 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
73 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
74 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
75 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
76 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
77 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
78 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
79 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
80 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
81 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
82 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
83 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
84 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
85 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
86 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
87 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
88 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
89 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
90 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
91 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
92 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
93 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
94 clocks = <&tegra_car TEGRA124_CLK_APBDMA>;
95 resets = <&tegra_car 34>;
96 reset-names = "dma";
97 #dma-cells = <1>;
98 };
99
Stephen Warrencaefe632013-11-01 14:03:59 -0600100 pinmux: pinmux@70000868 {
101 compatible = "nvidia,tegra124-pinmux";
102 reg = <0x70000868 0x164>, /* Pad control registers */
103 <0x70003000 0x434>; /* Mux registers */
104 };
105
Joseph Load03b1a2013-10-08 12:50:05 +0800106 /*
107 * There are two serial driver i.e. 8250 based simple serial
108 * driver and APB DMA based serial driver for higher baudrate
109 * and performace. To enable the 8250 based driver, the compatible
110 * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
111 * the APB DMA based serial driver, the comptible is
112 * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
113 */
114 serial@70006000 {
115 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
116 reg = <0x70006000 0x40>;
117 reg-shift = <2>;
118 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
Joseph Lo3b86baf2013-10-08 15:47:40 +0800119 clocks = <&tegra_car TEGRA124_CLK_UARTA>;
Stephen Warrenf71e4f02013-11-07 12:20:57 -0700120 resets = <&tegra_car 6>;
121 reset-names = "serial";
Stephen Warren2f5a9132013-11-15 12:22:53 -0700122 dmas = <&apbdma 8>, <&apbdma 8>;
123 dma-names = "rx", "tx";
Joseph Load03b1a2013-10-08 12:50:05 +0800124 status = "disabled";
125 };
126
127 serial@70006040 {
128 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
129 reg = <0x70006040 0x40>;
130 reg-shift = <2>;
131 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
Joseph Lo3b86baf2013-10-08 15:47:40 +0800132 clocks = <&tegra_car TEGRA124_CLK_UARTB>;
Stephen Warrenf71e4f02013-11-07 12:20:57 -0700133 resets = <&tegra_car 7>;
134 reset-names = "serial";
Stephen Warren2f5a9132013-11-15 12:22:53 -0700135 dmas = <&apbdma 9>, <&apbdma 9>;
136 dma-names = "rx", "tx";
Joseph Load03b1a2013-10-08 12:50:05 +0800137 status = "disabled";
138 };
139
140 serial@70006200 {
141 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
142 reg = <0x70006200 0x40>;
143 reg-shift = <2>;
144 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
Joseph Lo3b86baf2013-10-08 15:47:40 +0800145 clocks = <&tegra_car TEGRA124_CLK_UARTC>;
Stephen Warrenf71e4f02013-11-07 12:20:57 -0700146 resets = <&tegra_car 55>;
147 reset-names = "serial";
Stephen Warren2f5a9132013-11-15 12:22:53 -0700148 dmas = <&apbdma 10>, <&apbdma 10>;
149 dma-names = "rx", "tx";
Joseph Load03b1a2013-10-08 12:50:05 +0800150 status = "disabled";
151 };
152
153 serial@70006300 {
154 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
155 reg = <0x70006300 0x40>;
156 reg-shift = <2>;
157 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
Joseph Lo3b86baf2013-10-08 15:47:40 +0800158 clocks = <&tegra_car TEGRA124_CLK_UARTD>;
Stephen Warrenf71e4f02013-11-07 12:20:57 -0700159 resets = <&tegra_car 65>;
160 reset-names = "serial";
Stephen Warren2f5a9132013-11-15 12:22:53 -0700161 dmas = <&apbdma 19>, <&apbdma 19>;
162 dma-names = "rx", "tx";
Joseph Load03b1a2013-10-08 12:50:05 +0800163 status = "disabled";
164 };
165
166 serial@70006400 {
167 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
168 reg = <0x70006400 0x40>;
169 reg-shift = <2>;
170 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
Joseph Lo3b86baf2013-10-08 15:47:40 +0800171 clocks = <&tegra_car TEGRA124_CLK_UARTE>;
Stephen Warrenf71e4f02013-11-07 12:20:57 -0700172 resets = <&tegra_car 66>;
173 reset-names = "serial";
Stephen Warren2f5a9132013-11-15 12:22:53 -0700174 dmas = <&apbdma 20>, <&apbdma 20>;
175 dma-names = "rx", "tx";
Joseph Load03b1a2013-10-08 12:50:05 +0800176 status = "disabled";
177 };
178
Stephen Warren4f607462013-12-03 16:29:04 -0700179 i2c@7000c000 {
180 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
181 reg = <0x7000c000 0x100>;
182 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
183 #address-cells = <1>;
184 #size-cells = <0>;
185 clocks = <&tegra_car TEGRA124_CLK_I2C1>;
186 clock-names = "div-clk";
187 resets = <&tegra_car 12>;
188 reset-names = "i2c";
189 dmas = <&apbdma 21>, <&apbdma 21>;
190 dma-names = "rx", "tx";
191 status = "disabled";
192 };
193
194 i2c@7000c400 {
195 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
196 reg = <0x7000c400 0x100>;
197 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
198 #address-cells = <1>;
199 #size-cells = <0>;
200 clocks = <&tegra_car TEGRA124_CLK_I2C2>;
201 clock-names = "div-clk";
202 resets = <&tegra_car 54>;
203 reset-names = "i2c";
204 dmas = <&apbdma 22>, <&apbdma 22>;
205 dma-names = "rx", "tx";
206 status = "disabled";
207 };
208
209 i2c@7000c500 {
210 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
211 reg = <0x7000c500 0x100>;
212 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
213 #address-cells = <1>;
214 #size-cells = <0>;
215 clocks = <&tegra_car TEGRA124_CLK_I2C3>;
216 clock-names = "div-clk";
217 resets = <&tegra_car 67>;
218 reset-names = "i2c";
219 dmas = <&apbdma 23>, <&apbdma 23>;
220 dma-names = "rx", "tx";
221 status = "disabled";
222 };
223
224 i2c@7000c700 {
225 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
226 reg = <0x7000c700 0x100>;
227 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
228 #address-cells = <1>;
229 #size-cells = <0>;
230 clocks = <&tegra_car TEGRA124_CLK_I2C4>;
231 clock-names = "div-clk";
232 resets = <&tegra_car 103>;
233 reset-names = "i2c";
234 dmas = <&apbdma 26>, <&apbdma 26>;
235 dma-names = "rx", "tx";
236 status = "disabled";
237 };
238
239 i2c@7000d000 {
240 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
241 reg = <0x7000d000 0x100>;
242 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
243 #address-cells = <1>;
244 #size-cells = <0>;
245 clocks = <&tegra_car TEGRA124_CLK_I2C5>;
246 clock-names = "div-clk";
247 resets = <&tegra_car 47>;
248 reset-names = "i2c";
249 dmas = <&apbdma 24>, <&apbdma 24>;
250 dma-names = "rx", "tx";
251 status = "disabled";
252 };
253
254 i2c@7000d100 {
255 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
256 reg = <0x7000d100 0x100>;
257 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
258 #address-cells = <1>;
259 #size-cells = <0>;
260 clocks = <&tegra_car TEGRA124_CLK_I2C6>;
261 clock-names = "div-clk";
262 resets = <&tegra_car 166>;
263 reset-names = "i2c";
264 dmas = <&apbdma 30>, <&apbdma 30>;
265 dma-names = "rx", "tx";
266 status = "disabled";
267 };
268
Joseph Load03b1a2013-10-08 12:50:05 +0800269 rtc@7000e000 {
270 compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
271 reg = <0x7000e000 0x100>;
272 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
Joseph Lo3b86baf2013-10-08 15:47:40 +0800273 clocks = <&tegra_car TEGRA124_CLK_RTC>;
Joseph Load03b1a2013-10-08 12:50:05 +0800274 };
275
276 pmc@7000e400 {
277 compatible = "nvidia,tegra124-pmc";
278 reg = <0x7000e400 0x400>;
Joseph Lo3b86baf2013-10-08 15:47:40 +0800279 clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>;
280 clock-names = "pclk", "clk32k_in";
Joseph Load03b1a2013-10-08 12:50:05 +0800281 };
282
Stephen Warren784c7442013-10-31 17:23:05 -0600283 sdhci@700b0000 {
284 compatible = "nvidia,tegra124-sdhci";
285 reg = <0x700b0000 0x200>;
286 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
287 clocks = <&tegra_car TEGRA124_CLK_SDMMC1>;
288 resets = <&tegra_car 14>;
289 reset-names = "sdhci";
290 status = "disable";
291 };
292
293 sdhci@700b0200 {
294 compatible = "nvidia,tegra124-sdhci";
295 reg = <0x700b0200 0x200>;
296 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
297 clocks = <&tegra_car TEGRA124_CLK_SDMMC2>;
298 resets = <&tegra_car 9>;
299 reset-names = "sdhci";
300 status = "disable";
301 };
302
303 sdhci@700b0400 {
304 compatible = "nvidia,tegra124-sdhci";
305 reg = <0x700b0400 0x200>;
306 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
307 clocks = <&tegra_car TEGRA124_CLK_SDMMC3>;
308 resets = <&tegra_car 69>;
309 reset-names = "sdhci";
310 status = "disable";
311 };
312
313 sdhci@700b0600 {
314 compatible = "nvidia,tegra124-sdhci";
315 reg = <0x700b0600 0x200>;
316 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
317 clocks = <&tegra_car TEGRA124_CLK_SDMMC4>;
318 resets = <&tegra_car 15>;
319 reset-names = "sdhci";
320 status = "disable";
321 };
322
Joseph Load03b1a2013-10-08 12:50:05 +0800323 cpus {
324 #address-cells = <1>;
325 #size-cells = <0>;
326
327 cpu@0 {
328 device_type = "cpu";
329 compatible = "arm,cortex-a15";
330 reg = <0>;
331 };
332
333 cpu@1 {
334 device_type = "cpu";
335 compatible = "arm,cortex-a15";
336 reg = <1>;
337 };
338
339 cpu@2 {
340 device_type = "cpu";
341 compatible = "arm,cortex-a15";
342 reg = <2>;
343 };
344
345 cpu@3 {
346 device_type = "cpu";
347 compatible = "arm,cortex-a15";
348 reg = <3>;
349 };
350 };
351
352 timer {
353 compatible = "arm,armv7-timer";
354 interrupts = <GIC_PPI 13
355 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
356 <GIC_PPI 14
357 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
358 <GIC_PPI 11
359 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
360 <GIC_PPI 10
361 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
362 };
363};