Commit | Line | Data |
---|---|---|
b2441318 | 1 | // SPDX-License-Identifier: GPL-2.0 |
05849c93 | 2 | #include <dt-bindings/clock/tegra30-car.h> |
3325f1bc | 3 | #include <dt-bindings/gpio/tegra-gpio.h> |
6d9adf6f | 4 | #include <dt-bindings/memory/tegra30-mc.h> |
a47c662a | 5 | #include <dt-bindings/pinctrl/pinctrl-tegra.h> |
6cecf916 | 6 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
86614b5d | 7 | #include <dt-bindings/soc/tegra-pmc.h> |
3325f1bc | 8 | |
c3e00a0e PDS |
9 | / { |
10 | compatible = "nvidia,tegra30"; | |
870c81a4 | 11 | interrupt-parent = <&lic>; |
f48ba1ae KK |
12 | #address-cells = <1>; |
13 | #size-cells = <1>; | |
14 | ||
48299769 | 15 | memory@80000000 { |
f48ba1ae | 16 | device_type = "memory"; |
48299769 | 17 | reg = <0x80000000 0x0>; |
f48ba1ae | 18 | }; |
c3e00a0e | 19 | |
508d690e | 20 | pcie@3000 { |
e07e3dbd TR |
21 | compatible = "nvidia,tegra30-pcie"; |
22 | device_type = "pci"; | |
9482a170 TR |
23 | reg = <0x00003000 0x00000800>, /* PADS registers */ |
24 | <0x00003800 0x00000200>, /* AFI registers */ | |
25 | <0x10000000 0x10000000>; /* configuration space */ | |
e07e3dbd | 26 | reg-names = "pads", "afi", "cs"; |
9482a170 TR |
27 | interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ |
28 | <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ | |
e07e3dbd TR |
29 | interrupt-names = "intr", "msi"; |
30 | ||
97070bd4 LS |
31 | #interrupt-cells = <1>; |
32 | interrupt-map-mask = <0 0 0 0>; | |
33 | interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; | |
34 | ||
e07e3dbd TR |
35 | bus-range = <0x00 0xff>; |
36 | #address-cells = <3>; | |
37 | #size-cells = <2>; | |
38 | ||
9482a170 TR |
39 | ranges = <0x02000000 0 0x00000000 0x00000000 0 0x00001000>, /* port 0 configuration space */ |
40 | <0x02000000 0 0x00001000 0x00001000 0 0x00001000>, /* port 1 configuration space */ | |
41 | <0x02000000 0 0x00004000 0x00004000 0 0x00001000>, /* port 2 configuration space */ | |
42 | <0x01000000 0 0 0x02000000 0 0x00010000>, /* downstream I/O */ | |
43 | <0x02000000 0 0x20000000 0x20000000 0 0x08000000>, /* non-prefetchable memory */ | |
44 | <0x42000000 0 0x28000000 0x28000000 0 0x18000000>; /* prefetchable memory */ | |
e07e3dbd TR |
45 | |
46 | clocks = <&tegra_car TEGRA30_CLK_PCIE>, | |
47 | <&tegra_car TEGRA30_CLK_AFI>, | |
e07e3dbd TR |
48 | <&tegra_car TEGRA30_CLK_PLL_E>, |
49 | <&tegra_car TEGRA30_CLK_CML0>; | |
2bd541ff | 50 | clock-names = "pex", "afi", "pll_e", "cml"; |
3393d422 | 51 | resets = <&tegra_car 70>, |
d8b316b2 MZ |
52 | <&tegra_car 72>, |
53 | <&tegra_car 74>; | |
3393d422 | 54 | reset-names = "pex", "afi", "pcie_x"; |
e07e3dbd TR |
55 | status = "disabled"; |
56 | ||
57 | pci@1,0 { | |
58 | device_type = "pci"; | |
59 | assigned-addresses = <0x82000800 0 0x00000000 0 0x1000>; | |
60 | reg = <0x000800 0 0 0 0>; | |
508d690e | 61 | bus-range = <0x00 0xff>; |
e07e3dbd TR |
62 | status = "disabled"; |
63 | ||
64 | #address-cells = <3>; | |
65 | #size-cells = <2>; | |
66 | ranges; | |
67 | ||
68 | nvidia,num-lanes = <2>; | |
69 | }; | |
70 | ||
71 | pci@2,0 { | |
72 | device_type = "pci"; | |
73 | assigned-addresses = <0x82001000 0 0x00001000 0 0x1000>; | |
74 | reg = <0x001000 0 0 0 0>; | |
508d690e | 75 | bus-range = <0x00 0xff>; |
e07e3dbd TR |
76 | status = "disabled"; |
77 | ||
78 | #address-cells = <3>; | |
79 | #size-cells = <2>; | |
80 | ranges; | |
81 | ||
82 | nvidia,num-lanes = <2>; | |
83 | }; | |
84 | ||
85 | pci@3,0 { | |
86 | device_type = "pci"; | |
87 | assigned-addresses = <0x82001800 0 0x00004000 0 0x1000>; | |
88 | reg = <0x001800 0 0 0 0>; | |
508d690e | 89 | bus-range = <0x00 0xff>; |
e07e3dbd TR |
90 | status = "disabled"; |
91 | ||
92 | #address-cells = <3>; | |
93 | #size-cells = <2>; | |
94 | ranges; | |
95 | ||
96 | nvidia,num-lanes = <2>; | |
97 | }; | |
98 | }; | |
99 | ||
7fb09952 | 100 | sram@40000000 { |
ea857036 DO |
101 | compatible = "mmio-sram"; |
102 | reg = <0x40000000 0x40000>; | |
103 | #address-cells = <1>; | |
104 | #size-cells = <1>; | |
105 | ranges = <0 0x40000000 0x40000>; | |
55f939c2 | 106 | |
7fb09952 | 107 | vde_pool: sram@400 { |
55f939c2 DO |
108 | reg = <0x400 0x3fc00>; |
109 | pool; | |
110 | }; | |
ea857036 DO |
111 | }; |
112 | ||
58ecb23f | 113 | host1x@50000000 { |
f0fd20a5 | 114 | compatible = "nvidia,tegra30-host1x"; |
ed39097c | 115 | reg = <0x50000000 0x00024000>; |
6cecf916 SW |
116 | interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ |
117 | <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ | |
6cc05ba2 | 118 | interrupt-names = "syncpt", "host1x"; |
05849c93 | 119 | clocks = <&tegra_car TEGRA30_CLK_HOST1X>; |
6cc05ba2 | 120 | clock-names = "host1x"; |
3393d422 SW |
121 | resets = <&tegra_car 28>; |
122 | reset-names = "host1x"; | |
1dac1827 | 123 | iommus = <&mc TEGRA_SWGROUP_HC>; |
ed39097c TR |
124 | |
125 | #address-cells = <1>; | |
126 | #size-cells = <1>; | |
127 | ||
128 | ranges = <0x54000000 0x54000000 0x04000000>; | |
129 | ||
58ecb23f | 130 | mpe@54040000 { |
ed39097c TR |
131 | compatible = "nvidia,tegra30-mpe"; |
132 | reg = <0x54040000 0x00040000>; | |
6cecf916 | 133 | interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 134 | clocks = <&tegra_car TEGRA30_CLK_MPE>; |
3393d422 SW |
135 | resets = <&tegra_car 60>; |
136 | reset-names = "mpe"; | |
1dac1827 DO |
137 | |
138 | iommus = <&mc TEGRA_SWGROUP_MPE>; | |
ed39097c TR |
139 | }; |
140 | ||
58ecb23f | 141 | vi@54080000 { |
ed39097c TR |
142 | compatible = "nvidia,tegra30-vi"; |
143 | reg = <0x54080000 0x00040000>; | |
6cecf916 | 144 | interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 145 | clocks = <&tegra_car TEGRA30_CLK_VI>; |
3393d422 SW |
146 | resets = <&tegra_car 20>; |
147 | reset-names = "vi"; | |
1dac1827 DO |
148 | |
149 | iommus = <&mc TEGRA_SWGROUP_VI>; | |
ed39097c TR |
150 | }; |
151 | ||
58ecb23f | 152 | epp@540c0000 { |
ed39097c TR |
153 | compatible = "nvidia,tegra30-epp"; |
154 | reg = <0x540c0000 0x00040000>; | |
6cecf916 | 155 | interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 156 | clocks = <&tegra_car TEGRA30_CLK_EPP>; |
3393d422 SW |
157 | resets = <&tegra_car 19>; |
158 | reset-names = "epp"; | |
1dac1827 DO |
159 | |
160 | iommus = <&mc TEGRA_SWGROUP_EPP>; | |
ed39097c TR |
161 | }; |
162 | ||
58ecb23f | 163 | isp@54100000 { |
ed39097c TR |
164 | compatible = "nvidia,tegra30-isp"; |
165 | reg = <0x54100000 0x00040000>; | |
6cecf916 | 166 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 167 | clocks = <&tegra_car TEGRA30_CLK_ISP>; |
3393d422 SW |
168 | resets = <&tegra_car 23>; |
169 | reset-names = "isp"; | |
1dac1827 DO |
170 | |
171 | iommus = <&mc TEGRA_SWGROUP_ISP>; | |
ed39097c TR |
172 | }; |
173 | ||
58ecb23f | 174 | gr2d@54140000 { |
ed39097c TR |
175 | compatible = "nvidia,tegra30-gr2d"; |
176 | reg = <0x54140000 0x00040000>; | |
6cecf916 | 177 | interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; |
da45d738 | 178 | clocks = <&tegra_car TEGRA30_CLK_GR2D>; |
3393d422 SW |
179 | resets = <&tegra_car 21>; |
180 | reset-names = "2d"; | |
1dac1827 DO |
181 | |
182 | iommus = <&mc TEGRA_SWGROUP_G2>; | |
ed39097c TR |
183 | }; |
184 | ||
58ecb23f | 185 | gr3d@54180000 { |
ed39097c TR |
186 | compatible = "nvidia,tegra30-gr3d"; |
187 | reg = <0x54180000 0x00040000>; | |
9482a170 TR |
188 | clocks = <&tegra_car TEGRA30_CLK_GR3D>, |
189 | <&tegra_car TEGRA30_CLK_GR3D2>; | |
1cbc733d | 190 | clock-names = "3d", "3d2"; |
3393d422 | 191 | resets = <&tegra_car 24>, |
d8b316b2 | 192 | <&tegra_car 98>; |
3393d422 | 193 | reset-names = "3d", "3d2"; |
1dac1827 DO |
194 | |
195 | iommus = <&mc TEGRA_SWGROUP_NV>, | |
196 | <&mc TEGRA_SWGROUP_NV2>; | |
ed39097c TR |
197 | }; |
198 | ||
199 | dc@54200000 { | |
05465f4e | 200 | compatible = "nvidia,tegra30-dc", "nvidia,tegra20-dc"; |
ed39097c | 201 | reg = <0x54200000 0x00040000>; |
6cecf916 | 202 | interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 HD |
203 | clocks = <&tegra_car TEGRA30_CLK_DISP1>, |
204 | <&tegra_car TEGRA30_CLK_PLL_P>; | |
d8f64797 | 205 | clock-names = "dc", "parent"; |
3393d422 SW |
206 | resets = <&tegra_car 27>; |
207 | reset-names = "dc"; | |
ed39097c | 208 | |
6d9adf6f TR |
209 | iommus = <&mc TEGRA_SWGROUP_DC>; |
210 | ||
688b56b4 TR |
211 | nvidia,head = <0>; |
212 | ||
ed39097c TR |
213 | rgb { |
214 | status = "disabled"; | |
215 | }; | |
216 | }; | |
217 | ||
218 | dc@54240000 { | |
219 | compatible = "nvidia,tegra30-dc"; | |
220 | reg = <0x54240000 0x00040000>; | |
6cecf916 | 221 | interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 HD |
222 | clocks = <&tegra_car TEGRA30_CLK_DISP2>, |
223 | <&tegra_car TEGRA30_CLK_PLL_P>; | |
d8f64797 | 224 | clock-names = "dc", "parent"; |
3393d422 SW |
225 | resets = <&tegra_car 26>; |
226 | reset-names = "dc"; | |
ed39097c | 227 | |
6d9adf6f TR |
228 | iommus = <&mc TEGRA_SWGROUP_DCB>; |
229 | ||
688b56b4 TR |
230 | nvidia,head = <1>; |
231 | ||
ed39097c TR |
232 | rgb { |
233 | status = "disabled"; | |
234 | }; | |
235 | }; | |
236 | ||
58ecb23f | 237 | hdmi@54280000 { |
ed39097c TR |
238 | compatible = "nvidia,tegra30-hdmi"; |
239 | reg = <0x54280000 0x00040000>; | |
6cecf916 | 240 | interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 HD |
241 | clocks = <&tegra_car TEGRA30_CLK_HDMI>, |
242 | <&tegra_car TEGRA30_CLK_PLL_D2_OUT0>; | |
1cbc733d | 243 | clock-names = "hdmi", "parent"; |
3393d422 SW |
244 | resets = <&tegra_car 51>; |
245 | reset-names = "hdmi"; | |
ed39097c TR |
246 | status = "disabled"; |
247 | }; | |
248 | ||
58ecb23f | 249 | tvo@542c0000 { |
ed39097c TR |
250 | compatible = "nvidia,tegra30-tvo"; |
251 | reg = <0x542c0000 0x00040000>; | |
6cecf916 | 252 | interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 253 | clocks = <&tegra_car TEGRA30_CLK_TVO>; |
ed39097c TR |
254 | status = "disabled"; |
255 | }; | |
256 | ||
58ecb23f | 257 | dsi@54300000 { |
ed39097c TR |
258 | compatible = "nvidia,tegra30-dsi"; |
259 | reg = <0x54300000 0x00040000>; | |
eb6563a6 TR |
260 | clocks = <&tegra_car TEGRA30_CLK_DSIA>, |
261 | <&tegra_car TEGRA30_CLK_PLL_D_OUT0>; | |
262 | clock-names = "dsi", "parent"; | |
3393d422 SW |
263 | resets = <&tegra_car 48>; |
264 | reset-names = "dsi"; | |
ed39097c TR |
265 | status = "disabled"; |
266 | }; | |
267 | }; | |
268 | ||
2cda1880 | 269 | timer@50040600 { |
73368ba0 SW |
270 | compatible = "arm,cortex-a9-twd-timer"; |
271 | reg = <0x50040600 0x20>; | |
870c81a4 | 272 | interrupt-parent = <&intc>; |
6cecf916 | 273 | interrupts = <GIC_PPI 13 |
e7d9b270 | 274 | (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; |
05849c93 | 275 | clocks = <&tegra_car TEGRA30_CLK_TWD>; |
73368ba0 SW |
276 | }; |
277 | ||
58ecb23f | 278 | intc: interrupt-controller@50041000 { |
c3e00a0e | 279 | compatible = "arm,cortex-a9-gic"; |
9482a170 TR |
280 | reg = <0x50041000 0x1000>, |
281 | <0x50040100 0x0100>; | |
2eaab06e SW |
282 | interrupt-controller; |
283 | #interrupt-cells = <3>; | |
870c81a4 | 284 | interrupt-parent = <&intc>; |
c3e00a0e PDS |
285 | }; |
286 | ||
58ecb23f | 287 | cache-controller@50043000 { |
bb2c1de9 SW |
288 | compatible = "arm,pl310-cache"; |
289 | reg = <0x50043000 0x1000>; | |
290 | arm,data-latency = <6 6 2>; | |
291 | arm,tag-latency = <5 5 2>; | |
292 | cache-unified; | |
293 | cache-level = <2>; | |
294 | }; | |
295 | ||
870c81a4 MZ |
296 | lic: interrupt-controller@60004000 { |
297 | compatible = "nvidia,tegra30-ictlr"; | |
298 | reg = <0x60004000 0x100>, | |
299 | <0x60004100 0x50>, | |
300 | <0x60004200 0x50>, | |
301 | <0x60004300 0x50>, | |
302 | <0x60004400 0x50>; | |
303 | interrupt-controller; | |
304 | #interrupt-cells = <3>; | |
305 | interrupt-parent = <&intc>; | |
306 | }; | |
307 | ||
2f2b7fb2 SW |
308 | timer@60005000 { |
309 | compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer"; | |
310 | reg = <0x60005000 0x400>; | |
6cecf916 SW |
311 | interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, |
312 | <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, | |
313 | <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, | |
314 | <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, | |
315 | <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, | |
316 | <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; | |
05849c93 | 317 | clocks = <&tegra_car TEGRA30_CLK_TIMER>; |
2f2b7fb2 SW |
318 | }; |
319 | ||
58ecb23f | 320 | tegra_car: clock@60006000 { |
95985667 PG |
321 | compatible = "nvidia,tegra30-car"; |
322 | reg = <0x60006000 0x1000>; | |
323 | #clock-cells = <1>; | |
3393d422 | 324 | #reset-cells = <1>; |
95985667 PG |
325 | }; |
326 | ||
b1023134 TR |
327 | flow-controller@60007000 { |
328 | compatible = "nvidia,tegra30-flowctrl"; | |
329 | reg = <0x60007000 0x1000>; | |
330 | }; | |
331 | ||
58ecb23f | 332 | apbdma: dma@6000a000 { |
8051b75a SW |
333 | compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; |
334 | reg = <0x6000a000 0x1400>; | |
6cecf916 SW |
335 | interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, |
336 | <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, | |
337 | <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, | |
338 | <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, | |
339 | <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, | |
340 | <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, | |
341 | <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, | |
342 | <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, | |
343 | <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, | |
344 | <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, | |
345 | <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, | |
346 | <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, | |
347 | <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, | |
348 | <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, | |
349 | <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, | |
350 | <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, | |
351 | <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, | |
352 | <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>, | |
353 | <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, | |
354 | <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, | |
355 | <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>, | |
356 | <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, | |
357 | <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, | |
358 | <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, | |
359 | <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, | |
360 | <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, | |
361 | <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, | |
362 | <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, | |
363 | <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, | |
364 | <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, | |
365 | <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, | |
366 | <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; | |
05849c93 | 367 | clocks = <&tegra_car TEGRA30_CLK_APBDMA>; |
3393d422 SW |
368 | resets = <&tegra_car 34>; |
369 | reset-names = "dma"; | |
034d023f | 370 | #dma-cells = <1>; |
8051b75a SW |
371 | }; |
372 | ||
0d5ccb38 | 373 | ahb: ahb@6000c000 { |
c04abb3a | 374 | compatible = "nvidia,tegra30-ahb"; |
0d5ccb38 | 375 | reg = <0x6000c000 0x150>; /* AHB Arbitration + Gizmo Controller */ |
c3e00a0e PDS |
376 | }; |
377 | ||
1078946b DO |
378 | actmon@6000c800 { |
379 | compatible = "nvidia,tegra30-actmon"; | |
380 | reg = <0x6000c800 0x400>; | |
381 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; | |
382 | clocks = <&tegra_car TEGRA30_CLK_ACTMON>, | |
383 | <&tegra_car TEGRA30_CLK_EMC>; | |
384 | clock-names = "actmon", "emc"; | |
385 | resets = <&tegra_car TEGRA30_CLK_ACTMON>; | |
386 | reset-names = "actmon"; | |
387 | }; | |
388 | ||
58ecb23f | 389 | gpio: gpio@6000d000 { |
35f210ec | 390 | compatible = "nvidia,tegra30-gpio"; |
95decf84 | 391 | reg = <0x6000d000 0x1000>; |
6cecf916 SW |
392 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, |
393 | <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, | |
394 | <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, | |
395 | <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, | |
396 | <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, | |
397 | <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, | |
398 | <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, | |
399 | <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; | |
c3e00a0e PDS |
400 | #gpio-cells = <2>; |
401 | gpio-controller; | |
6f74dc9b SW |
402 | #interrupt-cells = <2>; |
403 | interrupt-controller; | |
4f1d8414 | 404 | /* |
17cdddf0 | 405 | gpio-ranges = <&pinmux 0 0 248>; |
4f1d8414 | 406 | */ |
c3e00a0e PDS |
407 | }; |
408 | ||
55f939c2 DO |
409 | vde@6001a000 { |
410 | compatible = "nvidia,tegra30-vde", "nvidia,tegra20-vde"; | |
9482a170 TR |
411 | reg = <0x6001a000 0x1000>, /* Syntax Engine */ |
412 | <0x6001b000 0x1000>, /* Video Bitstream Engine */ | |
413 | <0x6001c000 0x100>, /* Macroblock Engine */ | |
414 | <0x6001c200 0x100>, /* Post-processing Engine */ | |
415 | <0x6001c400 0x100>, /* Motion Compensation Engine */ | |
416 | <0x6001c600 0x100>, /* Transform Engine */ | |
417 | <0x6001c800 0x100>, /* Pixel prediction block */ | |
418 | <0x6001ca00 0x100>, /* Video DMA */ | |
419 | <0x6001d800 0x400>; /* Video frame controls */ | |
55f939c2 DO |
420 | reg-names = "sxe", "bsev", "mbe", "ppe", "mce", |
421 | "tfe", "ppb", "vdma", "frameid"; | |
422 | iram = <&vde_pool>; /* IRAM region */ | |
423 | interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */ | |
424 | <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */ | |
425 | <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */ | |
426 | interrupt-names = "sync-token", "bsev", "sxe"; | |
427 | clocks = <&tegra_car TEGRA30_CLK_VDE>; | |
d072094b DO |
428 | reset-names = "vde", "mc"; |
429 | resets = <&tegra_car 61>, <&mc TEGRA30_MC_RESET_VDE>; | |
cdc233fb | 430 | iommus = <&mc TEGRA_SWGROUP_VDE>; |
55f939c2 DO |
431 | }; |
432 | ||
155dfc7b PDS |
433 | apbmisc@70000800 { |
434 | compatible = "nvidia,tegra30-apbmisc", "nvidia,tegra20-apbmisc"; | |
9482a170 TR |
435 | reg = <0x70000800 0x64>, /* Chip revision */ |
436 | <0x70000008 0x04>; /* Strapping options */ | |
155dfc7b PDS |
437 | }; |
438 | ||
58ecb23f | 439 | pinmux: pinmux@70000868 { |
c04abb3a | 440 | compatible = "nvidia,tegra30-pinmux"; |
9482a170 TR |
441 | reg = <0x70000868 0x0d4>, /* Pad control registers */ |
442 | <0x70003000 0x3e4>; /* Mux registers */ | |
c04abb3a SW |
443 | }; |
444 | ||
b6551bb9 LD |
445 | /* |
446 | * There are two serial driver i.e. 8250 based simple serial | |
447 | * driver and APB DMA based serial driver for higher baudrate | |
448 | * and performace. To enable the 8250 based driver, the compatible | |
449 | * is "nvidia,tegra30-uart", "nvidia,tegra20-uart" and to enable | |
e1098248 | 450 | * the APB DMA based serial driver, the compatible is |
b6551bb9 LD |
451 | * "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart". |
452 | */ | |
453 | uarta: serial@70006000 { | |
c3e00a0e PDS |
454 | compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart"; |
455 | reg = <0x70006000 0x40>; | |
456 | reg-shift = <2>; | |
6cecf916 | 457 | interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 458 | clocks = <&tegra_car TEGRA30_CLK_UARTA>; |
3393d422 SW |
459 | resets = <&tegra_car 6>; |
460 | reset-names = "serial"; | |
034d023f SW |
461 | dmas = <&apbdma 8>, <&apbdma 8>; |
462 | dma-names = "rx", "tx"; | |
223ef78d | 463 | status = "disabled"; |
c3e00a0e PDS |
464 | }; |
465 | ||
b6551bb9 | 466 | uartb: serial@70006040 { |
c3e00a0e PDS |
467 | compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart"; |
468 | reg = <0x70006040 0x40>; | |
469 | reg-shift = <2>; | |
6cecf916 | 470 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 471 | clocks = <&tegra_car TEGRA30_CLK_UARTB>; |
3393d422 SW |
472 | resets = <&tegra_car 7>; |
473 | reset-names = "serial"; | |
034d023f SW |
474 | dmas = <&apbdma 9>, <&apbdma 9>; |
475 | dma-names = "rx", "tx"; | |
223ef78d | 476 | status = "disabled"; |
c3e00a0e PDS |
477 | }; |
478 | ||
b6551bb9 | 479 | uartc: serial@70006200 { |
c3e00a0e PDS |
480 | compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart"; |
481 | reg = <0x70006200 0x100>; | |
482 | reg-shift = <2>; | |
6cecf916 | 483 | interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 484 | clocks = <&tegra_car TEGRA30_CLK_UARTC>; |
3393d422 SW |
485 | resets = <&tegra_car 55>; |
486 | reset-names = "serial"; | |
034d023f SW |
487 | dmas = <&apbdma 10>, <&apbdma 10>; |
488 | dma-names = "rx", "tx"; | |
223ef78d | 489 | status = "disabled"; |
c3e00a0e PDS |
490 | }; |
491 | ||
b6551bb9 | 492 | uartd: serial@70006300 { |
c3e00a0e PDS |
493 | compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart"; |
494 | reg = <0x70006300 0x100>; | |
495 | reg-shift = <2>; | |
6cecf916 | 496 | interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 497 | clocks = <&tegra_car TEGRA30_CLK_UARTD>; |
3393d422 SW |
498 | resets = <&tegra_car 65>; |
499 | reset-names = "serial"; | |
034d023f SW |
500 | dmas = <&apbdma 19>, <&apbdma 19>; |
501 | dma-names = "rx", "tx"; | |
223ef78d | 502 | status = "disabled"; |
c3e00a0e PDS |
503 | }; |
504 | ||
b6551bb9 | 505 | uarte: serial@70006400 { |
c3e00a0e PDS |
506 | compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart"; |
507 | reg = <0x70006400 0x100>; | |
508 | reg-shift = <2>; | |
6cecf916 | 509 | interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 510 | clocks = <&tegra_car TEGRA30_CLK_UARTE>; |
3393d422 SW |
511 | resets = <&tegra_car 66>; |
512 | reset-names = "serial"; | |
034d023f SW |
513 | dmas = <&apbdma 20>, <&apbdma 20>; |
514 | dma-names = "rx", "tx"; | |
223ef78d | 515 | status = "disabled"; |
c3e00a0e PDS |
516 | }; |
517 | ||
5e35c1f0 MK |
518 | gmi@70009000 { |
519 | compatible = "nvidia,tegra30-gmi"; | |
520 | reg = <0x70009000 0x1000>; | |
521 | #address-cells = <2>; | |
522 | #size-cells = <1>; | |
523 | ranges = <0 0 0x48000000 0x7ffffff>; | |
524 | clocks = <&tegra_car TEGRA30_CLK_NOR>; | |
525 | clock-names = "gmi"; | |
526 | resets = <&tegra_car 42>; | |
527 | reset-names = "gmi"; | |
528 | status = "disabled"; | |
529 | }; | |
530 | ||
58ecb23f | 531 | pwm: pwm@7000a000 { |
140fd977 TR |
532 | compatible = "nvidia,tegra30-pwm", "nvidia,tegra20-pwm"; |
533 | reg = <0x7000a000 0x100>; | |
534 | #pwm-cells = <2>; | |
05849c93 | 535 | clocks = <&tegra_car TEGRA30_CLK_PWM>; |
3393d422 SW |
536 | resets = <&tegra_car 17>; |
537 | reset-names = "pwm"; | |
b69cd984 | 538 | status = "disabled"; |
140fd977 TR |
539 | }; |
540 | ||
58ecb23f | 541 | rtc@7000e000 { |
380e04ac SW |
542 | compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc"; |
543 | reg = <0x7000e000 0x100>; | |
6cecf916 | 544 | interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 545 | clocks = <&tegra_car TEGRA30_CLK_RTC>; |
380e04ac SW |
546 | }; |
547 | ||
c04abb3a | 548 | i2c@7000c000 { |
d8b316b2 | 549 | compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; |
c04abb3a | 550 | reg = <0x7000c000 0x100>; |
6cecf916 | 551 | interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; |
2eaab06e SW |
552 | #address-cells = <1>; |
553 | #size-cells = <0>; | |
05849c93 HD |
554 | clocks = <&tegra_car TEGRA30_CLK_I2C1>, |
555 | <&tegra_car TEGRA30_CLK_PLL_P_OUT3>; | |
1cbc733d | 556 | clock-names = "div-clk", "fast-clk"; |
3393d422 SW |
557 | resets = <&tegra_car 12>; |
558 | reset-names = "i2c"; | |
034d023f SW |
559 | dmas = <&apbdma 21>, <&apbdma 21>; |
560 | dma-names = "rx", "tx"; | |
223ef78d | 561 | status = "disabled"; |
c3e00a0e PDS |
562 | }; |
563 | ||
c04abb3a | 564 | i2c@7000c400 { |
c04abb3a SW |
565 | compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; |
566 | reg = <0x7000c400 0x100>; | |
6cecf916 | 567 | interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; |
2eaab06e SW |
568 | #address-cells = <1>; |
569 | #size-cells = <0>; | |
05849c93 HD |
570 | clocks = <&tegra_car TEGRA30_CLK_I2C2>, |
571 | <&tegra_car TEGRA30_CLK_PLL_P_OUT3>; | |
1cbc733d | 572 | clock-names = "div-clk", "fast-clk"; |
3393d422 SW |
573 | resets = <&tegra_car 54>; |
574 | reset-names = "i2c"; | |
034d023f SW |
575 | dmas = <&apbdma 22>, <&apbdma 22>; |
576 | dma-names = "rx", "tx"; | |
223ef78d | 577 | status = "disabled"; |
c3e00a0e PDS |
578 | }; |
579 | ||
c04abb3a | 580 | i2c@7000c500 { |
c04abb3a SW |
581 | compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; |
582 | reg = <0x7000c500 0x100>; | |
6cecf916 | 583 | interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; |
2eaab06e SW |
584 | #address-cells = <1>; |
585 | #size-cells = <0>; | |
05849c93 HD |
586 | clocks = <&tegra_car TEGRA30_CLK_I2C3>, |
587 | <&tegra_car TEGRA30_CLK_PLL_P_OUT3>; | |
1cbc733d | 588 | clock-names = "div-clk", "fast-clk"; |
3393d422 SW |
589 | resets = <&tegra_car 67>; |
590 | reset-names = "i2c"; | |
034d023f SW |
591 | dmas = <&apbdma 23>, <&apbdma 23>; |
592 | dma-names = "rx", "tx"; | |
223ef78d | 593 | status = "disabled"; |
c3e00a0e PDS |
594 | }; |
595 | ||
c04abb3a | 596 | i2c@7000c700 { |
c04abb3a SW |
597 | compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; |
598 | reg = <0x7000c700 0x100>; | |
6cecf916 | 599 | interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; |
2eaab06e SW |
600 | #address-cells = <1>; |
601 | #size-cells = <0>; | |
05849c93 HD |
602 | clocks = <&tegra_car TEGRA30_CLK_I2C4>, |
603 | <&tegra_car TEGRA30_CLK_PLL_P_OUT3>; | |
3393d422 SW |
604 | resets = <&tegra_car 103>; |
605 | reset-names = "i2c"; | |
1cbc733d | 606 | clock-names = "div-clk", "fast-clk"; |
034d023f SW |
607 | dmas = <&apbdma 26>, <&apbdma 26>; |
608 | dma-names = "rx", "tx"; | |
223ef78d | 609 | status = "disabled"; |
c3e00a0e PDS |
610 | }; |
611 | ||
c04abb3a | 612 | i2c@7000d000 { |
c04abb3a SW |
613 | compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; |
614 | reg = <0x7000d000 0x100>; | |
6cecf916 | 615 | interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; |
2eaab06e SW |
616 | #address-cells = <1>; |
617 | #size-cells = <0>; | |
05849c93 HD |
618 | clocks = <&tegra_car TEGRA30_CLK_I2C5>, |
619 | <&tegra_car TEGRA30_CLK_PLL_P_OUT3>; | |
1cbc733d | 620 | clock-names = "div-clk", "fast-clk"; |
3393d422 SW |
621 | resets = <&tegra_car 47>; |
622 | reset-names = "i2c"; | |
034d023f SW |
623 | dmas = <&apbdma 24>, <&apbdma 24>; |
624 | dma-names = "rx", "tx"; | |
223ef78d | 625 | status = "disabled"; |
c04abb3a SW |
626 | }; |
627 | ||
a86b0db3 LD |
628 | spi@7000d400 { |
629 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | |
630 | reg = <0x7000d400 0x200>; | |
6cecf916 | 631 | interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; |
a86b0db3 LD |
632 | #address-cells = <1>; |
633 | #size-cells = <0>; | |
05849c93 | 634 | clocks = <&tegra_car TEGRA30_CLK_SBC1>; |
3393d422 SW |
635 | resets = <&tegra_car 41>; |
636 | reset-names = "spi"; | |
034d023f SW |
637 | dmas = <&apbdma 15>, <&apbdma 15>; |
638 | dma-names = "rx", "tx"; | |
a86b0db3 LD |
639 | status = "disabled"; |
640 | }; | |
641 | ||
642 | spi@7000d600 { | |
643 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | |
644 | reg = <0x7000d600 0x200>; | |
6cecf916 | 645 | interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; |
a86b0db3 LD |
646 | #address-cells = <1>; |
647 | #size-cells = <0>; | |
05849c93 | 648 | clocks = <&tegra_car TEGRA30_CLK_SBC2>; |
3393d422 SW |
649 | resets = <&tegra_car 44>; |
650 | reset-names = "spi"; | |
034d023f SW |
651 | dmas = <&apbdma 16>, <&apbdma 16>; |
652 | dma-names = "rx", "tx"; | |
a86b0db3 LD |
653 | status = "disabled"; |
654 | }; | |
655 | ||
656 | spi@7000d800 { | |
657 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | |
57471c8d | 658 | reg = <0x7000d800 0x200>; |
6cecf916 | 659 | interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; |
a86b0db3 LD |
660 | #address-cells = <1>; |
661 | #size-cells = <0>; | |
05849c93 | 662 | clocks = <&tegra_car TEGRA30_CLK_SBC3>; |
3393d422 SW |
663 | resets = <&tegra_car 46>; |
664 | reset-names = "spi"; | |
034d023f SW |
665 | dmas = <&apbdma 17>, <&apbdma 17>; |
666 | dma-names = "rx", "tx"; | |
a86b0db3 LD |
667 | status = "disabled"; |
668 | }; | |
669 | ||
670 | spi@7000da00 { | |
671 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | |
672 | reg = <0x7000da00 0x200>; | |
6cecf916 | 673 | interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; |
a86b0db3 LD |
674 | #address-cells = <1>; |
675 | #size-cells = <0>; | |
05849c93 | 676 | clocks = <&tegra_car TEGRA30_CLK_SBC4>; |
3393d422 SW |
677 | resets = <&tegra_car 68>; |
678 | reset-names = "spi"; | |
034d023f SW |
679 | dmas = <&apbdma 18>, <&apbdma 18>; |
680 | dma-names = "rx", "tx"; | |
a86b0db3 LD |
681 | status = "disabled"; |
682 | }; | |
683 | ||
684 | spi@7000dc00 { | |
685 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | |
686 | reg = <0x7000dc00 0x200>; | |
6cecf916 | 687 | interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; |
a86b0db3 LD |
688 | #address-cells = <1>; |
689 | #size-cells = <0>; | |
05849c93 | 690 | clocks = <&tegra_car TEGRA30_CLK_SBC5>; |
3393d422 SW |
691 | resets = <&tegra_car 104>; |
692 | reset-names = "spi"; | |
034d023f SW |
693 | dmas = <&apbdma 27>, <&apbdma 27>; |
694 | dma-names = "rx", "tx"; | |
a86b0db3 LD |
695 | status = "disabled"; |
696 | }; | |
697 | ||
698 | spi@7000de00 { | |
699 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | |
700 | reg = <0x7000de00 0x200>; | |
6cecf916 | 701 | interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; |
a86b0db3 LD |
702 | #address-cells = <1>; |
703 | #size-cells = <0>; | |
05849c93 | 704 | clocks = <&tegra_car TEGRA30_CLK_SBC6>; |
3393d422 SW |
705 | resets = <&tegra_car 106>; |
706 | reset-names = "spi"; | |
034d023f SW |
707 | dmas = <&apbdma 28>, <&apbdma 28>; |
708 | dma-names = "rx", "tx"; | |
a86b0db3 LD |
709 | status = "disabled"; |
710 | }; | |
711 | ||
58ecb23f | 712 | kbc@7000e200 { |
699ed4b9 LD |
713 | compatible = "nvidia,tegra30-kbc", "nvidia,tegra20-kbc"; |
714 | reg = <0x7000e200 0x100>; | |
6cecf916 | 715 | interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 716 | clocks = <&tegra_car TEGRA30_CLK_KBC>; |
3393d422 SW |
717 | resets = <&tegra_car 36>; |
718 | reset-names = "kbc"; | |
699ed4b9 LD |
719 | status = "disabled"; |
720 | }; | |
721 | ||
86614b5d | 722 | tegra_pmc: pmc@7000e400 { |
2b84e53b | 723 | compatible = "nvidia,tegra30-pmc"; |
c04abb3a | 724 | reg = <0x7000e400 0x400>; |
05849c93 | 725 | clocks = <&tegra_car TEGRA30_CLK_PCLK>, <&clk32k_in>; |
7021d122 | 726 | clock-names = "pclk", "clk32k_in"; |
86614b5d | 727 | #clock-cells = <1>; |
c04abb3a SW |
728 | }; |
729 | ||
a9fe468f | 730 | mc: memory-controller@7000f000 { |
c04abb3a | 731 | compatible = "nvidia,tegra30-mc"; |
a9fe468f TR |
732 | reg = <0x7000f000 0x400>; |
733 | clocks = <&tegra_car TEGRA30_CLK_MC>; | |
734 | clock-names = "mc"; | |
735 | ||
6cecf916 | 736 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; |
c04abb3a | 737 | |
a9fe468f | 738 | #iommu-cells = <1>; |
d072094b | 739 | #reset-cells = <1>; |
c3e00a0e | 740 | }; |
9ee6a5c4 | 741 | |
3193a063 DO |
742 | memory-controller@7000f400 { |
743 | compatible = "nvidia,tegra30-emc"; | |
744 | reg = <0x7000f400 0x400>; | |
745 | interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; | |
746 | clocks = <&tegra_car TEGRA30_CLK_EMC>; | |
747 | ||
748 | nvidia,memory-controller = <&mc>; | |
749 | }; | |
750 | ||
155dfc7b PDS |
751 | fuse@7000f800 { |
752 | compatible = "nvidia,tegra30-efuse"; | |
753 | reg = <0x7000f800 0x400>; | |
754 | clocks = <&tegra_car TEGRA30_CLK_FUSE>; | |
755 | clock-names = "fuse"; | |
756 | resets = <&tegra_car 39>; | |
757 | reset-names = "fuse"; | |
758 | }; | |
759 | ||
cbee2613 MZ |
760 | hda@70030000 { |
761 | compatible = "nvidia,tegra30-hda"; | |
762 | reg = <0x70030000 0x10000>; | |
763 | interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; | |
764 | clocks = <&tegra_car TEGRA30_CLK_HDA>, | |
d8b316b2 | 765 | <&tegra_car TEGRA30_CLK_HDA2HDMI>, |
cbee2613 MZ |
766 | <&tegra_car TEGRA30_CLK_HDA2CODEC_2X>; |
767 | clock-names = "hda", "hda2hdmi", "hda2codec_2x"; | |
768 | resets = <&tegra_car 125>, /* hda */ | |
769 | <&tegra_car 128>, /* hda2hdmi */ | |
770 | <&tegra_car 111>; /* hda2codec_2x */ | |
771 | reset-names = "hda", "hda2hdmi", "hda2codec_2x"; | |
772 | status = "disabled"; | |
773 | }; | |
774 | ||
58ecb23f | 775 | ahub@70080000 { |
9ee6a5c4 | 776 | compatible = "nvidia,tegra30-ahub"; |
9482a170 TR |
777 | reg = <0x70080000 0x200>, |
778 | <0x70080200 0x100>; | |
6cecf916 | 779 | interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 780 | clocks = <&tegra_car TEGRA30_CLK_D_AUDIO>, |
2bd541ff SW |
781 | <&tegra_car TEGRA30_CLK_APBIF>; |
782 | clock-names = "d_audio", "apbif"; | |
3393d422 SW |
783 | resets = <&tegra_car 106>, /* d_audio */ |
784 | <&tegra_car 107>, /* apbif */ | |
785 | <&tegra_car 30>, /* i2s0 */ | |
786 | <&tegra_car 11>, /* i2s1 */ | |
787 | <&tegra_car 18>, /* i2s2 */ | |
788 | <&tegra_car 101>, /* i2s3 */ | |
789 | <&tegra_car 102>, /* i2s4 */ | |
790 | <&tegra_car 108>, /* dam0 */ | |
791 | <&tegra_car 109>, /* dam1 */ | |
792 | <&tegra_car 110>, /* dam2 */ | |
793 | <&tegra_car 10>; /* spdif */ | |
794 | reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2", | |
795 | "i2s3", "i2s4", "dam0", "dam1", "dam2", | |
796 | "spdif"; | |
034d023f SW |
797 | dmas = <&apbdma 1>, <&apbdma 1>, |
798 | <&apbdma 2>, <&apbdma 2>, | |
799 | <&apbdma 3>, <&apbdma 3>, | |
800 | <&apbdma 4>, <&apbdma 4>; | |
801 | dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2", | |
802 | "rx3", "tx3"; | |
9ee6a5c4 SW |
803 | ranges; |
804 | #address-cells = <1>; | |
805 | #size-cells = <1>; | |
806 | ||
807 | tegra_i2s0: i2s@70080300 { | |
808 | compatible = "nvidia,tegra30-i2s"; | |
809 | reg = <0x70080300 0x100>; | |
810 | nvidia,ahub-cif-ids = <4 4>; | |
05849c93 | 811 | clocks = <&tegra_car TEGRA30_CLK_I2S0>; |
3393d422 SW |
812 | resets = <&tegra_car 30>; |
813 | reset-names = "i2s"; | |
223ef78d | 814 | status = "disabled"; |
9ee6a5c4 SW |
815 | }; |
816 | ||
817 | tegra_i2s1: i2s@70080400 { | |
818 | compatible = "nvidia,tegra30-i2s"; | |
819 | reg = <0x70080400 0x100>; | |
820 | nvidia,ahub-cif-ids = <5 5>; | |
05849c93 | 821 | clocks = <&tegra_car TEGRA30_CLK_I2S1>; |
3393d422 SW |
822 | resets = <&tegra_car 11>; |
823 | reset-names = "i2s"; | |
223ef78d | 824 | status = "disabled"; |
9ee6a5c4 SW |
825 | }; |
826 | ||
827 | tegra_i2s2: i2s@70080500 { | |
828 | compatible = "nvidia,tegra30-i2s"; | |
829 | reg = <0x70080500 0x100>; | |
830 | nvidia,ahub-cif-ids = <6 6>; | |
05849c93 | 831 | clocks = <&tegra_car TEGRA30_CLK_I2S2>; |
3393d422 SW |
832 | resets = <&tegra_car 18>; |
833 | reset-names = "i2s"; | |
223ef78d | 834 | status = "disabled"; |
9ee6a5c4 SW |
835 | }; |
836 | ||
837 | tegra_i2s3: i2s@70080600 { | |
838 | compatible = "nvidia,tegra30-i2s"; | |
839 | reg = <0x70080600 0x100>; | |
840 | nvidia,ahub-cif-ids = <7 7>; | |
05849c93 | 841 | clocks = <&tegra_car TEGRA30_CLK_I2S3>; |
3393d422 SW |
842 | resets = <&tegra_car 101>; |
843 | reset-names = "i2s"; | |
223ef78d | 844 | status = "disabled"; |
9ee6a5c4 SW |
845 | }; |
846 | ||
847 | tegra_i2s4: i2s@70080700 { | |
848 | compatible = "nvidia,tegra30-i2s"; | |
849 | reg = <0x70080700 0x100>; | |
850 | nvidia,ahub-cif-ids = <8 8>; | |
05849c93 | 851 | clocks = <&tegra_car TEGRA30_CLK_I2S4>; |
3393d422 SW |
852 | resets = <&tegra_car 102>; |
853 | reset-names = "i2s"; | |
223ef78d | 854 | status = "disabled"; |
9ee6a5c4 SW |
855 | }; |
856 | }; | |
7868a9bc | 857 | |
32c096c2 | 858 | mmc@78000000 { |
c04abb3a SW |
859 | compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci"; |
860 | reg = <0x78000000 0x200>; | |
6cecf916 | 861 | interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 862 | clocks = <&tegra_car TEGRA30_CLK_SDMMC1>; |
f538588b | 863 | clock-names = "sdhci"; |
3393d422 SW |
864 | resets = <&tegra_car 14>; |
865 | reset-names = "sdhci"; | |
223ef78d | 866 | status = "disabled"; |
7868a9bc | 867 | }; |
ecf43742 | 868 | |
32c096c2 | 869 | mmc@78000200 { |
c04abb3a SW |
870 | compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci"; |
871 | reg = <0x78000200 0x200>; | |
6cecf916 | 872 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 873 | clocks = <&tegra_car TEGRA30_CLK_SDMMC2>; |
f538588b | 874 | clock-names = "sdhci"; |
3393d422 SW |
875 | resets = <&tegra_car 9>; |
876 | reset-names = "sdhci"; | |
223ef78d | 877 | status = "disabled"; |
ecf43742 | 878 | }; |
54174a33 | 879 | |
32c096c2 | 880 | mmc@78000400 { |
c04abb3a SW |
881 | compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci"; |
882 | reg = <0x78000400 0x200>; | |
6cecf916 | 883 | interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 884 | clocks = <&tegra_car TEGRA30_CLK_SDMMC3>; |
f538588b | 885 | clock-names = "sdhci"; |
3393d422 SW |
886 | resets = <&tegra_car 69>; |
887 | reset-names = "sdhci"; | |
223ef78d | 888 | status = "disabled"; |
c04abb3a SW |
889 | }; |
890 | ||
32c096c2 | 891 | mmc@78000600 { |
c04abb3a SW |
892 | compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci"; |
893 | reg = <0x78000600 0x200>; | |
6cecf916 | 894 | interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; |
05849c93 | 895 | clocks = <&tegra_car TEGRA30_CLK_SDMMC4>; |
f538588b | 896 | clock-names = "sdhci"; |
3393d422 SW |
897 | resets = <&tegra_car 15>; |
898 | reset-names = "sdhci"; | |
223ef78d | 899 | status = "disabled"; |
c04abb3a SW |
900 | }; |
901 | ||
cc34c9f7 TT |
902 | usb@7d000000 { |
903 | compatible = "nvidia,tegra30-ehci", "usb-ehci"; | |
904 | reg = <0x7d000000 0x4000>; | |
905 | interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; | |
906 | phy_type = "utmi"; | |
907 | clocks = <&tegra_car TEGRA30_CLK_USBD>; | |
3393d422 SW |
908 | resets = <&tegra_car 22>; |
909 | reset-names = "usb"; | |
cc34c9f7 TT |
910 | nvidia,needs-double-reset; |
911 | nvidia,phy = <&phy1>; | |
912 | status = "disabled"; | |
913 | }; | |
914 | ||
915 | phy1: usb-phy@7d000000 { | |
916 | compatible = "nvidia,tegra30-usb-phy"; | |
9482a170 TR |
917 | reg = <0x7d000000 0x4000>, |
918 | <0x7d000000 0x4000>; | |
cc34c9f7 TT |
919 | phy_type = "utmi"; |
920 | clocks = <&tegra_car TEGRA30_CLK_USBD>, | |
921 | <&tegra_car TEGRA30_CLK_PLL_U>, | |
922 | <&tegra_car TEGRA30_CLK_USBD>; | |
923 | clock-names = "reg", "pll_u", "utmi-pads"; | |
308efde2 TT |
924 | resets = <&tegra_car 22>, <&tegra_car 22>; |
925 | reset-names = "usb", "utmi-pads"; | |
4c0bb8ca | 926 | #phy-cells = <0>; |
cc34c9f7 TT |
927 | nvidia,hssync-start-delay = <9>; |
928 | nvidia,idle-wait-delay = <17>; | |
929 | nvidia,elastic-limit = <16>; | |
930 | nvidia,term-range-adj = <6>; | |
931 | nvidia,xcvr-setup = <51>; | |
564706f6 | 932 | nvidia,xcvr-setup-use-fuses; |
cc34c9f7 TT |
933 | nvidia,xcvr-lsfslew = <1>; |
934 | nvidia,xcvr-lsrslew = <1>; | |
935 | nvidia,xcvr-hsslew = <32>; | |
936 | nvidia,hssquelch-level = <2>; | |
937 | nvidia,hsdiscon-level = <5>; | |
308efde2 | 938 | nvidia,has-utmi-pad-registers; |
cc34c9f7 TT |
939 | status = "disabled"; |
940 | }; | |
941 | ||
942 | usb@7d004000 { | |
943 | compatible = "nvidia,tegra30-ehci", "usb-ehci"; | |
944 | reg = <0x7d004000 0x4000>; | |
945 | interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; | |
fd6441ec | 946 | phy_type = "utmi"; |
cc34c9f7 | 947 | clocks = <&tegra_car TEGRA30_CLK_USB2>; |
3393d422 SW |
948 | resets = <&tegra_car 58>; |
949 | reset-names = "usb"; | |
cc34c9f7 TT |
950 | nvidia,phy = <&phy2>; |
951 | status = "disabled"; | |
952 | }; | |
953 | ||
954 | phy2: usb-phy@7d004000 { | |
955 | compatible = "nvidia,tegra30-usb-phy"; | |
9482a170 TR |
956 | reg = <0x7d004000 0x4000>, |
957 | <0x7d000000 0x4000>; | |
fd6441ec | 958 | phy_type = "utmi"; |
cc34c9f7 TT |
959 | clocks = <&tegra_car TEGRA30_CLK_USB2>, |
960 | <&tegra_car TEGRA30_CLK_PLL_U>, | |
fd6441ec EB |
961 | <&tegra_car TEGRA30_CLK_USBD>; |
962 | clock-names = "reg", "pll_u", "utmi-pads"; | |
308efde2 TT |
963 | resets = <&tegra_car 58>, <&tegra_car 22>; |
964 | reset-names = "usb", "utmi-pads"; | |
4c0bb8ca | 965 | #phy-cells = <0>; |
fd6441ec EB |
966 | nvidia,hssync-start-delay = <9>; |
967 | nvidia,idle-wait-delay = <17>; | |
968 | nvidia,elastic-limit = <16>; | |
969 | nvidia,term-range-adj = <6>; | |
970 | nvidia,xcvr-setup = <51>; | |
564706f6 | 971 | nvidia,xcvr-setup-use-fuses; |
fd6441ec EB |
972 | nvidia,xcvr-lsfslew = <2>; |
973 | nvidia,xcvr-lsrslew = <2>; | |
974 | nvidia,xcvr-hsslew = <32>; | |
975 | nvidia,hssquelch-level = <2>; | |
976 | nvidia,hsdiscon-level = <5>; | |
cc34c9f7 TT |
977 | status = "disabled"; |
978 | }; | |
979 | ||
980 | usb@7d008000 { | |
981 | compatible = "nvidia,tegra30-ehci", "usb-ehci"; | |
982 | reg = <0x7d008000 0x4000>; | |
983 | interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; | |
984 | phy_type = "utmi"; | |
985 | clocks = <&tegra_car TEGRA30_CLK_USB3>; | |
3393d422 SW |
986 | resets = <&tegra_car 59>; |
987 | reset-names = "usb"; | |
cc34c9f7 TT |
988 | nvidia,phy = <&phy3>; |
989 | status = "disabled"; | |
990 | }; | |
991 | ||
992 | phy3: usb-phy@7d008000 { | |
993 | compatible = "nvidia,tegra30-usb-phy"; | |
9482a170 TR |
994 | reg = <0x7d008000 0x4000>, |
995 | <0x7d000000 0x4000>; | |
cc34c9f7 TT |
996 | phy_type = "utmi"; |
997 | clocks = <&tegra_car TEGRA30_CLK_USB3>, | |
998 | <&tegra_car TEGRA30_CLK_PLL_U>, | |
999 | <&tegra_car TEGRA30_CLK_USBD>; | |
1000 | clock-names = "reg", "pll_u", "utmi-pads"; | |
308efde2 TT |
1001 | resets = <&tegra_car 59>, <&tegra_car 22>; |
1002 | reset-names = "usb", "utmi-pads"; | |
4c0bb8ca | 1003 | #phy-cells = <0>; |
cc34c9f7 TT |
1004 | nvidia,hssync-start-delay = <0>; |
1005 | nvidia,idle-wait-delay = <17>; | |
1006 | nvidia,elastic-limit = <16>; | |
1007 | nvidia,term-range-adj = <6>; | |
1008 | nvidia,xcvr-setup = <51>; | |
564706f6 | 1009 | nvidia,xcvr-setup-use-fuses; |
cc34c9f7 TT |
1010 | nvidia,xcvr-lsfslew = <2>; |
1011 | nvidia,xcvr-lsrslew = <2>; | |
1012 | nvidia,xcvr-hsslew = <32>; | |
1013 | nvidia,hssquelch-level = <2>; | |
1014 | nvidia,hsdiscon-level = <5>; | |
1015 | status = "disabled"; | |
1016 | }; | |
1017 | ||
7d19a34a HD |
1018 | cpus { |
1019 | #address-cells = <1>; | |
1020 | #size-cells = <0>; | |
1021 | ||
1022 | cpu@0 { | |
1023 | device_type = "cpu"; | |
1024 | compatible = "arm,cortex-a9"; | |
1025 | reg = <0>; | |
663bd487 | 1026 | clocks = <&tegra_car TEGRA30_CLK_CCLK_G>; |
7d19a34a HD |
1027 | }; |
1028 | ||
1029 | cpu@1 { | |
1030 | device_type = "cpu"; | |
1031 | compatible = "arm,cortex-a9"; | |
1032 | reg = <1>; | |
663bd487 | 1033 | clocks = <&tegra_car TEGRA30_CLK_CCLK_G>; |
7d19a34a HD |
1034 | }; |
1035 | ||
1036 | cpu@2 { | |
1037 | device_type = "cpu"; | |
1038 | compatible = "arm,cortex-a9"; | |
1039 | reg = <2>; | |
663bd487 | 1040 | clocks = <&tegra_car TEGRA30_CLK_CCLK_G>; |
7d19a34a HD |
1041 | }; |
1042 | ||
1043 | cpu@3 { | |
1044 | device_type = "cpu"; | |
1045 | compatible = "arm,cortex-a9"; | |
1046 | reg = <3>; | |
663bd487 | 1047 | clocks = <&tegra_car TEGRA30_CLK_CCLK_G>; |
7d19a34a HD |
1048 | }; |
1049 | }; | |
1050 | ||
c04abb3a SW |
1051 | pmu { |
1052 | compatible = "arm,cortex-a9-pmu"; | |
6cecf916 SW |
1053 | interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, |
1054 | <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, | |
1055 | <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, | |
1056 | <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; | |
2db12b16 MZ |
1057 | interrupt-affinity = <&{/cpus/cpu@0}>, |
1058 | <&{/cpus/cpu@1}>, | |
1059 | <&{/cpus/cpu@2}>, | |
1060 | <&{/cpus/cpu@3}>; | |
54174a33 | 1061 | }; |
c3e00a0e | 1062 | }; |