Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / arch / arm / boot / dts / tegra124.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/tegra124-car.h>
3 #include <dt-bindings/gpio/tegra-gpio.h>
4 #include <dt-bindings/memory/tegra124-mc.h>
5 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
6 #include <dt-bindings/interrupt-controller/arm-gic.h>
7 #include <dt-bindings/reset/tegra124-car.h>
8 #include <dt-bindings/thermal/tegra124-soctherm.h>
9 #include <dt-bindings/soc/tegra-pmc.h>
10
11 #include "tegra124-peripherals-opp.dtsi"
12
13 / {
14         compatible = "nvidia,tegra124";
15         interrupt-parent = <&lic>;
16         #address-cells = <2>;
17         #size-cells = <2>;
18
19         memory@80000000 {
20                 device_type = "memory";
21                 reg = <0x0 0x80000000 0x0 0x0>;
22         };
23
24         pcie@1003000 {
25                 compatible = "nvidia,tegra124-pcie";
26                 device_type = "pci";
27                 reg = <0x0 0x01003000 0x0 0x00000800>, /* PADS registers */
28                       <0x0 0x01003800 0x0 0x00000800>, /* AFI registers */
29                       <0x0 0x02000000 0x0 0x10000000>; /* configuration space */
30                 reg-names = "pads", "afi", "cs";
31                 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
32                              <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
33                 interrupt-names = "intr", "msi";
34
35                 #interrupt-cells = <1>;
36                 interrupt-map-mask = <0 0 0 0>;
37                 interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
38
39                 bus-range = <0x00 0xff>;
40                 #address-cells = <3>;
41                 #size-cells = <2>;
42
43                 ranges = <0x02000000 0 0x01000000 0x0 0x01000000 0 0x00001000>, /* port 0 configuration space */
44                          <0x02000000 0 0x01001000 0x0 0x01001000 0 0x00001000>, /* port 1 configuration space */
45                          <0x01000000 0 0x0        0x0 0x12000000 0 0x00010000>, /* downstream I/O (64 KiB) */
46                          <0x02000000 0 0x13000000 0x0 0x13000000 0 0x0d000000>, /* non-prefetchable memory (208 MiB) */
47                          <0x42000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
48
49                 clocks = <&tegra_car TEGRA124_CLK_PCIE>,
50                          <&tegra_car TEGRA124_CLK_AFI>,
51                          <&tegra_car TEGRA124_CLK_PLL_E>,
52                          <&tegra_car TEGRA124_CLK_CML0>;
53                 clock-names = "pex", "afi", "pll_e", "cml";
54                 resets = <&tegra_car 70>,
55                          <&tegra_car 72>,
56                          <&tegra_car 74>;
57                 reset-names = "pex", "afi", "pcie_x";
58                 status = "disabled";
59
60                 pci@1,0 {
61                         device_type = "pci";
62                         assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
63                         reg = <0x000800 0 0 0 0>;
64                         bus-range = <0x00 0xff>;
65                         status = "disabled";
66
67                         #address-cells = <3>;
68                         #size-cells = <2>;
69                         ranges;
70
71                         nvidia,num-lanes = <2>;
72                 };
73
74                 pci@2,0 {
75                         device_type = "pci";
76                         assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
77                         reg = <0x001000 0 0 0 0>;
78                         bus-range = <0x00 0xff>;
79                         status = "disabled";
80
81                         #address-cells = <3>;
82                         #size-cells = <2>;
83                         ranges;
84
85                         nvidia,num-lanes = <1>;
86                 };
87         };
88
89         host1x@50000000 {
90                 compatible = "nvidia,tegra124-host1x";
91                 reg = <0x0 0x50000000 0x0 0x00034000>;
92                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
93                              <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
94                 interrupt-names = "syncpt", "host1x";
95                 clocks = <&tegra_car TEGRA124_CLK_HOST1X>;
96                 clock-names = "host1x";
97                 resets = <&tegra_car 28>;
98                 reset-names = "host1x";
99                 iommus = <&mc TEGRA_SWGROUP_HC>;
100
101                 #address-cells = <2>;
102                 #size-cells = <2>;
103
104                 ranges = <0 0x54000000 0 0x54000000 0 0x01000000>;
105
106                 dc@54200000 {
107                         compatible = "nvidia,tegra124-dc";
108                         reg = <0x0 0x54200000 0x0 0x00040000>;
109                         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
110                         clocks = <&tegra_car TEGRA124_CLK_DISP1>;
111                         clock-names = "dc";
112                         resets = <&tegra_car 27>;
113                         reset-names = "dc";
114
115                         iommus = <&mc TEGRA_SWGROUP_DC>;
116
117                         nvidia,head = <0>;
118
119                         interconnects = <&mc TEGRA124_MC_DISPLAY0A &emc>,
120                                         <&mc TEGRA124_MC_DISPLAY0B &emc>,
121                                         <&mc TEGRA124_MC_DISPLAY0C &emc>,
122                                         <&mc TEGRA124_MC_DISPLAYHC &emc>,
123                                         <&mc TEGRA124_MC_DISPLAYD &emc>,
124                                         <&mc TEGRA124_MC_DISPLAYT &emc>;
125                         interconnect-names = "wina",
126                                              "winb",
127                                              "winc",
128                                              "cursor",
129                                              "wind",
130                                              "wint";
131                 };
132
133                 dc@54240000 {
134                         compatible = "nvidia,tegra124-dc";
135                         reg = <0x0 0x54240000 0x0 0x00040000>;
136                         interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
137                         clocks = <&tegra_car TEGRA124_CLK_DISP2>;
138                         clock-names = "dc";
139                         resets = <&tegra_car 26>;
140                         reset-names = "dc";
141
142                         iommus = <&mc TEGRA_SWGROUP_DCB>;
143
144                         nvidia,head = <1>;
145
146                         interconnects = <&mc TEGRA124_MC_DISPLAY0AB &emc>,
147                                         <&mc TEGRA124_MC_DISPLAY0BB &emc>,
148                                         <&mc TEGRA124_MC_DISPLAY0CB &emc>,
149                                         <&mc TEGRA124_MC_DISPLAYHCB &emc>;
150                         interconnect-names = "wina",
151                                              "winb",
152                                              "winc",
153                                              "cursor";
154                 };
155
156                 hdmi: hdmi@54280000 {
157                         compatible = "nvidia,tegra124-hdmi";
158                         reg = <0x0 0x54280000 0x0 0x00040000>;
159                         interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
160                         clocks = <&tegra_car TEGRA124_CLK_HDMI>,
161                                  <&tegra_car TEGRA124_CLK_PLL_D2_OUT0>;
162                         clock-names = "hdmi", "parent";
163                         resets = <&tegra_car 51>;
164                         reset-names = "hdmi";
165                         status = "disabled";
166                 };
167
168                 vic@54340000 {
169                         compatible = "nvidia,tegra124-vic";
170                         reg = <0x0 0x54340000 0x0 0x00040000>;
171                         interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
172                         clocks = <&tegra_car TEGRA124_CLK_VIC03>;
173                         clock-names = "vic";
174                         resets = <&tegra_car 178>;
175                         reset-names = "vic";
176
177                         iommus = <&mc TEGRA_SWGROUP_VIC>;
178                 };
179
180                 sor@54540000 {
181                         compatible = "nvidia,tegra124-sor";
182                         reg = <0x0 0x54540000 0x0 0x00040000>;
183                         interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
184                         clocks = <&tegra_car TEGRA124_CLK_SOR0>,
185                                  <&tegra_car TEGRA124_CLK_SOR0_OUT>,
186                                  <&tegra_car TEGRA124_CLK_PLL_D_OUT0>,
187                                  <&tegra_car TEGRA124_CLK_PLL_DP>,
188                                  <&tegra_car TEGRA124_CLK_CLK_M>;
189                         clock-names = "sor", "out", "parent", "dp", "safe";
190                         resets = <&tegra_car 182>;
191                         reset-names = "sor";
192                         status = "disabled";
193                 };
194
195                 dpaux: dpaux@545c0000 {
196                         compatible = "nvidia,tegra124-dpaux";
197                         reg = <0x0 0x545c0000 0x0 0x00040000>;
198                         interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
199                         clocks = <&tegra_car TEGRA124_CLK_DPAUX>,
200                                  <&tegra_car TEGRA124_CLK_PLL_DP>;
201                         clock-names = "dpaux", "parent";
202                         resets = <&tegra_car 181>;
203                         reset-names = "dpaux";
204                         status = "disabled";
205
206                         i2c-bus {
207                                 #address-cells = <1>;
208                                 #size-cells = <0>;
209                         };
210                 };
211         };
212
213         gic: interrupt-controller@50041000 {
214                 compatible = "arm,cortex-a15-gic";
215                 #interrupt-cells = <3>;
216                 interrupt-controller;
217                 reg = <0x0 0x50041000 0x0 0x1000>,
218                       <0x0 0x50042000 0x0 0x1000>,
219                       <0x0 0x50044000 0x0 0x2000>,
220                       <0x0 0x50046000 0x0 0x2000>;
221                 interrupts = <GIC_PPI 9
222                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
223                 interrupt-parent = <&gic>;
224         };
225
226         /*
227          * Please keep the following 0, notation in place as a former mainline
228          * U-Boot version was looking for that particular notation in order to
229          * perform required fix-ups on that GPU node.
230          */
231         gpu@0,57000000 {
232                 compatible = "nvidia,gk20a";
233                 reg = <0x0 0x57000000 0x0 0x01000000>,
234                       <0x0 0x58000000 0x0 0x01000000>;
235                 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
236                              <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
237                 interrupt-names = "stall", "nonstall";
238                 clocks = <&tegra_car TEGRA124_CLK_GPU>,
239                          <&tegra_car TEGRA124_CLK_PLL_P_OUT5>;
240                 clock-names = "gpu", "pwr";
241                 resets = <&tegra_car 184>;
242                 reset-names = "gpu";
243
244                 iommus = <&mc TEGRA_SWGROUP_GPU>;
245
246                 status = "disabled";
247         };
248
249         lic: interrupt-controller@60004000 {
250                 compatible = "nvidia,tegra124-ictlr", "nvidia,tegra30-ictlr";
251                 reg = <0x0 0x60004000 0x0 0x100>,
252                       <0x0 0x60004100 0x0 0x100>,
253                       <0x0 0x60004200 0x0 0x100>,
254                       <0x0 0x60004300 0x0 0x100>,
255                       <0x0 0x60004400 0x0 0x100>;
256                 interrupt-controller;
257                 #interrupt-cells = <3>;
258                 interrupt-parent = <&gic>;
259         };
260
261         timer@60005000 {
262                 compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer", "nvidia,tegra20-timer";
263                 reg = <0x0 0x60005000 0x0 0x400>;
264                 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
265                              <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
266                              <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
267                              <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
268                              <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
269                              <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
270                 clocks = <&tegra_car TEGRA124_CLK_TIMER>;
271         };
272
273         tegra_car: clock@60006000 {
274                 compatible = "nvidia,tegra124-car";
275                 reg = <0x0 0x60006000 0x0 0x1000>;
276                 #clock-cells = <1>;
277                 #reset-cells = <1>;
278                 nvidia,external-memory-controller = <&emc>;
279         };
280
281         flow-controller@60007000 {
282                 compatible = "nvidia,tegra124-flowctrl";
283                 reg = <0x0 0x60007000 0x0 0x1000>;
284         };
285
286         actmon: actmon@6000c800 {
287                 compatible = "nvidia,tegra124-actmon";
288                 reg = <0x0 0x6000c800 0x0 0x400>;
289                 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
290                 clocks = <&tegra_car TEGRA124_CLK_ACTMON>,
291                          <&tegra_car TEGRA124_CLK_EMC>;
292                 clock-names = "actmon", "emc";
293                 resets = <&tegra_car 119>;
294                 reset-names = "actmon";
295                 operating-points-v2 = <&emc_bw_dfs_opp_table>;
296                 interconnects = <&mc TEGRA124_MC_MPCORER &emc>;
297                 interconnect-names = "cpu-read";
298                 #cooling-cells = <2>;
299         };
300
301         gpio: gpio@6000d000 {
302                 compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
303                 reg = <0x0 0x6000d000 0x0 0x1000>;
304                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
305                              <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
306                              <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
307                              <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
308                              <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
309                              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
310                              <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
311                              <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
312                 #gpio-cells = <2>;
313                 gpio-controller;
314                 #interrupt-cells = <2>;
315                 interrupt-controller;
316                 /*
317                 gpio-ranges = <&pinmux 0 0 251>;
318                 */
319         };
320
321         apbdma: dma@60020000 {
322                 compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
323                 reg = <0x0 0x60020000 0x0 0x1400>;
324                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
325                              <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
326                              <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
327                              <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
328                              <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
329                              <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
330                              <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
331                              <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
332                              <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
333                              <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
334                              <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
335                              <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
336                              <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
337                              <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
338                              <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
339                              <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
340                              <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
341                              <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
342                              <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
343                              <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
344                              <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
345                              <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
346                              <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
347                              <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
348                              <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
349                              <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
350                              <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
351                              <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
352                              <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
353                              <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
354                              <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
355                              <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
356                 clocks = <&tegra_car TEGRA124_CLK_APBDMA>;
357                 resets = <&tegra_car 34>;
358                 reset-names = "dma";
359                 #dma-cells = <1>;
360         };
361
362         apbmisc@70000800 {
363                 compatible = "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc";
364                 reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
365                       <0x0 0x7000e864 0x0 0x04>;   /* Strapping options */
366         };
367
368         pinmux: pinmux@70000868 {
369                 compatible = "nvidia,tegra124-pinmux";
370                 reg = <0x0 0x70000868 0x0 0x164>, /* Pad control registers */
371                       <0x0 0x70003000 0x0 0x434>, /* Mux registers */
372                       <0x0 0x70000820 0x0 0x008>; /* MIPI pad control */
373         };
374
375         /*
376          * There are two serial driver i.e. 8250 based simple serial
377          * driver and APB DMA based serial driver for higher baudrate
378          * and performace. To enable the 8250 based driver, the compatible
379          * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
380          * the APB DMA based serial driver, the compatible is
381          * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
382          */
383         uarta: serial@70006000 {
384                 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
385                 reg = <0x0 0x70006000 0x0 0x40>;
386                 reg-shift = <2>;
387                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
388                 clocks = <&tegra_car TEGRA124_CLK_UARTA>;
389                 resets = <&tegra_car 6>;
390                 reset-names = "serial";
391                 dmas = <&apbdma 8>, <&apbdma 8>;
392                 dma-names = "rx", "tx";
393                 status = "disabled";
394         };
395
396         uartb: serial@70006040 {
397                 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
398                 reg = <0x0 0x70006040 0x0 0x40>;
399                 reg-shift = <2>;
400                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
401                 clocks = <&tegra_car TEGRA124_CLK_UARTB>;
402                 resets = <&tegra_car 7>;
403                 reset-names = "serial";
404                 dmas = <&apbdma 9>, <&apbdma 9>;
405                 dma-names = "rx", "tx";
406                 status = "disabled";
407         };
408
409         uartc: serial@70006200 {
410                 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
411                 reg = <0x0 0x70006200 0x0 0x40>;
412                 reg-shift = <2>;
413                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
414                 clocks = <&tegra_car TEGRA124_CLK_UARTC>;
415                 resets = <&tegra_car 55>;
416                 reset-names = "serial";
417                 dmas = <&apbdma 10>, <&apbdma 10>;
418                 dma-names = "rx", "tx";
419                 status = "disabled";
420         };
421
422         uartd: serial@70006300 {
423                 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
424                 reg = <0x0 0x70006300 0x0 0x40>;
425                 reg-shift = <2>;
426                 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
427                 clocks = <&tegra_car TEGRA124_CLK_UARTD>;
428                 resets = <&tegra_car 65>;
429                 reset-names = "serial";
430                 dmas = <&apbdma 19>, <&apbdma 19>;
431                 dma-names = "rx", "tx";
432                 status = "disabled";
433         };
434
435         pwm: pwm@7000a000 {
436                 compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
437                 reg = <0x0 0x7000a000 0x0 0x100>;
438                 #pwm-cells = <2>;
439                 clocks = <&tegra_car TEGRA124_CLK_PWM>;
440                 resets = <&tegra_car 17>;
441                 reset-names = "pwm";
442                 status = "disabled";
443         };
444
445         i2c@7000c000 {
446                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
447                 reg = <0x0 0x7000c000 0x0 0x100>;
448                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
449                 #address-cells = <1>;
450                 #size-cells = <0>;
451                 clocks = <&tegra_car TEGRA124_CLK_I2C1>;
452                 clock-names = "div-clk";
453                 resets = <&tegra_car 12>;
454                 reset-names = "i2c";
455                 dmas = <&apbdma 21>, <&apbdma 21>;
456                 dma-names = "rx", "tx";
457                 status = "disabled";
458         };
459
460         i2c@7000c400 {
461                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
462                 reg = <0x0 0x7000c400 0x0 0x100>;
463                 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
464                 #address-cells = <1>;
465                 #size-cells = <0>;
466                 clocks = <&tegra_car TEGRA124_CLK_I2C2>;
467                 clock-names = "div-clk";
468                 resets = <&tegra_car 54>;
469                 reset-names = "i2c";
470                 dmas = <&apbdma 22>, <&apbdma 22>;
471                 dma-names = "rx", "tx";
472                 status = "disabled";
473         };
474
475         i2c@7000c500 {
476                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
477                 reg = <0x0 0x7000c500 0x0 0x100>;
478                 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
479                 #address-cells = <1>;
480                 #size-cells = <0>;
481                 clocks = <&tegra_car TEGRA124_CLK_I2C3>;
482                 clock-names = "div-clk";
483                 resets = <&tegra_car 67>;
484                 reset-names = "i2c";
485                 dmas = <&apbdma 23>, <&apbdma 23>;
486                 dma-names = "rx", "tx";
487                 status = "disabled";
488         };
489
490         i2c@7000c700 {
491                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
492                 reg = <0x0 0x7000c700 0x0 0x100>;
493                 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
494                 #address-cells = <1>;
495                 #size-cells = <0>;
496                 clocks = <&tegra_car TEGRA124_CLK_I2C4>;
497                 clock-names = "div-clk";
498                 resets = <&tegra_car 103>;
499                 reset-names = "i2c";
500                 dmas = <&apbdma 26>, <&apbdma 26>;
501                 dma-names = "rx", "tx";
502                 status = "disabled";
503         };
504
505         i2c@7000d000 {
506                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
507                 reg = <0x0 0x7000d000 0x0 0x100>;
508                 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
509                 #address-cells = <1>;
510                 #size-cells = <0>;
511                 clocks = <&tegra_car TEGRA124_CLK_I2C5>;
512                 clock-names = "div-clk";
513                 resets = <&tegra_car 47>;
514                 reset-names = "i2c";
515                 dmas = <&apbdma 24>, <&apbdma 24>;
516                 dma-names = "rx", "tx";
517                 status = "disabled";
518         };
519
520         i2c@7000d100 {
521                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
522                 reg = <0x0 0x7000d100 0x0 0x100>;
523                 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
524                 #address-cells = <1>;
525                 #size-cells = <0>;
526                 clocks = <&tegra_car TEGRA124_CLK_I2C6>;
527                 clock-names = "div-clk";
528                 resets = <&tegra_car 166>;
529                 reset-names = "i2c";
530                 dmas = <&apbdma 30>, <&apbdma 30>;
531                 dma-names = "rx", "tx";
532                 status = "disabled";
533         };
534
535         spi@7000d400 {
536                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
537                 reg = <0x0 0x7000d400 0x0 0x200>;
538                 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
539                 #address-cells = <1>;
540                 #size-cells = <0>;
541                 clocks = <&tegra_car TEGRA124_CLK_SBC1>;
542                 clock-names = "spi";
543                 resets = <&tegra_car 41>;
544                 reset-names = "spi";
545                 dmas = <&apbdma 15>, <&apbdma 15>;
546                 dma-names = "rx", "tx";
547                 status = "disabled";
548         };
549
550         spi@7000d600 {
551                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
552                 reg = <0x0 0x7000d600 0x0 0x200>;
553                 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
554                 #address-cells = <1>;
555                 #size-cells = <0>;
556                 clocks = <&tegra_car TEGRA124_CLK_SBC2>;
557                 clock-names = "spi";
558                 resets = <&tegra_car 44>;
559                 reset-names = "spi";
560                 dmas = <&apbdma 16>, <&apbdma 16>;
561                 dma-names = "rx", "tx";
562                 status = "disabled";
563         };
564
565         spi@7000d800 {
566                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
567                 reg = <0x0 0x7000d800 0x0 0x200>;
568                 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
569                 #address-cells = <1>;
570                 #size-cells = <0>;
571                 clocks = <&tegra_car TEGRA124_CLK_SBC3>;
572                 clock-names = "spi";
573                 resets = <&tegra_car 46>;
574                 reset-names = "spi";
575                 dmas = <&apbdma 17>, <&apbdma 17>;
576                 dma-names = "rx", "tx";
577                 status = "disabled";
578         };
579
580         spi@7000da00 {
581                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
582                 reg = <0x0 0x7000da00 0x0 0x200>;
583                 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
584                 #address-cells = <1>;
585                 #size-cells = <0>;
586                 clocks = <&tegra_car TEGRA124_CLK_SBC4>;
587                 clock-names = "spi";
588                 resets = <&tegra_car 68>;
589                 reset-names = "spi";
590                 dmas = <&apbdma 18>, <&apbdma 18>;
591                 dma-names = "rx", "tx";
592                 status = "disabled";
593         };
594
595         spi@7000dc00 {
596                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
597                 reg = <0x0 0x7000dc00 0x0 0x200>;
598                 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
599                 #address-cells = <1>;
600                 #size-cells = <0>;
601                 clocks = <&tegra_car TEGRA124_CLK_SBC5>;
602                 clock-names = "spi";
603                 resets = <&tegra_car 104>;
604                 reset-names = "spi";
605                 dmas = <&apbdma 27>, <&apbdma 27>;
606                 dma-names = "rx", "tx";
607                 status = "disabled";
608         };
609
610         spi@7000de00 {
611                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
612                 reg = <0x0 0x7000de00 0x0 0x200>;
613                 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
614                 #address-cells = <1>;
615                 #size-cells = <0>;
616                 clocks = <&tegra_car TEGRA124_CLK_SBC6>;
617                 clock-names = "spi";
618                 resets = <&tegra_car 105>;
619                 reset-names = "spi";
620                 dmas = <&apbdma 28>, <&apbdma 28>;
621                 dma-names = "rx", "tx";
622                 status = "disabled";
623         };
624
625         rtc@7000e000 {
626                 compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
627                 reg = <0x0 0x7000e000 0x0 0x100>;
628                 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
629                 clocks = <&tegra_car TEGRA124_CLK_RTC>;
630         };
631
632         tegra_pmc: pmc@7000e400 {
633                 compatible = "nvidia,tegra124-pmc";
634                 reg = <0x0 0x7000e400 0x0 0x400>;
635                 clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>;
636                 clock-names = "pclk", "clk32k_in";
637                 #clock-cells = <1>;
638         };
639
640         fuse@7000f800 {
641                 compatible = "nvidia,tegra124-efuse";
642                 reg = <0x0 0x7000f800 0x0 0x400>;
643                 clocks = <&tegra_car TEGRA124_CLK_FUSE>;
644                 clock-names = "fuse";
645                 resets = <&tegra_car 39>;
646                 reset-names = "fuse";
647         };
648
649         mc: memory-controller@70019000 {
650                 compatible = "nvidia,tegra124-mc";
651                 reg = <0x0 0x70019000 0x0 0x1000>;
652                 clocks = <&tegra_car TEGRA124_CLK_MC>;
653                 clock-names = "mc";
654
655                 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
656
657                 #iommu-cells = <1>;
658                 #reset-cells = <1>;
659                 #interconnect-cells = <1>;
660         };
661
662         emc: external-memory-controller@7001b000 {
663                 compatible = "nvidia,tegra124-emc";
664                 reg = <0x0 0x7001b000 0x0 0x1000>;
665                 clocks = <&tegra_car TEGRA124_CLK_EMC>;
666                 clock-names = "emc";
667
668                 nvidia,memory-controller = <&mc>;
669                 operating-points-v2 = <&emc_icc_dvfs_opp_table>;
670
671                 #interconnect-cells = <0>;
672         };
673
674         sata@70020000 {
675                 compatible = "nvidia,tegra124-ahci";
676                 reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
677                       <0x0 0x70020000 0x0 0x7000>; /* SATA */
678                 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
679                 clocks = <&tegra_car TEGRA124_CLK_SATA>,
680                          <&tegra_car TEGRA124_CLK_SATA_OOB>,
681                          <&tegra_car TEGRA124_CLK_CML1>,
682                          <&tegra_car TEGRA124_CLK_PLL_E>;
683                 clock-names = "sata", "sata-oob", "cml1", "pll_e";
684                 resets = <&tegra_car 124>,
685                          <&tegra_car 129>,
686                          <&tegra_car 123>;
687                 reset-names = "sata", "sata-cold", "sata-oob";
688                 status = "disabled";
689         };
690
691         hda@70030000 {
692                 compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
693                 reg = <0x0 0x70030000 0x0 0x10000>;
694                 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
695                 clocks = <&tegra_car TEGRA124_CLK_HDA>,
696                          <&tegra_car TEGRA124_CLK_HDA2HDMI>,
697                          <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
698                 clock-names = "hda", "hda2hdmi", "hda2codec_2x";
699                 resets = <&tegra_car 125>, /* hda */
700                          <&tegra_car 128>, /* hda2hdmi */
701                          <&tegra_car 111>; /* hda2codec_2x */
702                 reset-names = "hda", "hda2hdmi", "hda2codec_2x";
703                 status = "disabled";
704         };
705
706         usb@70090000 {
707                 compatible = "nvidia,tegra124-xusb";
708                 reg = <0x0 0x70090000 0x0 0x8000>,
709                       <0x0 0x70098000 0x0 0x1000>,
710                       <0x0 0x70099000 0x0 0x1000>;
711                 reg-names = "hcd", "fpci", "ipfs";
712
713                 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
714                              <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
715
716                 clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>,
717                          <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>,
718                          <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>,
719                          <&tegra_car TEGRA124_CLK_XUSB_SS>,
720                          <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>,
721                          <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>,
722                          <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>,
723                          <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>,
724                          <&tegra_car TEGRA124_CLK_PLL_U_480M>,
725                          <&tegra_car TEGRA124_CLK_CLK_M>,
726                          <&tegra_car TEGRA124_CLK_PLL_E>;
727                 clock-names = "xusb_host", "xusb_host_src",
728                               "xusb_falcon_src", "xusb_ss",
729                               "xusb_ss_src", "xusb_ss_div2",
730                               "xusb_hs_src", "xusb_fs_src",
731                               "pll_u_480m", "clk_m", "pll_e";
732                 resets = <&tegra_car 89>, <&tegra_car 156>,
733                          <&tegra_car 143>;
734                 reset-names = "xusb_host", "xusb_ss", "xusb_src";
735
736                 nvidia,xusb-padctl = <&padctl>;
737
738                 status = "disabled";
739         };
740
741         padctl: padctl@7009f000 {
742                 compatible = "nvidia,tegra124-xusb-padctl";
743                 reg = <0x0 0x7009f000 0x0 0x1000>;
744                 resets = <&tegra_car 142>;
745                 reset-names = "padctl";
746
747                 pads {
748                         usb2 {
749                                 status = "disabled";
750
751                                 lanes {
752                                         usb2-0 {
753                                                 status = "disabled";
754                                                 #phy-cells = <0>;
755                                         };
756
757                                         usb2-1 {
758                                                 status = "disabled";
759                                                 #phy-cells = <0>;
760                                         };
761
762                                         usb2-2 {
763                                                 status = "disabled";
764                                                 #phy-cells = <0>;
765                                         };
766                                 };
767                         };
768
769                         ulpi {
770                                 status = "disabled";
771
772                                 lanes {
773                                         ulpi-0 {
774                                                 status = "disabled";
775                                                 #phy-cells = <0>;
776                                         };
777                                 };
778                         };
779
780                         hsic {
781                                 status = "disabled";
782
783                                 lanes {
784                                         hsic-0 {
785                                                 status = "disabled";
786                                                 #phy-cells = <0>;
787                                         };
788
789                                         hsic-1 {
790                                                 status = "disabled";
791                                                 #phy-cells = <0>;
792                                         };
793                                 };
794                         };
795
796                         pcie {
797                                 status = "disabled";
798
799                                 lanes {
800                                         pcie-0 {
801                                                 status = "disabled";
802                                                 #phy-cells = <0>;
803                                         };
804
805                                         pcie-1 {
806                                                 status = "disabled";
807                                                 #phy-cells = <0>;
808                                         };
809
810                                         pcie-2 {
811                                                 status = "disabled";
812                                                 #phy-cells = <0>;
813                                         };
814
815                                         pcie-3 {
816                                                 status = "disabled";
817                                                 #phy-cells = <0>;
818                                         };
819
820                                         pcie-4 {
821                                                 status = "disabled";
822                                                 #phy-cells = <0>;
823                                         };
824                                 };
825                         };
826
827                         sata {
828                                 status = "disabled";
829
830                                 lanes {
831                                         sata-0 {
832                                                 status = "disabled";
833                                                 #phy-cells = <0>;
834                                         };
835                                 };
836                         };
837                 };
838
839                 ports {
840                         usb2-0 {
841                                 status = "disabled";
842                         };
843
844                         usb2-1 {
845                                 status = "disabled";
846                         };
847
848                         usb2-2 {
849                                 status = "disabled";
850                         };
851
852                         ulpi-0 {
853                                 status = "disabled";
854                         };
855
856                         hsic-0 {
857                                 status = "disabled";
858                         };
859
860                         hsic-1 {
861                                 status = "disabled";
862                         };
863
864                         usb3-0 {
865                                 status = "disabled";
866                         };
867
868                         usb3-1 {
869                                 status = "disabled";
870                         };
871                 };
872         };
873
874         mmc@700b0000 {
875                 compatible = "nvidia,tegra124-sdhci";
876                 reg = <0x0 0x700b0000 0x0 0x200>;
877                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
878                 clocks = <&tegra_car TEGRA124_CLK_SDMMC1>;
879                 clock-names = "sdhci";
880                 resets = <&tegra_car 14>;
881                 reset-names = "sdhci";
882                 status = "disabled";
883         };
884
885         mmc@700b0200 {
886                 compatible = "nvidia,tegra124-sdhci";
887                 reg = <0x0 0x700b0200 0x0 0x200>;
888                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
889                 clocks = <&tegra_car TEGRA124_CLK_SDMMC2>;
890                 clock-names = "sdhci";
891                 resets = <&tegra_car 9>;
892                 reset-names = "sdhci";
893                 status = "disabled";
894         };
895
896         mmc@700b0400 {
897                 compatible = "nvidia,tegra124-sdhci";
898                 reg = <0x0 0x700b0400 0x0 0x200>;
899                 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
900                 clocks = <&tegra_car TEGRA124_CLK_SDMMC3>;
901                 clock-names = "sdhci";
902                 resets = <&tegra_car 69>;
903                 reset-names = "sdhci";
904                 status = "disabled";
905         };
906
907         mmc@700b0600 {
908                 compatible = "nvidia,tegra124-sdhci";
909                 reg = <0x0 0x700b0600 0x0 0x200>;
910                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
911                 clocks = <&tegra_car TEGRA124_CLK_SDMMC4>;
912                 clock-names = "sdhci";
913                 resets = <&tegra_car 15>;
914                 reset-names = "sdhci";
915                 status = "disabled";
916         };
917
918         cec@70015000 {
919                 compatible = "nvidia,tegra124-cec";
920                 reg = <0x0 0x70015000 0x0 0x00001000>;
921                 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
922                 clocks = <&tegra_car TEGRA124_CLK_CEC>;
923                 clock-names = "cec";
924                 status = "disabled";
925                 hdmi-phandle = <&hdmi>;
926         };
927
928         soctherm: thermal-sensor@700e2000 {
929                 compatible = "nvidia,tegra124-soctherm";
930                 reg = <0x0 0x700e2000 0x0 0x600>, /* SOC_THERM reg_base */
931                       <0x0 0x60006000 0x0 0x400>; /* CAR reg_base */
932                 reg-names = "soctherm-reg", "car-reg";
933                 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
934                              <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
935                 interrupt-names = "thermal", "edp";
936                 clocks = <&tegra_car TEGRA124_CLK_TSENSOR>,
937                          <&tegra_car TEGRA124_CLK_SOC_THERM>;
938                 clock-names = "tsensor", "soctherm";
939                 resets = <&tegra_car 78>;
940                 reset-names = "soctherm";
941                 #thermal-sensor-cells = <1>;
942
943                 throttle-cfgs {
944                         throttle_heavy: heavy {
945                                 nvidia,priority = <100>;
946                                 nvidia,cpu-throt-percent = <85>;
947                                 nvidia,gpu-throt-level = <TEGRA_SOCTHERM_THROT_LEVEL_HIGH>;
948
949                                 #cooling-cells = <2>;
950                         };
951                 };
952         };
953
954         dfll: clock@70110000 {
955                 compatible = "nvidia,tegra124-dfll";
956                 reg = <0 0x70110000 0 0x100>, /* DFLL control */
957                       <0 0x70110000 0 0x100>, /* I2C output control */
958                       <0 0x70110100 0 0x100>, /* Integrated I2C controller */
959                       <0 0x70110200 0 0x100>; /* Look-up table RAM */
960                 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
961                 clocks = <&tegra_car TEGRA124_CLK_DFLL_SOC>,
962                          <&tegra_car TEGRA124_CLK_DFLL_REF>,
963                          <&tegra_car TEGRA124_CLK_I2C5>;
964                 clock-names = "soc", "ref", "i2c";
965                 resets = <&tegra_car TEGRA124_RST_DFLL_DVCO>;
966                 reset-names = "dvco";
967                 #clock-cells = <0>;
968                 clock-output-names = "dfllCPU_out";
969                 nvidia,sample-rate = <12500>;
970                 nvidia,droop-ctrl = <0x00000f00>;
971                 nvidia,force-mode = <1>;
972                 nvidia,cf = <10>;
973                 nvidia,ci = <0>;
974                 nvidia,cg = <2>;
975                 status = "disabled";
976         };
977
978         ahub@70300000 {
979                 compatible = "nvidia,tegra124-ahub";
980                 reg = <0x0 0x70300000 0x0 0x200>,
981                       <0x0 0x70300800 0x0 0x800>,
982                       <0x0 0x70300200 0x0 0x600>;
983                 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
984                 clocks = <&tegra_car TEGRA124_CLK_D_AUDIO>,
985                          <&tegra_car TEGRA124_CLK_APBIF>;
986                 clock-names = "d_audio", "apbif";
987                 resets = <&tegra_car 106>, /* d_audio */
988                          <&tegra_car 107>, /* apbif */
989                          <&tegra_car 30>,  /* i2s0 */
990                          <&tegra_car 11>,  /* i2s1 */
991                          <&tegra_car 18>,  /* i2s2 */
992                          <&tegra_car 101>, /* i2s3 */
993                          <&tegra_car 102>, /* i2s4 */
994                          <&tegra_car 108>, /* dam0 */
995                          <&tegra_car 109>, /* dam1 */
996                          <&tegra_car 110>, /* dam2 */
997                          <&tegra_car 10>,  /* spdif */
998                          <&tegra_car 153>, /* amx */
999                          <&tegra_car 185>, /* amx1 */
1000                          <&tegra_car 154>, /* adx */
1001                          <&tegra_car 180>, /* adx1 */
1002                          <&tegra_car 186>, /* afc0 */
1003                          <&tegra_car 187>, /* afc1 */
1004                          <&tegra_car 188>, /* afc2 */
1005                          <&tegra_car 189>, /* afc3 */
1006                          <&tegra_car 190>, /* afc4 */
1007                          <&tegra_car 191>; /* afc5 */
1008                 reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
1009                               "i2s3", "i2s4", "dam0", "dam1", "dam2",
1010                               "spdif", "amx", "amx1", "adx", "adx1",
1011                               "afc0", "afc1", "afc2", "afc3", "afc4", "afc5";
1012                 dmas = <&apbdma 1>, <&apbdma 1>,
1013                        <&apbdma 2>, <&apbdma 2>,
1014                        <&apbdma 3>, <&apbdma 3>,
1015                        <&apbdma 4>, <&apbdma 4>,
1016                        <&apbdma 6>, <&apbdma 6>,
1017                        <&apbdma 7>, <&apbdma 7>,
1018                        <&apbdma 12>, <&apbdma 12>,
1019                        <&apbdma 13>, <&apbdma 13>,
1020                        <&apbdma 14>, <&apbdma 14>,
1021                        <&apbdma 29>, <&apbdma 29>;
1022                 dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
1023                             "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
1024                             "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
1025                             "rx9", "tx9";
1026                 ranges;
1027                 #address-cells = <2>;
1028                 #size-cells = <2>;
1029
1030                 tegra_i2s0: i2s@70301000 {
1031                         compatible = "nvidia,tegra124-i2s";
1032                         reg = <0x0 0x70301000 0x0 0x100>;
1033                         nvidia,ahub-cif-ids = <4 4>;
1034                         clocks = <&tegra_car TEGRA124_CLK_I2S0>;
1035                         resets = <&tegra_car 30>;
1036                         reset-names = "i2s";
1037                         status = "disabled";
1038                 };
1039
1040                 tegra_i2s1: i2s@70301100 {
1041                         compatible = "nvidia,tegra124-i2s";
1042                         reg = <0x0 0x70301100 0x0 0x100>;
1043                         nvidia,ahub-cif-ids = <5 5>;
1044                         clocks = <&tegra_car TEGRA124_CLK_I2S1>;
1045                         resets = <&tegra_car 11>;
1046                         reset-names = "i2s";
1047                         status = "disabled";
1048                 };
1049
1050                 tegra_i2s2: i2s@70301200 {
1051                         compatible = "nvidia,tegra124-i2s";
1052                         reg = <0x0 0x70301200 0x0 0x100>;
1053                         nvidia,ahub-cif-ids = <6 6>;
1054                         clocks = <&tegra_car TEGRA124_CLK_I2S2>;
1055                         resets = <&tegra_car 18>;
1056                         reset-names = "i2s";
1057                         status = "disabled";
1058                 };
1059
1060                 tegra_i2s3: i2s@70301300 {
1061                         compatible = "nvidia,tegra124-i2s";
1062                         reg = <0x0 0x70301300 0x0 0x100>;
1063                         nvidia,ahub-cif-ids = <7 7>;
1064                         clocks = <&tegra_car TEGRA124_CLK_I2S3>;
1065                         resets = <&tegra_car 101>;
1066                         reset-names = "i2s";
1067                         status = "disabled";
1068                 };
1069
1070                 tegra_i2s4: i2s@70301400 {
1071                         compatible = "nvidia,tegra124-i2s";
1072                         reg = <0x0 0x70301400 0x0 0x100>;
1073                         nvidia,ahub-cif-ids = <8 8>;
1074                         clocks = <&tegra_car TEGRA124_CLK_I2S4>;
1075                         resets = <&tegra_car 102>;
1076                         reset-names = "i2s";
1077                         status = "disabled";
1078                 };
1079         };
1080
1081         usb@7d000000 {
1082                 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1083                 reg = <0x0 0x7d000000 0x0 0x4000>;
1084                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1085                 phy_type = "utmi";
1086                 clocks = <&tegra_car TEGRA124_CLK_USBD>;
1087                 resets = <&tegra_car 22>;
1088                 reset-names = "usb";
1089                 nvidia,phy = <&phy1>;
1090                 status = "disabled";
1091         };
1092
1093         phy1: usb-phy@7d000000 {
1094                 compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1095                 reg = <0x0 0x7d000000 0x0 0x4000>,
1096                       <0x0 0x7d000000 0x0 0x4000>;
1097                 phy_type = "utmi";
1098                 clocks = <&tegra_car TEGRA124_CLK_USBD>,
1099                          <&tegra_car TEGRA124_CLK_PLL_U>,
1100                          <&tegra_car TEGRA124_CLK_USBD>;
1101                 clock-names = "reg", "pll_u", "utmi-pads";
1102                 resets = <&tegra_car 22>, <&tegra_car 22>;
1103                 reset-names = "usb", "utmi-pads";
1104                 #phy-cells = <0>;
1105                 nvidia,hssync-start-delay = <0>;
1106                 nvidia,idle-wait-delay = <17>;
1107                 nvidia,elastic-limit = <16>;
1108                 nvidia,term-range-adj = <6>;
1109                 nvidia,xcvr-setup = <9>;
1110                 nvidia,xcvr-lsfslew = <0>;
1111                 nvidia,xcvr-lsrslew = <3>;
1112                 nvidia,hssquelch-level = <2>;
1113                 nvidia,hsdiscon-level = <5>;
1114                 nvidia,xcvr-hsslew = <12>;
1115                 nvidia,has-utmi-pad-registers;
1116                 status = "disabled";
1117         };
1118
1119         usb@7d004000 {
1120                 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1121                 reg = <0x0 0x7d004000 0x0 0x4000>;
1122                 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1123                 phy_type = "utmi";
1124                 clocks = <&tegra_car TEGRA124_CLK_USB2>;
1125                 resets = <&tegra_car 58>;
1126                 reset-names = "usb";
1127                 nvidia,phy = <&phy2>;
1128                 status = "disabled";
1129         };
1130
1131         phy2: usb-phy@7d004000 {
1132                 compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1133                 reg = <0x0 0x7d004000 0x0 0x4000>,
1134                       <0x0 0x7d000000 0x0 0x4000>;
1135                 phy_type = "utmi";
1136                 clocks = <&tegra_car TEGRA124_CLK_USB2>,
1137                          <&tegra_car TEGRA124_CLK_PLL_U>,
1138                          <&tegra_car TEGRA124_CLK_USBD>;
1139                 clock-names = "reg", "pll_u", "utmi-pads";
1140                 resets = <&tegra_car 58>, <&tegra_car 22>;
1141                 reset-names = "usb", "utmi-pads";
1142                 #phy-cells = <0>;
1143                 nvidia,hssync-start-delay = <0>;
1144                 nvidia,idle-wait-delay = <17>;
1145                 nvidia,elastic-limit = <16>;
1146                 nvidia,term-range-adj = <6>;
1147                 nvidia,xcvr-setup = <9>;
1148                 nvidia,xcvr-lsfslew = <0>;
1149                 nvidia,xcvr-lsrslew = <3>;
1150                 nvidia,hssquelch-level = <2>;
1151                 nvidia,hsdiscon-level = <5>;
1152                 nvidia,xcvr-hsslew = <12>;
1153                 status = "disabled";
1154         };
1155
1156         usb@7d008000 {
1157                 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1158                 reg = <0x0 0x7d008000 0x0 0x4000>;
1159                 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1160                 phy_type = "utmi";
1161                 clocks = <&tegra_car TEGRA124_CLK_USB3>;
1162                 resets = <&tegra_car 59>;
1163                 reset-names = "usb";
1164                 nvidia,phy = <&phy3>;
1165                 status = "disabled";
1166         };
1167
1168         phy3: usb-phy@7d008000 {
1169                 compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1170                 reg = <0x0 0x7d008000 0x0 0x4000>,
1171                       <0x0 0x7d000000 0x0 0x4000>;
1172                 phy_type = "utmi";
1173                 clocks = <&tegra_car TEGRA124_CLK_USB3>,
1174                          <&tegra_car TEGRA124_CLK_PLL_U>,
1175                          <&tegra_car TEGRA124_CLK_USBD>;
1176                 clock-names = "reg", "pll_u", "utmi-pads";
1177                 resets = <&tegra_car 59>, <&tegra_car 22>;
1178                 reset-names = "usb", "utmi-pads";
1179                 #phy-cells = <0>;
1180                 nvidia,hssync-start-delay = <0>;
1181                 nvidia,idle-wait-delay = <17>;
1182                 nvidia,elastic-limit = <16>;
1183                 nvidia,term-range-adj = <6>;
1184                 nvidia,xcvr-setup = <9>;
1185                 nvidia,xcvr-lsfslew = <0>;
1186                 nvidia,xcvr-lsrslew = <3>;
1187                 nvidia,hssquelch-level = <2>;
1188                 nvidia,hsdiscon-level = <5>;
1189                 nvidia,xcvr-hsslew = <12>;
1190                 status = "disabled";
1191         };
1192
1193         cpus {
1194                 #address-cells = <1>;
1195                 #size-cells = <0>;
1196
1197                 cpu@0 {
1198                         device_type = "cpu";
1199                         compatible = "arm,cortex-a15";
1200                         reg = <0>;
1201
1202                         clocks = <&tegra_car TEGRA124_CLK_CCLK_G>,
1203                                  <&tegra_car TEGRA124_CLK_CCLK_LP>,
1204                                  <&tegra_car TEGRA124_CLK_PLL_X>,
1205                                  <&tegra_car TEGRA124_CLK_PLL_P>,
1206                                  <&dfll>;
1207                         clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll";
1208                         /* FIXME: what's the actual transition time? */
1209                         clock-latency = <300000>;
1210                 };
1211
1212                 cpu@1 {
1213                         device_type = "cpu";
1214                         compatible = "arm,cortex-a15";
1215                         reg = <1>;
1216                 };
1217
1218                 cpu@2 {
1219                         device_type = "cpu";
1220                         compatible = "arm,cortex-a15";
1221                         reg = <2>;
1222                 };
1223
1224                 cpu@3 {
1225                         device_type = "cpu";
1226                         compatible = "arm,cortex-a15";
1227                         reg = <3>;
1228                 };
1229         };
1230
1231         pmu {
1232                 compatible = "arm,cortex-a15-pmu";
1233                 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1234                              <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1235                              <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1236                              <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1237                 interrupt-affinity = <&{/cpus/cpu@0}>,
1238                                      <&{/cpus/cpu@1}>,
1239                                      <&{/cpus/cpu@2}>,
1240                                      <&{/cpus/cpu@3}>;
1241         };
1242
1243         thermal-zones {
1244                 cpu {
1245                         polling-delay-passive = <1000>;
1246                         polling-delay = <1000>;
1247
1248                         thermal-sensors =
1249                                 <&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
1250
1251                         trips {
1252                                 cpu-shutdown-trip {
1253                                         temperature = <103000>;
1254                                         hysteresis = <0>;
1255                                         type = "critical";
1256                                 };
1257                                 cpu_throttle_trip: throttle-trip {
1258                                         temperature = <100000>;
1259                                         hysteresis = <1000>;
1260                                         type = "hot";
1261                                 };
1262                         };
1263
1264                         cooling-maps {
1265                                 map0 {
1266                                         trip = <&cpu_throttle_trip>;
1267                                         cooling-device = <&throttle_heavy 1 1>;
1268                                 };
1269                         };
1270                 };
1271
1272                 mem {
1273                         polling-delay-passive = <1000>;
1274                         polling-delay = <1000>;
1275
1276                         thermal-sensors =
1277                                 <&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
1278
1279                         trips {
1280                                 mem-shutdown-trip {
1281                                         temperature = <103000>;
1282                                         hysteresis = <0>;
1283                                         type = "critical";
1284                                 };
1285                                 mem-throttle-trip {
1286                                         temperature = <99000>;
1287                                         hysteresis = <1000>;
1288                                         type = "hot";
1289                                 };
1290                         };
1291
1292                         cooling-maps {
1293                                 /*
1294                                  * There are currently no cooling maps,
1295                                  * because there are no cooling devices.
1296                                  */
1297                         };
1298                 };
1299
1300                 gpu {
1301                         polling-delay-passive = <1000>;
1302                         polling-delay = <1000>;
1303
1304                         thermal-sensors =
1305                                 <&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>;
1306
1307                         trips {
1308                                 gpu-shutdown-trip {
1309                                         temperature = <101000>;
1310                                         hysteresis = <0>;
1311                                         type = "critical";
1312                                 };
1313                                 gpu_throttle_trip: throttle-trip {
1314                                         temperature = <99000>;
1315                                         hysteresis = <1000>;
1316                                         type = "hot";
1317                                 };
1318                         };
1319
1320                         cooling-maps {
1321                                 map0 {
1322                                         trip = <&gpu_throttle_trip>;
1323                                         cooling-device = <&throttle_heavy 1 1>;
1324                                 };
1325                         };
1326                 };
1327
1328                 pllx {
1329                         polling-delay-passive = <1000>;
1330                         polling-delay = <1000>;
1331
1332                         thermal-sensors =
1333                                 <&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>;
1334
1335                         trips {
1336                                 pllx-shutdown-trip {
1337                                         temperature = <103000>;
1338                                         hysteresis = <0>;
1339                                         type = "critical";
1340                                 };
1341                                 pllx-throttle-trip {
1342                                         temperature = <99000>;
1343                                         hysteresis = <1000>;
1344                                         type = "hot";
1345                                 };
1346                         };
1347
1348                         cooling-maps {
1349                                 /*
1350                                  * There are currently no cooling maps,
1351                                  * because there are no cooling devices.
1352                                  */
1353                         };
1354                 };
1355         };
1356
1357         timer {
1358                 compatible = "arm,armv7-timer";
1359                 interrupts = <GIC_PPI 13
1360                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1361                              <GIC_PPI 14
1362                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1363                              <GIC_PPI 11
1364                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1365                              <GIC_PPI 10
1366                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1367                 interrupt-parent = <&gic>;
1368         };
1369 };