blob: cac9b1123020e4434fd1fd15e3ce0774e6982a42 [file] [log] [blame]
Simon Glass0c24f372014-09-04 16:27:35 -06001#include <dt-bindings/clock/tegra124-car.h>
Simon Glass9d3eefd2014-06-11 23:29:52 -06002#include <dt-bindings/gpio/tegra-gpio.h>
Simon Glass74c25712016-01-30 16:37:43 -07003#include <dt-bindings/memory/tegra124-mc.h>
Simon Glass6e0a66c2014-12-04 06:36:29 -07004#include <dt-bindings/pinctrl/pinctrl-tegra.h>
Thierry Redinga2810c22014-12-09 22:25:10 -07005#include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h>
Simon Glass74c25712016-01-30 16:37:43 -07006#include <dt-bindings/interrupt-controller/arm-gic.h>
7#include <dt-bindings/reset/tegra124-car.h>
8#include <dt-bindings/thermal/tegra124-soctherm.h>
Simon Glass9d3eefd2014-06-11 23:29:52 -06009
Tom Warren81f1ec72014-01-24 12:46:17 -070010#include "skeleton.dtsi"
11
12/ {
13 compatible = "nvidia,tegra124";
Simon Glass74c25712016-01-30 16:37:43 -070014 interrupt-parent = <&lic>;
15
Thierry Redinge6947352014-12-09 22:25:19 -070016
Thierry Reding2afec172019-04-15 11:32:37 +020017 pcie@1003000 {
Thierry Reding7b104642014-12-09 22:25:20 -070018 compatible = "nvidia,tegra124-pcie";
19 device_type = "pci";
20 reg = <0x01003000 0x00000800 /* PADS registers */
21 0x01003800 0x00000800 /* AFI registers */
22 0x02000000 0x10000000>; /* configuration space */
23 reg-names = "pads", "afi", "cs";
24 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
25 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
26 interrupt-names = "intr", "msi";
27
28 #interrupt-cells = <1>;
29 interrupt-map-mask = <0 0 0 0>;
30 interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
31
32 bus-range = <0x00 0xff>;
33 #address-cells = <3>;
34 #size-cells = <2>;
35
36 ranges = <0x82000000 0 0x01000000 0x01000000 0 0x00001000 /* port 0 configuration space */
37 0x82000000 0 0x01001000 0x01001000 0 0x00001000 /* port 1 configuration space */
38 0x81000000 0 0x0 0x12000000 0 0x00010000 /* downstream I/O (64 KiB) */
39 0x82000000 0 0x13000000 0x13000000 0 0x0d000000 /* non-prefetchable memory (208 MiB) */
40 0xc2000000 0 0x20000000 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
41
42 clocks = <&tegra_car TEGRA124_CLK_PCIE>,
43 <&tegra_car TEGRA124_CLK_AFI>,
44 <&tegra_car TEGRA124_CLK_PLL_E>,
45 <&tegra_car TEGRA124_CLK_CML0>;
46 clock-names = "pex", "afi", "pll_e", "cml";
47 resets = <&tegra_car 70>,
48 <&tegra_car 72>,
49 <&tegra_car 74>;
50 reset-names = "pex", "afi", "pcie_x";
51 status = "disabled";
52
53 phys = <&padctl TEGRA_XUSB_PADCTL_PCIE>;
54 phy-names = "pcie";
55
56 pci@1,0 {
57 device_type = "pci";
58 assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
59 reg = <0x000800 0 0 0 0>;
60 status = "disabled";
61
62 #address-cells = <3>;
63 #size-cells = <2>;
64 ranges;
65
66 nvidia,num-lanes = <2>;
67 };
68
69 pci@2,0 {
70 device_type = "pci";
71 assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
72 reg = <0x001000 0 0 0 0>;
73 status = "disabled";
74
75 #address-cells = <3>;
76 #size-cells = <2>;
77 ranges;
78
79 nvidia,num-lanes = <1>;
80 };
81 };
82
Simon Glassf33fd602015-04-14 21:03:30 -060083 host1x@50000000 {
84 compatible = "nvidia,tegra124-host1x", "simple-bus";
85 reg = <0x50000000 0x00034000>;
86 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
87 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
88 clocks = <&tegra_car TEGRA124_CLK_HOST1X>;
89 resets = <&tegra_car 28>;
90 reset-names = "host1x";
91
92 #address-cells = <1>;
93 #size-cells = <1>;
94
95 ranges = <0x54000000 0x54000000 0x01000000>;
96
97 dc@54200000 {
98 compatible = "nvidia,tegra124-dc";
99 reg = <0x54200000 0x00040000>;
100 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
101 clocks = <&tegra_car TEGRA124_CLK_DISP1>,
102 <&tegra_car TEGRA124_CLK_PLL_P>;
103 clock-names = "dc", "parent";
104 resets = <&tegra_car 27>;
105 reset-names = "dc";
106
Simon Glass74c25712016-01-30 16:37:43 -0700107 iommus = <&mc TEGRA_SWGROUP_DC>;
108
Simon Glassf33fd602015-04-14 21:03:30 -0600109 nvidia,head = <0>;
110 };
111
112 dc@54240000 {
113 compatible = "nvidia,tegra124-dc";
114 reg = <0x54240000 0x00040000>;
115 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
116 clocks = <&tegra_car TEGRA124_CLK_DISP2>,
117 <&tegra_car TEGRA124_CLK_PLL_P>;
118 clock-names = "dc", "parent";
119 resets = <&tegra_car 26>;
120 reset-names = "dc";
121
Simon Glass74c25712016-01-30 16:37:43 -0700122 iommus = <&mc TEGRA_SWGROUP_DCB>;
123
Simon Glassf33fd602015-04-14 21:03:30 -0600124 nvidia,head = <1>;
125 };
126
127 hdmi@54280000 {
128 compatible = "nvidia,tegra124-hdmi";
129 reg = <0x54280000 0x00040000>;
130 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
131 clocks = <&tegra_car TEGRA124_CLK_HDMI>,
132 <&tegra_car TEGRA124_CLK_PLL_D2_OUT0>;
133 clock-names = "hdmi", "parent";
134 resets = <&tegra_car 51>;
135 reset-names = "hdmi";
136 status = "disabled";
137 };
138
Svyatoslav Ryhel3d3f02d2024-11-18 08:32:13 +0200139 dsi@54300000 {
140 compatible = "nvidia,tegra124-dsi";
141 reg = <0x54300000 0x00040000>;
142 clocks = <&tegra_car TEGRA124_CLK_DSIA>,
143 <&tegra_car TEGRA124_CLK_DSIALP>,
144 <&tegra_car TEGRA124_CLK_PLL_D_OUT0>;
145 clock-names = "dsi", "lp", "parent";
146 resets = <&tegra_car 48>;
147 reset-names = "dsi";
148 nvidia,mipi-calibrate = <&mipi 0x060>; /* DSIA & DSIB pads */
149 status = "disabled";
150
151 #address-cells = <1>;
152 #size-cells = <0>;
153 };
154
155 dsi@54400000 {
156 compatible = "nvidia,tegra124-dsi";
157 reg = <0x54400000 0x00040000>;
158 clocks = <&tegra_car TEGRA124_CLK_DSIB>,
159 <&tegra_car TEGRA124_CLK_DSIBLP>,
160 <&tegra_car TEGRA124_CLK_PLL_D_OUT0>;
161 clock-names = "dsi", "lp", "parent";
162 resets = <&tegra_car 82>;
163 reset-names = "dsi";
164 nvidia,mipi-calibrate = <&mipi 0x180>; /* DSIC & DSID pads */
165 status = "disabled";
166
167 #address-cells = <1>;
168 #size-cells = <0>;
169 };
170
Simon Glassf33fd602015-04-14 21:03:30 -0600171 sor@54540000 {
172 compatible = "nvidia,tegra124-sor";
173 reg = <0x54540000 0x00040000>;
174 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
175 clocks = <&tegra_car TEGRA124_CLK_SOR0>,
176 <&tegra_car TEGRA124_CLK_PLL_D_OUT0>,
177 <&tegra_car TEGRA124_CLK_PLL_DP>,
178 <&tegra_car TEGRA124_CLK_CLK_M>;
179 clock-names = "sor", "parent", "dp", "safe";
180 resets = <&tegra_car 182>;
181 reset-names = "sor";
182 status = "disabled";
183 };
184
185 dpaux: dpaux@545c0000 {
186 compatible = "nvidia,tegra124-dpaux";
187 reg = <0x545c0000 0x00040000>;
188 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
189 clocks = <&tegra_car TEGRA124_CLK_DPAUX>,
190 <&tegra_car TEGRA124_CLK_PLL_DP>;
191 clock-names = "dpaux", "parent";
192 resets = <&tegra_car 181>;
193 reset-names = "dpaux";
194 status = "disabled";
195 };
196 };
197
Thierry Redinge6947352014-12-09 22:25:19 -0700198 gic: interrupt-controller@50041000 {
199 compatible = "arm,cortex-a15-gic";
200 #interrupt-cells = <3>;
201 interrupt-controller;
202 reg = <0x50041000 0x1000>,
203 <0x50042000 0x2000>,
204 <0x50044000 0x2000>,
205 <0x50046000 0x2000>;
206 interrupts = <GIC_PPI 9
207 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
Simon Glass74c25712016-01-30 16:37:43 -0700208 interrupt-parent = <&gic>;
Thierry Redinge6947352014-12-09 22:25:19 -0700209 };
Tom Warren81f1ec72014-01-24 12:46:17 -0700210
Simon Glass74c25712016-01-30 16:37:43 -0700211 gpu@57000000 {
212 compatible = "nvidia,gk20a";
213 reg = <0x57000000 0x01000000>,
214 <0x58000000 0x01000000>;
215 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
216 <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
217 interrupt-names = "stall", "nonstall";
218 clocks = <&tegra_car TEGRA124_CLK_GPU>,
219 <&tegra_car TEGRA124_CLK_PLL_P_OUT5>;
220 clock-names = "gpu", "pwr";
221 resets = <&tegra_car 184>;
222 reset-names = "gpu";
223
224 iommus = <&mc TEGRA_SWGROUP_GPU>;
225
226 status = "disabled";
227 };
228
229 lic: interrupt-controller@60004000 {
230 compatible = "nvidia,tegra124-ictlr", "nvidia,tegra30-ictlr";
Stephen Warrend62577d2016-09-13 10:45:53 -0600231 reg = <0x0 0x60004000 0x0 0x100>,
232 <0x0 0x60004100 0x0 0x100>,
233 <0x0 0x60004200 0x0 0x100>,
234 <0x0 0x60004300 0x0 0x100>,
235 <0x0 0x60004400 0x0 0x100>;
Simon Glass74c25712016-01-30 16:37:43 -0700236 interrupt-controller;
237 #interrupt-cells = <3>;
238 interrupt-parent = <&gic>;
239 };
240
241 timer@60005000 {
Stephen Warrend62577d2016-09-13 10:45:53 -0600242 compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer", "nvidia,tegra20-timer";
Simon Glass74c25712016-01-30 16:37:43 -0700243 reg = <0x60005000 0x400>;
244 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
245 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
246 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
247 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
248 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
249 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
250 clocks = <&tegra_car TEGRA124_CLK_TIMER>;
251 };
252
Tom Warren81f1ec72014-01-24 12:46:17 -0700253 tegra_car: clock@60006000 {
254 compatible = "nvidia,tegra124-car";
255 reg = <0x60006000 0x1000>;
256 #clock-cells = <1>;
Simon Glass74c25712016-01-30 16:37:43 -0700257 #reset-cells = <1>;
258 nvidia,external-memory-controller = <&emc>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700259 };
260
Simon Glass74c25712016-01-30 16:37:43 -0700261 flow-controller@60007000 {
262 compatible = "nvidia,tegra124-flowctrl";
263 reg = <0x60007000 0x1000>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700264 };
265
Simon Glass74c25712016-01-30 16:37:43 -0700266 actmon@6000c800 {
267 compatible = "nvidia,tegra124-actmon";
268 reg = <0x6000c800 0x400>;
269 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
270 clocks = <&tegra_car TEGRA124_CLK_ACTMON>,
271 <&tegra_car TEGRA124_CLK_EMC>;
272 clock-names = "actmon", "emc";
273 resets = <&tegra_car 119>;
274 reset-names = "actmon";
275 };
276
Tom Warren81f1ec72014-01-24 12:46:17 -0700277 gpio: gpio@6000d000 {
278 compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
279 reg = <0x6000d000 0x1000>;
Simon Glass9d3eefd2014-06-11 23:29:52 -0600280 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
281 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
282 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
283 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
284 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
285 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
286 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
287 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700288 #gpio-cells = <2>;
289 gpio-controller;
290 #interrupt-cells = <2>;
291 interrupt-controller;
Simon Glass74c25712016-01-30 16:37:43 -0700292 /*
293 gpio-ranges = <&pinmux 0 0 251>;
294 */
Tom Warren81f1ec72014-01-24 12:46:17 -0700295 };
296
Simon Glass74c25712016-01-30 16:37:43 -0700297 apbdma: dma@60020000 {
298 compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
299 reg = <0x60020000 0x1400>;
300 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
301 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
302 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
303 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
304 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
305 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
306 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
307 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
308 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
309 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
310 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
311 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
312 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
313 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
314 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
315 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
316 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
317 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
318 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
319 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
320 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
321 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
322 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
323 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
324 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
325 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
326 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
327 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
328 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
329 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
330 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
331 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
332 clocks = <&tegra_car TEGRA124_CLK_APBDMA>;
333 resets = <&tegra_car 34>;
334 reset-names = "dma";
335 #dma-cells = <1>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700336 };
337
Simon Glass74c25712016-01-30 16:37:43 -0700338 apbmisc@70000800 {
339 compatible = "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc";
340 reg = <0x70000800 0x64>, /* Chip revision */
341 <0x7000e864 0x04>; /* Strapping options */
Tom Warren81f1ec72014-01-24 12:46:17 -0700342 };
343
Simon Glass74c25712016-01-30 16:37:43 -0700344 pinmux: pinmux@70000868 {
345 compatible = "nvidia,tegra124-pinmux";
346 reg = <0x70000868 0x164>, /* Pad control registers */
347 <0x70003000 0x434>, /* Mux registers */
348 <0x70000820 0x008>; /* MIPI pad control */
Tom Warren81f1ec72014-01-24 12:46:17 -0700349 };
350
Simon Glass74c25712016-01-30 16:37:43 -0700351 /*
352 * There are two serial driver i.e. 8250 based simple serial
353 * driver and APB DMA based serial driver for higher baudrate
354 * and performace. To enable the 8250 based driver, the compatible
355 * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
Stephen Warrend62577d2016-09-13 10:45:53 -0600356 * the APB DMA based serial driver, the compatible is
Simon Glass74c25712016-01-30 16:37:43 -0700357 * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
358 */
Simon Glass0c24f372014-09-04 16:27:35 -0600359 uarta: serial@70006000 {
360 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
361 reg = <0x70006000 0x40>;
362 reg-shift = <2>;
363 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
364 clocks = <&tegra_car TEGRA124_CLK_UARTA>;
365 resets = <&tegra_car 6>;
366 reset-names = "serial";
367 dmas = <&apbdma 8>, <&apbdma 8>;
368 dma-names = "rx", "tx";
369 status = "disabled";
370 };
371
372 uartb: serial@70006040 {
373 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
374 reg = <0x70006040 0x40>;
375 reg-shift = <2>;
376 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
377 clocks = <&tegra_car TEGRA124_CLK_UARTB>;
378 resets = <&tegra_car 7>;
379 reset-names = "serial";
380 dmas = <&apbdma 9>, <&apbdma 9>;
381 dma-names = "rx", "tx";
382 status = "disabled";
383 };
384
385 uartc: serial@70006200 {
386 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
387 reg = <0x70006200 0x40>;
388 reg-shift = <2>;
389 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
390 clocks = <&tegra_car TEGRA124_CLK_UARTC>;
391 resets = <&tegra_car 55>;
392 reset-names = "serial";
393 dmas = <&apbdma 10>, <&apbdma 10>;
394 dma-names = "rx", "tx";
395 status = "disabled";
396 };
397
398 uartd: serial@70006300 {
399 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
400 reg = <0x70006300 0x40>;
401 reg-shift = <2>;
402 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
403 clocks = <&tegra_car TEGRA124_CLK_UARTD>;
404 resets = <&tegra_car 65>;
405 reset-names = "serial";
406 dmas = <&apbdma 19>, <&apbdma 19>;
407 dma-names = "rx", "tx";
408 status = "disabled";
409 };
410
Simon Glass6e0a66c2014-12-04 06:36:29 -0700411 pwm: pwm@7000a000 {
Svyatoslav Ryhelc226fc72023-02-14 19:35:28 +0200412 compatible = "nvidia,tegra124-pwm", "nvidia,tegra114-pwm";
Simon Glass6e0a66c2014-12-04 06:36:29 -0700413 reg = <0x7000a000 0x100>;
414 #pwm-cells = <2>;
415 clocks = <&tegra_car TEGRA124_CLK_PWM>;
416 resets = <&tegra_car 17>;
417 reset-names = "pwm";
418 status = "disabled";
419 };
420
Simon Glass74c25712016-01-30 16:37:43 -0700421 i2c@7000c000 {
422 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
423 reg = <0x7000c000 0x100>;
424 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
425 #address-cells = <1>;
426 #size-cells = <0>;
427 clocks = <&tegra_car TEGRA124_CLK_I2C1>;
428 clock-names = "div-clk";
429 resets = <&tegra_car 12>;
430 reset-names = "i2c";
431 dmas = <&apbdma 21>, <&apbdma 21>;
432 dma-names = "rx", "tx";
433 status = "disabled";
434 };
435
436 i2c@7000c400 {
437 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
438 reg = <0x7000c400 0x100>;
Stephen Warrend62577d2016-09-13 10:45:53 -0600439 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
Simon Glass74c25712016-01-30 16:37:43 -0700440 #address-cells = <1>;
441 #size-cells = <0>;
Stephen Warrend62577d2016-09-13 10:45:53 -0600442 clocks = <&tegra_car TEGRA124_CLK_I2C2>;
443 clock-names = "div-clk";
444 resets = <&tegra_car 54>;
445 reset-names = "i2c";
446 dmas = <&apbdma 22>, <&apbdma 22>;
447 dma-names = "rx", "tx";
Simon Glass74c25712016-01-30 16:37:43 -0700448 status = "disabled";
449 };
450
451 i2c@7000c500 {
452 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
453 reg = <0x7000c500 0x100>;
454 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
455 #address-cells = <1>;
456 #size-cells = <0>;
457 clocks = <&tegra_car TEGRA124_CLK_I2C3>;
458 clock-names = "div-clk";
459 resets = <&tegra_car 67>;
460 reset-names = "i2c";
461 dmas = <&apbdma 23>, <&apbdma 23>;
462 dma-names = "rx", "tx";
463 status = "disabled";
464 };
465
466 i2c@7000c700 {
467 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
468 reg = <0x7000c700 0x100>;
469 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
470 #address-cells = <1>;
471 #size-cells = <0>;
472 clocks = <&tegra_car TEGRA124_CLK_I2C4>;
473 clock-names = "div-clk";
474 resets = <&tegra_car 103>;
475 reset-names = "i2c";
476 dmas = <&apbdma 26>, <&apbdma 26>;
477 dma-names = "rx", "tx";
478 status = "disabled";
479 };
480
481 i2c@7000d000 {
482 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
483 reg = <0x7000d000 0x100>;
484 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
485 #address-cells = <1>;
486 #size-cells = <0>;
487 clocks = <&tegra_car TEGRA124_CLK_I2C5>;
488 clock-names = "div-clk";
489 resets = <&tegra_car 47>;
490 reset-names = "i2c";
491 dmas = <&apbdma 24>, <&apbdma 24>;
492 dma-names = "rx", "tx";
493 status = "disabled";
494 };
495
496 i2c@7000d100 {
497 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
498 reg = <0x7000d100 0x100>;
499 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
500 #address-cells = <1>;
501 #size-cells = <0>;
502 clocks = <&tegra_car TEGRA124_CLK_I2C6>;
503 clock-names = "div-clk";
504 resets = <&tegra_car 166>;
505 reset-names = "i2c";
506 dmas = <&apbdma 30>, <&apbdma 30>;
507 dma-names = "rx", "tx";
508 status = "disabled";
509 };
510
Tom Warren81f1ec72014-01-24 12:46:17 -0700511 spi@7000d400 {
512 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
513 reg = <0x7000d400 0x200>;
Simon Glass74c25712016-01-30 16:37:43 -0700514 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700515 #address-cells = <1>;
516 #size-cells = <0>;
Simon Glass74c25712016-01-30 16:37:43 -0700517 clocks = <&tegra_car TEGRA124_CLK_SBC1>;
518 clock-names = "spi";
519 resets = <&tegra_car 41>;
520 reset-names = "spi";
521 dmas = <&apbdma 15>, <&apbdma 15>;
522 dma-names = "rx", "tx";
Tom Warren81f1ec72014-01-24 12:46:17 -0700523 status = "disabled";
Tom Warren81f1ec72014-01-24 12:46:17 -0700524 };
525
526 spi@7000d600 {
527 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
528 reg = <0x7000d600 0x200>;
Simon Glass74c25712016-01-30 16:37:43 -0700529 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700530 #address-cells = <1>;
531 #size-cells = <0>;
Simon Glass74c25712016-01-30 16:37:43 -0700532 clocks = <&tegra_car TEGRA124_CLK_SBC2>;
533 clock-names = "spi";
534 resets = <&tegra_car 44>;
535 reset-names = "spi";
536 dmas = <&apbdma 16>, <&apbdma 16>;
537 dma-names = "rx", "tx";
Tom Warren81f1ec72014-01-24 12:46:17 -0700538 status = "disabled";
Tom Warren81f1ec72014-01-24 12:46:17 -0700539 };
540
541 spi@7000d800 {
542 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
543 reg = <0x7000d800 0x200>;
Simon Glass74c25712016-01-30 16:37:43 -0700544 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700545 #address-cells = <1>;
546 #size-cells = <0>;
Simon Glass74c25712016-01-30 16:37:43 -0700547 clocks = <&tegra_car TEGRA124_CLK_SBC3>;
548 clock-names = "spi";
549 resets = <&tegra_car 46>;
550 reset-names = "spi";
551 dmas = <&apbdma 17>, <&apbdma 17>;
552 dma-names = "rx", "tx";
Tom Warren81f1ec72014-01-24 12:46:17 -0700553 status = "disabled";
Tom Warren81f1ec72014-01-24 12:46:17 -0700554 };
555
556 spi@7000da00 {
557 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
558 reg = <0x7000da00 0x200>;
Simon Glass74c25712016-01-30 16:37:43 -0700559 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700560 #address-cells = <1>;
561 #size-cells = <0>;
Simon Glass74c25712016-01-30 16:37:43 -0700562 clocks = <&tegra_car TEGRA124_CLK_SBC4>;
563 clock-names = "spi";
564 resets = <&tegra_car 68>;
565 reset-names = "spi";
566 dmas = <&apbdma 18>, <&apbdma 18>;
567 dma-names = "rx", "tx";
Tom Warren81f1ec72014-01-24 12:46:17 -0700568 status = "disabled";
Tom Warren81f1ec72014-01-24 12:46:17 -0700569 };
570
571 spi@7000dc00 {
572 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
573 reg = <0x7000dc00 0x200>;
Simon Glass74c25712016-01-30 16:37:43 -0700574 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700575 #address-cells = <1>;
576 #size-cells = <0>;
Simon Glass74c25712016-01-30 16:37:43 -0700577 clocks = <&tegra_car TEGRA124_CLK_SBC5>;
578 clock-names = "spi";
579 resets = <&tegra_car 104>;
580 reset-names = "spi";
581 dmas = <&apbdma 27>, <&apbdma 27>;
582 dma-names = "rx", "tx";
Tom Warren81f1ec72014-01-24 12:46:17 -0700583 status = "disabled";
Tom Warren81f1ec72014-01-24 12:46:17 -0700584 };
585
586 spi@7000de00 {
587 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
588 reg = <0x7000de00 0x200>;
Simon Glass74c25712016-01-30 16:37:43 -0700589 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700590 #address-cells = <1>;
591 #size-cells = <0>;
Simon Glass74c25712016-01-30 16:37:43 -0700592 clocks = <&tegra_car TEGRA124_CLK_SBC6>;
593 clock-names = "spi";
594 resets = <&tegra_car 105>;
595 reset-names = "spi";
596 dmas = <&apbdma 28>, <&apbdma 28>;
597 dma-names = "rx", "tx";
Tom Warren81f1ec72014-01-24 12:46:17 -0700598 status = "disabled";
Simon Glass74c25712016-01-30 16:37:43 -0700599 };
600
601 rtc@7000e000 {
602 compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
603 reg = <0x7000e000 0x100>;
604 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
605 clocks = <&tegra_car TEGRA124_CLK_RTC>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700606 };
607
Simon Glassf33fd602015-04-14 21:03:30 -0600608 pmc@7000e400 {
609 compatible = "nvidia,tegra124-pmc";
610 reg = <0x7000e400 0x400>;
Simon Glass74c25712016-01-30 16:37:43 -0700611 clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>;
612 clock-names = "pclk", "clk32k_in";
613 };
614
615 fuse@7000f800 {
616 compatible = "nvidia,tegra124-efuse";
617 reg = <0x7000f800 0x400>;
618 clocks = <&tegra_car TEGRA124_CLK_FUSE>;
619 clock-names = "fuse";
620 resets = <&tegra_car 39>;
621 reset-names = "fuse";
622 };
623
624 mc: memory-controller@70019000 {
625 compatible = "nvidia,tegra124-mc";
626 reg = <0x70019000 0x1000>;
627 clocks = <&tegra_car TEGRA124_CLK_MC>;
628 clock-names = "mc";
629
630 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
631
632 #iommu-cells = <1>;
633 };
634
635 emc: emc@7001b000 {
636 compatible = "nvidia,tegra124-emc";
637 reg = <0x7001b000 0x1000>;
638
639 nvidia,memory-controller = <&mc>;
640 };
641
642 sata@70020000 {
643 compatible = "nvidia,tegra124-ahci";
644 reg = <0x70027000 0x2000>, /* AHCI */
645 <0x70020000 0x7000>; /* SATA */
646 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
647 clocks = <&tegra_car TEGRA124_CLK_SATA>,
648 <&tegra_car TEGRA124_CLK_SATA_OOB>,
649 <&tegra_car TEGRA124_CLK_CML1>,
650 <&tegra_car TEGRA124_CLK_PLL_E>;
651 clock-names = "sata", "sata-oob", "cml1", "pll_e";
652 resets = <&tegra_car 124>,
653 <&tegra_car 123>,
654 <&tegra_car 129>;
655 reset-names = "sata", "sata-oob", "sata-cold";
656 phys = <&padctl TEGRA_XUSB_PADCTL_SATA>;
657 phy-names = "sata-phy";
658 status = "disabled";
Simon Glassf33fd602015-04-14 21:03:30 -0600659 };
660
Simon Glass74c25712016-01-30 16:37:43 -0700661 hda@70030000 {
662 compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
663 reg = <0x70030000 0x10000>;
664 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
665 clocks = <&tegra_car TEGRA124_CLK_HDA>,
666 <&tegra_car TEGRA124_CLK_HDA2HDMI>,
667 <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
668 clock-names = "hda", "hda2hdmi", "hda2codec_2x";
669 resets = <&tegra_car 125>, /* hda */
670 <&tegra_car 128>, /* hda2hdmi */
671 <&tegra_car 111>; /* hda2codec_2x */
672 reset-names = "hda", "hda2hdmi", "hda2codec_2x";
673 status = "disabled";
674 };
675
Stephen Warrend62577d2016-09-13 10:45:53 -0600676 usb@70090000 {
677 compatible = "nvidia,tegra124-xusb";
678 reg = <0x70090000 0x8000>,
679 <0x70098000 0x1000>,
680 <0x70099000 0x1000>;
681 reg-names = "hcd", "fpci", "ipfs";
682
683 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
684 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
685
686 clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>,
687 <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>,
688 <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>,
689 <&tegra_car TEGRA124_CLK_XUSB_SS>,
690 <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>,
691 <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>,
692 <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>,
693 <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>,
694 <&tegra_car TEGRA124_CLK_PLL_U_480M>,
695 <&tegra_car TEGRA124_CLK_CLK_M>,
696 <&tegra_car TEGRA124_CLK_PLL_E>;
697 clock-names = "xusb_host", "xusb_host_src",
698 "xusb_falcon_src", "xusb_ss",
699 "xusb_ss_div2", "xusb_ss_src",
700 "xusb_hs_src", "xusb_fs_src",
701 "pll_u_480m", "clk_m", "pll_e";
702 resets = <&tegra_car 89>, <&tegra_car 156>,
703 <&tegra_car 143>;
704 reset-names = "xusb_host", "xusb_ss", "xusb_src";
705
706 nvidia,xusb-padctl = <&padctl>;
707
708 status = "disabled";
709 };
710
Thierry Redinga2810c22014-12-09 22:25:10 -0700711 padctl: padctl@7009f000 {
712 compatible = "nvidia,tegra124-xusb-padctl";
713 reg = <0x7009f000 0x1000>;
714 resets = <&tegra_car 142>;
715 reset-names = "padctl";
716
717 #phy-cells = <1>;
718 };
719
Tom Warren81f1ec72014-01-24 12:46:17 -0700720 sdhci@700b0000 {
721 compatible = "nvidia,tegra124-sdhci";
722 reg = <0x700b0000 0x200>;
Simon Glass74c25712016-01-30 16:37:43 -0700723 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
724 clocks = <&tegra_car TEGRA124_CLK_SDMMC1>;
725 resets = <&tegra_car 14>;
726 reset-names = "sdhci";
Tom Warren81f1ec72014-01-24 12:46:17 -0700727 status = "disabled";
728 };
729
730 sdhci@700b0200 {
731 compatible = "nvidia,tegra124-sdhci";
732 reg = <0x700b0200 0x200>;
Simon Glass74c25712016-01-30 16:37:43 -0700733 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
734 clocks = <&tegra_car TEGRA124_CLK_SDMMC2>;
735 resets = <&tegra_car 9>;
736 reset-names = "sdhci";
Tom Warren81f1ec72014-01-24 12:46:17 -0700737 status = "disabled";
738 };
739
740 sdhci@700b0400 {
741 compatible = "nvidia,tegra124-sdhci";
742 reg = <0x700b0400 0x200>;
Simon Glass74c25712016-01-30 16:37:43 -0700743 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
744 clocks = <&tegra_car TEGRA124_CLK_SDMMC3>;
745 resets = <&tegra_car 69>;
746 reset-names = "sdhci";
Tom Warren81f1ec72014-01-24 12:46:17 -0700747 status = "disabled";
748 };
749
750 sdhci@700b0600 {
751 compatible = "nvidia,tegra124-sdhci";
752 reg = <0x700b0600 0x200>;
Simon Glass74c25712016-01-30 16:37:43 -0700753 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
754 clocks = <&tegra_car TEGRA124_CLK_SDMMC4>;
755 resets = <&tegra_car 15>;
756 reset-names = "sdhci";
Tom Warren81f1ec72014-01-24 12:46:17 -0700757 status = "disabled";
758 };
759
Simon Glass74c25712016-01-30 16:37:43 -0700760 soctherm: thermal-sensor@700e2000 {
761 compatible = "nvidia,tegra124-soctherm";
762 reg = <0x700e2000 0x1000>;
763 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
764 clocks = <&tegra_car TEGRA124_CLK_TSENSOR>,
765 <&tegra_car TEGRA124_CLK_SOC_THERM>;
766 clock-names = "tsensor", "soctherm";
767 resets = <&tegra_car 78>;
768 reset-names = "soctherm";
769 #thermal-sensor-cells = <1>;
770 };
771
Svyatoslav Ryhel3d3f02d2024-11-18 08:32:13 +0200772 mipi: mipi@700e3000 {
773 compatible = "nvidia,tegra124-mipi";
774 reg = <0x700e3000 0x100>;
775 clocks = <&tegra_car TEGRA124_CLK_MIPI_CAL>;
776 #nvidia,mipi-calibrate-cells = <1>;
777 };
778
Simon Glass74c25712016-01-30 16:37:43 -0700779 dfll: clock@70110000 {
780 compatible = "nvidia,tegra124-dfll";
781 reg = <0x70110000 0x100>, /* DFLL control */
782 <0x70110000 0x100>, /* I2C output control */
783 <0x70110100 0x100>, /* Integrated I2C controller */
784 <0x70110200 0x100>; /* Look-up table RAM */
785 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
786 clocks = <&tegra_car TEGRA124_CLK_DFLL_SOC>,
787 <&tegra_car TEGRA124_CLK_DFLL_REF>,
788 <&tegra_car TEGRA124_CLK_I2C5>;
789 clock-names = "soc", "ref", "i2c";
790 resets = <&tegra_car TEGRA124_RST_DFLL_DVCO>;
791 reset-names = "dvco";
792 #clock-cells = <0>;
793 clock-output-names = "dfllCPU_out";
794 nvidia,sample-rate = <12500>;
795 nvidia,droop-ctrl = <0x00000f00>;
796 nvidia,force-mode = <1>;
797 nvidia,cf = <10>;
798 nvidia,ci = <0>;
799 nvidia,cg = <2>;
800 status = "disabled";
801 };
802
Simon Glass6e0a66c2014-12-04 06:36:29 -0700803 ahub@70300000 {
804 compatible = "nvidia,tegra124-ahub";
805 reg = <0x70300000 0x200>,
806 <0x70300800 0x800>,
807 <0x70300200 0x600>;
808 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
809 clocks = <&tegra_car TEGRA124_CLK_D_AUDIO>,
810 <&tegra_car TEGRA124_CLK_APBIF>;
811 clock-names = "d_audio", "apbif";
812 resets = <&tegra_car 106>, /* d_audio */
813 <&tegra_car 107>, /* apbif */
814 <&tegra_car 30>, /* i2s0 */
815 <&tegra_car 11>, /* i2s1 */
816 <&tegra_car 18>, /* i2s2 */
817 <&tegra_car 101>, /* i2s3 */
818 <&tegra_car 102>, /* i2s4 */
819 <&tegra_car 108>, /* dam0 */
820 <&tegra_car 109>, /* dam1 */
821 <&tegra_car 110>, /* dam2 */
822 <&tegra_car 10>, /* spdif */
823 <&tegra_car 153>, /* amx */
824 <&tegra_car 185>, /* amx1 */
825 <&tegra_car 154>, /* adx */
826 <&tegra_car 180>, /* adx1 */
827 <&tegra_car 186>, /* afc0 */
828 <&tegra_car 187>, /* afc1 */
829 <&tegra_car 188>, /* afc2 */
830 <&tegra_car 189>, /* afc3 */
831 <&tegra_car 190>, /* afc4 */
832 <&tegra_car 191>; /* afc5 */
833 reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
834 "i2s3", "i2s4", "dam0", "dam1", "dam2",
835 "spdif", "amx", "amx1", "adx", "adx1",
836 "afc0", "afc1", "afc2", "afc3", "afc4", "afc5";
837 dmas = <&apbdma 1>, <&apbdma 1>,
838 <&apbdma 2>, <&apbdma 2>,
839 <&apbdma 3>, <&apbdma 3>,
840 <&apbdma 4>, <&apbdma 4>,
841 <&apbdma 6>, <&apbdma 6>,
842 <&apbdma 7>, <&apbdma 7>,
843 <&apbdma 12>, <&apbdma 12>,
844 <&apbdma 13>, <&apbdma 13>,
845 <&apbdma 14>, <&apbdma 14>,
846 <&apbdma 29>, <&apbdma 29>;
847 dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
848 "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
849 "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
850 "rx9", "tx9";
851 ranges;
852 #address-cells = <1>;
853 #size-cells = <1>;
854
855 tegra_i2s0: i2s@70301000 {
856 compatible = "nvidia,tegra124-i2s";
857 reg = <0x70301000 0x100>;
858 nvidia,ahub-cif-ids = <4 4>;
859 clocks = <&tegra_car TEGRA124_CLK_I2S0>;
860 resets = <&tegra_car 30>;
861 reset-names = "i2s";
862 status = "disabled";
863 };
864
865 tegra_i2s1: i2s@70301100 {
866 compatible = "nvidia,tegra124-i2s";
867 reg = <0x70301100 0x100>;
868 nvidia,ahub-cif-ids = <5 5>;
869 clocks = <&tegra_car TEGRA124_CLK_I2S1>;
870 resets = <&tegra_car 11>;
871 reset-names = "i2s";
872 status = "disabled";
873 };
874
875 tegra_i2s2: i2s@70301200 {
876 compatible = "nvidia,tegra124-i2s";
877 reg = <0x70301200 0x100>;
878 nvidia,ahub-cif-ids = <6 6>;
879 clocks = <&tegra_car TEGRA124_CLK_I2S2>;
880 resets = <&tegra_car 18>;
881 reset-names = "i2s";
882 status = "disabled";
883 };
884
885 tegra_i2s3: i2s@70301300 {
886 compatible = "nvidia,tegra124-i2s";
887 reg = <0x70301300 0x100>;
888 nvidia,ahub-cif-ids = <7 7>;
889 clocks = <&tegra_car TEGRA124_CLK_I2S3>;
890 resets = <&tegra_car 101>;
891 reset-names = "i2s";
892 status = "disabled";
893 };
894
895 tegra_i2s4: i2s@70301400 {
896 compatible = "nvidia,tegra124-i2s";
897 reg = <0x70301400 0x100>;
898 nvidia,ahub-cif-ids = <8 8>;
899 clocks = <&tegra_car TEGRA124_CLK_I2S4>;
900 resets = <&tegra_car 102>;
901 reset-names = "i2s";
902 status = "disabled";
903 };
904 };
905
Tom Warren81f1ec72014-01-24 12:46:17 -0700906 usb@7d000000 {
Stephen Warrend62577d2016-09-13 10:45:53 -0600907 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
Tom Warren81f1ec72014-01-24 12:46:17 -0700908 reg = <0x7d000000 0x4000>;
Simon Glass74c25712016-01-30 16:37:43 -0700909 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
910 phy_type = "utmi";
911 clocks = <&tegra_car TEGRA124_CLK_USBD>;
912 resets = <&tegra_car 22>;
913 reset-names = "usb";
914 nvidia,phy = <&phy1>;
915 status = "disabled";
916 };
917
918 phy1: usb-phy@7d000000 {
919 compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
920 reg = <0x7d000000 0x4000>,
921 <0x7d000000 0x4000>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700922 phy_type = "utmi";
Simon Glass74c25712016-01-30 16:37:43 -0700923 clocks = <&tegra_car TEGRA124_CLK_USBD>,
924 <&tegra_car TEGRA124_CLK_PLL_U>,
925 <&tegra_car TEGRA124_CLK_USBD>;
926 clock-names = "reg", "pll_u", "utmi-pads";
927 resets = <&tegra_car 22>, <&tegra_car 22>;
928 reset-names = "usb", "utmi-pads";
929 nvidia,hssync-start-delay = <0>;
930 nvidia,idle-wait-delay = <17>;
931 nvidia,elastic-limit = <16>;
932 nvidia,term-range-adj = <6>;
933 nvidia,xcvr-setup = <9>;
934 nvidia,xcvr-lsfslew = <0>;
935 nvidia,xcvr-lsrslew = <3>;
936 nvidia,hssquelch-level = <2>;
937 nvidia,hsdiscon-level = <5>;
938 nvidia,xcvr-hsslew = <12>;
939 nvidia,has-utmi-pad-registers;
Tom Warren81f1ec72014-01-24 12:46:17 -0700940 status = "disabled";
941 };
942
943 usb@7d004000 {
Stephen Warrend62577d2016-09-13 10:45:53 -0600944 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
Tom Warren81f1ec72014-01-24 12:46:17 -0700945 reg = <0x7d004000 0x4000>;
Simon Glass74c25712016-01-30 16:37:43 -0700946 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
Stephen Warrend62577d2016-09-13 10:45:53 -0600947 phy_type = "utmi";
Simon Glass74c25712016-01-30 16:37:43 -0700948 clocks = <&tegra_car TEGRA124_CLK_USB2>;
949 resets = <&tegra_car 58>;
950 reset-names = "usb";
951 nvidia,phy = <&phy2>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700952 status = "disabled";
953 };
954
Simon Glass74c25712016-01-30 16:37:43 -0700955 phy2: usb-phy@7d004000 {
956 compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
957 reg = <0x7d004000 0x4000>,
958 <0x7d000000 0x4000>;
959 phy_type = "utmi";
960 clocks = <&tegra_car TEGRA124_CLK_USB2>,
961 <&tegra_car TEGRA124_CLK_PLL_U>,
962 <&tegra_car TEGRA124_CLK_USBD>;
963 clock-names = "reg", "pll_u", "utmi-pads";
964 resets = <&tegra_car 58>, <&tegra_car 22>;
965 reset-names = "usb", "utmi-pads";
966 nvidia,hssync-start-delay = <0>;
967 nvidia,idle-wait-delay = <17>;
968 nvidia,elastic-limit = <16>;
969 nvidia,term-range-adj = <6>;
970 nvidia,xcvr-setup = <9>;
971 nvidia,xcvr-lsfslew = <0>;
972 nvidia,xcvr-lsrslew = <3>;
973 nvidia,hssquelch-level = <2>;
974 nvidia,hsdiscon-level = <5>;
975 nvidia,xcvr-hsslew = <12>;
976 status = "disabled";
977 };
978
Tom Warren81f1ec72014-01-24 12:46:17 -0700979 usb@7d008000 {
980 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
981 reg = <0x7d008000 0x4000>;
Simon Glass74c25712016-01-30 16:37:43 -0700982 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
983 phy_type = "utmi";
984 clocks = <&tegra_car TEGRA124_CLK_USB3>;
985 resets = <&tegra_car 59>;
986 reset-names = "usb";
987 nvidia,phy = <&phy3>;
988 status = "disabled";
989 };
990
991 phy3: usb-phy@7d008000 {
992 compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
993 reg = <0x7d008000 0x4000>,
994 <0x7d000000 0x4000>;
Tom Warren81f1ec72014-01-24 12:46:17 -0700995 phy_type = "utmi";
Simon Glass74c25712016-01-30 16:37:43 -0700996 clocks = <&tegra_car TEGRA124_CLK_USB3>,
997 <&tegra_car TEGRA124_CLK_PLL_U>,
998 <&tegra_car TEGRA124_CLK_USBD>;
999 clock-names = "reg", "pll_u", "utmi-pads";
1000 resets = <&tegra_car 59>, <&tegra_car 22>;
1001 reset-names = "usb", "utmi-pads";
1002 nvidia,hssync-start-delay = <0>;
1003 nvidia,idle-wait-delay = <17>;
1004 nvidia,elastic-limit = <16>;
1005 nvidia,term-range-adj = <6>;
1006 nvidia,xcvr-setup = <9>;
1007 nvidia,xcvr-lsfslew = <0>;
1008 nvidia,xcvr-lsrslew = <3>;
1009 nvidia,hssquelch-level = <2>;
1010 nvidia,hsdiscon-level = <5>;
1011 nvidia,xcvr-hsslew = <12>;
Tom Warren81f1ec72014-01-24 12:46:17 -07001012 status = "disabled";
1013 };
Simon Glass74c25712016-01-30 16:37:43 -07001014
1015 cpus {
1016 #address-cells = <1>;
1017 #size-cells = <0>;
1018
1019 cpu@0 {
1020 device_type = "cpu";
1021 compatible = "arm,cortex-a15";
1022 reg = <0>;
1023
1024 clocks = <&tegra_car TEGRA124_CLK_CCLK_G>,
1025 <&tegra_car TEGRA124_CLK_CCLK_LP>,
1026 <&tegra_car TEGRA124_CLK_PLL_X>,
1027 <&tegra_car TEGRA124_CLK_PLL_P>,
1028 <&dfll>;
1029 clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll";
1030 /* FIXME: what's the actual transition time? */
1031 clock-latency = <300000>;
1032 };
1033
1034 cpu@1 {
1035 device_type = "cpu";
1036 compatible = "arm,cortex-a15";
1037 reg = <1>;
1038 };
1039
1040 cpu@2 {
1041 device_type = "cpu";
1042 compatible = "arm,cortex-a15";
1043 reg = <2>;
1044 };
1045
1046 cpu@3 {
1047 device_type = "cpu";
1048 compatible = "arm,cortex-a15";
1049 reg = <3>;
1050 };
1051 };
1052
1053 pmu {
1054 compatible = "arm,cortex-a15-pmu";
1055 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1056 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1057 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1058 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1059 interrupt-affinity = <&{/cpus/cpu@0}>,
1060 <&{/cpus/cpu@1}>,
1061 <&{/cpus/cpu@2}>,
1062 <&{/cpus/cpu@3}>;
1063 };
1064
1065 thermal-zones {
1066 cpu {
1067 polling-delay-passive = <1000>;
1068 polling-delay = <1000>;
1069
1070 thermal-sensors =
1071 <&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
1072 };
1073
1074 mem {
1075 polling-delay-passive = <1000>;
1076 polling-delay = <1000>;
1077
1078 thermal-sensors =
1079 <&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
1080 };
1081
1082 gpu {
1083 polling-delay-passive = <1000>;
1084 polling-delay = <1000>;
1085
1086 thermal-sensors =
1087 <&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>;
1088 };
1089
1090 pllx {
1091 polling-delay-passive = <1000>;
1092 polling-delay = <1000>;
1093
1094 thermal-sensors =
1095 <&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>;
1096 };
1097 };
1098
1099 timer {
1100 compatible = "arm,armv7-timer";
1101 interrupts = <GIC_PPI 13
1102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1103 <GIC_PPI 14
1104 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1105 <GIC_PPI 11
1106 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1107 <GIC_PPI 10
1108 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1109 interrupt-parent = <&gic>;
1110 };
Tom Warren81f1ec72014-01-24 12:46:17 -07001111};