blob: fe070bc4c862cb998f56e8e85bd87efa8a36aa1b [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
179 rtc@7000e000 {
180 compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
181 reg = <0x7000e000 0x100>;
182 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
Joseph Lo3b86baf2013-10-08 15:47:40 +0800183 clocks = <&tegra_car TEGRA124_CLK_RTC>;
Joseph Load03b1a2013-10-08 12:50:05 +0800184 };
185
186 pmc@7000e400 {
187 compatible = "nvidia,tegra124-pmc";
188 reg = <0x7000e400 0x400>;
Joseph Lo3b86baf2013-10-08 15:47:40 +0800189 clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>;
190 clock-names = "pclk", "clk32k_in";
Joseph Load03b1a2013-10-08 12:50:05 +0800191 };
192
193 cpus {
194 #address-cells = <1>;
195 #size-cells = <0>;
196
197 cpu@0 {
198 device_type = "cpu";
199 compatible = "arm,cortex-a15";
200 reg = <0>;
201 };
202
203 cpu@1 {
204 device_type = "cpu";
205 compatible = "arm,cortex-a15";
206 reg = <1>;
207 };
208
209 cpu@2 {
210 device_type = "cpu";
211 compatible = "arm,cortex-a15";
212 reg = <2>;
213 };
214
215 cpu@3 {
216 device_type = "cpu";
217 compatible = "arm,cortex-a15";
218 reg = <3>;
219 };
220 };
221
222 timer {
223 compatible = "arm,armv7-timer";
224 interrupts = <GIC_PPI 13
225 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
226 <GIC_PPI 14
227 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
228 <GIC_PPI 11
229 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
230 <GIC_PPI 10
231 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
232 };
233};