Merge remote-tracking branches 'asoc/topic/tas571x', 'asoc/topic/tlv320aic31xx',...
[cascardo/linux.git] / arch / arm64 / boot / dts / nvidia / tegra132.dtsi
1 #include <dt-bindings/clock/tegra124-car.h>
2 #include <dt-bindings/gpio/tegra-gpio.h>
3 #include <dt-bindings/memory/tegra124-mc.h>
4 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
5 #include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h>
6 #include <dt-bindings/interrupt-controller/arm-gic.h>
7
8 / {
9         compatible = "nvidia,tegra132", "nvidia,tegra124";
10         interrupt-parent = <&lic>;
11         #address-cells = <2>;
12         #size-cells = <2>;
13
14         pcie-controller@01003000 {
15                 compatible = "nvidia,tegra124-pcie";
16                 device_type = "pci";
17                 reg = <0x0 0x01003000 0x0 0x00000800   /* PADS registers */
18                        0x0 0x01003800 0x0 0x00000800   /* AFI registers */
19                        0x0 0x02000000 0x0 0x10000000>; /* configuration space */
20                 reg-names = "pads", "afi", "cs";
21                 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
22                              <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
23                 interrupt-names = "intr", "msi";
24
25                 #interrupt-cells = <1>;
26                 interrupt-map-mask = <0 0 0 0>;
27                 interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
28
29                 bus-range = <0x00 0xff>;
30                 #address-cells = <3>;
31                 #size-cells = <2>;
32
33                 ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000   /* port 0 configuration space */
34                           0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000   /* port 1 configuration space */
35                           0x81000000 0 0x0        0x0 0x12000000 0 0x00010000   /* downstream I/O (64 KiB) */
36                           0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000   /* non-prefetchable memory (208 MiB) */
37                           0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
38
39                 clocks = <&tegra_car TEGRA124_CLK_PCIE>,
40                          <&tegra_car TEGRA124_CLK_AFI>,
41                          <&tegra_car TEGRA124_CLK_PLL_E>,
42                          <&tegra_car TEGRA124_CLK_CML0>;
43                 clock-names = "pex", "afi", "pll_e", "cml";
44                 resets = <&tegra_car 70>,
45                          <&tegra_car 72>,
46                          <&tegra_car 74>;
47                 reset-names = "pex", "afi", "pcie_x";
48                 status = "disabled";
49
50                 phys = <&padctl TEGRA_XUSB_PADCTL_PCIE>;
51                 phy-names = "pcie";
52
53                 pci@1,0 {
54                         device_type = "pci";
55                         assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
56                         reg = <0x000800 0 0 0 0>;
57                         status = "disabled";
58
59                         #address-cells = <3>;
60                         #size-cells = <2>;
61                         ranges;
62
63                         nvidia,num-lanes = <2>;
64                 };
65
66                 pci@2,0 {
67                         device_type = "pci";
68                         assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
69                         reg = <0x001000 0 0 0 0>;
70                         status = "disabled";
71
72                         #address-cells = <3>;
73                         #size-cells = <2>;
74                         ranges;
75
76                         nvidia,num-lanes = <1>;
77                 };
78         };
79
80         host1x@50000000 {
81                 compatible = "nvidia,tegra124-host1x", "simple-bus";
82                 reg = <0x0 0x50000000 0x0 0x00034000>;
83                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
84                              <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
85                 clocks = <&tegra_car TEGRA124_CLK_HOST1X>;
86                 clock-names = "host1x";
87                 resets = <&tegra_car 28>;
88                 reset-names = "host1x";
89
90                 #address-cells = <2>;
91                 #size-cells = <2>;
92
93                 ranges = <0 0x54000000 0 0x54000000 0 0x01000000>;
94
95                 dc@54200000 {
96                         compatible = "nvidia,tegra124-dc";
97                         reg = <0x0 0x54200000 0x0 0x00040000>;
98                         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
99                         clocks = <&tegra_car TEGRA124_CLK_DISP1>,
100                                  <&tegra_car TEGRA124_CLK_PLL_P>;
101                         clock-names = "dc", "parent";
102                         resets = <&tegra_car 27>;
103                         reset-names = "dc";
104
105                         iommus = <&mc TEGRA_SWGROUP_DC>;
106
107                         nvidia,head = <0>;
108                 };
109
110                 dc@54240000 {
111                         compatible = "nvidia,tegra124-dc";
112                         reg = <0x0 0x54240000 0x0 0x00040000>;
113                         interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
114                         clocks = <&tegra_car TEGRA124_CLK_DISP2>,
115                                  <&tegra_car TEGRA124_CLK_PLL_P>;
116                         clock-names = "dc", "parent";
117                         resets = <&tegra_car 26>;
118                         reset-names = "dc";
119
120                         iommus = <&mc TEGRA_SWGROUP_DCB>;
121
122                         nvidia,head = <1>;
123                 };
124
125                 hdmi@54280000 {
126                         compatible = "nvidia,tegra124-hdmi";
127                         reg = <0x0 0x54280000 0x0 0x00040000>;
128                         interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
129                         clocks = <&tegra_car TEGRA124_CLK_HDMI>,
130                                  <&tegra_car TEGRA124_CLK_PLL_D2_OUT0>;
131                         clock-names = "hdmi", "parent";
132                         resets = <&tegra_car 51>;
133                         reset-names = "hdmi";
134                         status = "disabled";
135                 };
136
137                 sor@54540000 {
138                         compatible = "nvidia,tegra124-sor";
139                         reg = <0x0 0x54540000 0x0 0x00040000>;
140                         interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
141                         clocks = <&tegra_car TEGRA124_CLK_SOR0>,
142                                  <&tegra_car TEGRA124_CLK_PLL_D_OUT0>,
143                                  <&tegra_car TEGRA124_CLK_PLL_DP>,
144                                  <&tegra_car TEGRA124_CLK_CLK_M>;
145                         clock-names = "sor", "parent", "dp", "safe";
146                         resets = <&tegra_car 182>;
147                         reset-names = "sor";
148                         status = "disabled";
149                 };
150
151                 dpaux: dpaux@545c0000 {
152                         compatible = "nvidia,tegra124-dpaux";
153                         reg = <0x0 0x545c0000 0x0 0x00040000>;
154                         interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
155                         clocks = <&tegra_car TEGRA124_CLK_DPAUX>,
156                                  <&tegra_car TEGRA124_CLK_PLL_DP>;
157                         clock-names = "dpaux", "parent";
158                         resets = <&tegra_car 181>;
159                         reset-names = "dpaux";
160                         status = "disabled";
161                 };
162         };
163
164         gic: interrupt-controller@50041000 {
165                 compatible = "arm,cortex-a15-gic";
166                 #interrupt-cells = <3>;
167                 interrupt-controller;
168                 reg = <0x0 0x50041000 0x0 0x1000>,
169                       <0x0 0x50042000 0x0 0x2000>,
170                       <0x0 0x50044000 0x0 0x2000>,
171                       <0x0 0x50046000 0x0 0x2000>;
172                 interrupts = <GIC_PPI 9
173                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
174                 interrupt-parent = <&gic>;
175         };
176
177         gpu@57000000 {
178                 compatible = "nvidia,gk20a";
179                 reg = <0x0 0x57000000 0x0 0x01000000>,
180                       <0x0 0x58000000 0x0 0x01000000>;
181                 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
182                              <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
183                 interrupt-names = "stall", "nonstall";
184                 clocks = <&tegra_car TEGRA124_CLK_GPU>,
185                          <&tegra_car TEGRA124_CLK_PLL_P_OUT5>;
186                 clock-names = "gpu", "pwr";
187                 resets = <&tegra_car 184>;
188                 reset-names = "gpu";
189                 status = "disabled";
190         };
191
192         lic: interrupt-controller@60004000 {
193                 compatible = "nvidia,tegra124-ictlr", "nvidia,tegra30-ictlr";
194                 reg = <0x0 0x60004000 0x0 0x100>,
195                       <0x0 0x60004100 0x0 0x100>,
196                       <0x0 0x60004200 0x0 0x100>,
197                       <0x0 0x60004300 0x0 0x100>,
198                       <0x0 0x60004400 0x0 0x100>;
199                 interrupt-controller;
200                 #interrupt-cells = <3>;
201                 interrupt-parent = <&gic>;
202         };
203
204         timer@60005000 {
205                 compatible = "nvidia,tegra124-timer", "nvidia,tegra20-timer";
206                 reg = <0x0 0x60005000 0x0 0x400>;
207                 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
208                              <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
209                              <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
210                              <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
211                              <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
212                              <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
213                 clocks = <&tegra_car TEGRA124_CLK_TIMER>;
214                 clock-names = "timer";
215         };
216
217         tegra_car: clock@60006000 {
218                 compatible = "nvidia,tegra132-car";
219                 reg = <0x0 0x60006000 0x0 0x1000>;
220                 #clock-cells = <1>;
221                 #reset-cells = <1>;
222                 nvidia,external-memory-controller = <&emc>;
223         };
224
225         flow-controller@60007000 {
226                 compatible = "nvidia,tegra124-flowctrl";
227                 reg = <0x0 0x60007000 0x0 0x1000>;
228         };
229
230         actmon@6000c800 {
231                 compatible = "nvidia,tegra124-actmon";
232                 reg = <0x0 0x6000c800 0x0 0x400>;
233                 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
234                 clocks = <&tegra_car TEGRA124_CLK_ACTMON>,
235                          <&tegra_car TEGRA124_CLK_EMC>;
236                 clock-names = "actmon", "emc";
237                 resets = <&tegra_car 119>;
238                 reset-names = "actmon";
239         };
240
241         gpio: gpio@6000d000 {
242                 compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
243                 reg = <0x0 0x6000d000 0x0 0x1000>;
244                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
245                              <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
246                              <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
247                              <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
248                              <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
249                              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
250                              <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
251                              <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
252                 #gpio-cells = <2>;
253                 gpio-controller;
254                 #interrupt-cells = <2>;
255                 interrupt-controller;
256         };
257
258         apbdma: dma@60020000 {
259                 compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
260                 reg = <0x0 0x60020000 0x0 0x1400>;
261                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
262                              <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
263                              <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
264                              <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
265                              <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
266                              <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
267                              <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
268                              <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
269                              <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
270                              <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
271                              <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
272                              <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
273                              <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
274                              <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
275                              <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
276                              <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
277                              <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
278                              <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
279                              <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
280                              <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
281                              <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
282                              <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
283                              <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
284                              <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
285                              <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
286                              <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
287                              <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
288                              <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
289                              <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
290                              <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
291                              <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
292                              <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
293                 clocks = <&tegra_car TEGRA124_CLK_APBDMA>;
294                 clock-names = "dma";
295                 resets = <&tegra_car 34>;
296                 reset-names = "dma";
297                 #dma-cells = <1>;
298         };
299
300         apbmisc@70000800 {
301                 compatible = "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc";
302                 reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
303                       <0x0 0x7000e864 0x0 0x04>;   /* Strapping options */
304         };
305
306         pinmux: pinmux@70000868 {
307                 compatible = "nvidia,tegra124-pinmux";
308                 reg = <0x0 0x70000868 0x0 0x164>, /* Pad control registers */
309                       <0x0 0x70003000 0x0 0x434>, /* Mux registers */
310                       <0x0 0x70000820 0x0 0x008>; /* MIPI pad control */
311         };
312
313         /*
314          * There are two serial driver i.e. 8250 based simple serial
315          * driver and APB DMA based serial driver for higher baudrate
316          * and performance. To enable the 8250 based driver, the compatible
317          * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
318          * the APB DMA based serial driver, the compatible is
319          * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
320          */
321         uarta: serial@70006000 {
322                 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
323                 reg = <0x0 0x70006000 0x0 0x40>;
324                 reg-shift = <2>;
325                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
326                 clocks = <&tegra_car TEGRA124_CLK_UARTA>;
327                 clock-names = "serial";
328                 resets = <&tegra_car 6>;
329                 reset-names = "serial";
330                 dmas = <&apbdma 8>, <&apbdma 8>;
331                 dma-names = "rx", "tx";
332                 status = "disabled";
333         };
334
335         uartb: serial@70006040 {
336                 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
337                 reg = <0x0 0x70006040 0x0 0x40>;
338                 reg-shift = <2>;
339                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
340                 clocks = <&tegra_car TEGRA124_CLK_UARTB>;
341                 clock-names = "serial";
342                 resets = <&tegra_car 7>;
343                 reset-names = "serial";
344                 dmas = <&apbdma 9>, <&apbdma 9>;
345                 dma-names = "rx", "tx";
346                 status = "disabled";
347         };
348
349         uartc: serial@70006200 {
350                 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
351                 reg = <0x0 0x70006200 0x0 0x40>;
352                 reg-shift = <2>;
353                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
354                 clocks = <&tegra_car TEGRA124_CLK_UARTC>;
355                 clock-names = "serial";
356                 resets = <&tegra_car 55>;
357                 reset-names = "serial";
358                 dmas = <&apbdma 10>, <&apbdma 10>;
359                 dma-names = "rx", "tx";
360                 status = "disabled";
361         };
362
363         uartd: serial@70006300 {
364                 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
365                 reg = <0x0 0x70006300 0x0 0x40>;
366                 reg-shift = <2>;
367                 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
368                 clocks = <&tegra_car TEGRA124_CLK_UARTD>;
369                 clock-names = "serial";
370                 resets = <&tegra_car 65>;
371                 reset-names = "serial";
372                 dmas = <&apbdma 19>, <&apbdma 19>;
373                 dma-names = "rx", "tx";
374                 status = "disabled";
375         };
376
377         pwm: pwm@7000a000 {
378                 compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
379                 reg = <0x0 0x7000a000 0x0 0x100>;
380                 #pwm-cells = <2>;
381                 clocks = <&tegra_car TEGRA124_CLK_PWM>;
382                 clock-names = "pwm";
383                 resets = <&tegra_car 17>;
384                 reset-names = "pwm";
385                 status = "disabled";
386         };
387
388         i2c@7000c000 {
389                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
390                 reg = <0x0 0x7000c000 0x0 0x100>;
391                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
392                 #address-cells = <1>;
393                 #size-cells = <0>;
394                 clocks = <&tegra_car TEGRA124_CLK_I2C1>;
395                 clock-names = "div-clk";
396                 resets = <&tegra_car 12>;
397                 reset-names = "i2c";
398                 dmas = <&apbdma 21>, <&apbdma 21>;
399                 dma-names = "rx", "tx";
400                 status = "disabled";
401         };
402
403         i2c@7000c400 {
404                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
405                 reg = <0x0 0x7000c400 0x0 0x100>;
406                 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
407                 #address-cells = <1>;
408                 #size-cells = <0>;
409                 clocks = <&tegra_car TEGRA124_CLK_I2C2>;
410                 clock-names = "div-clk";
411                 resets = <&tegra_car 54>;
412                 reset-names = "i2c";
413                 dmas = <&apbdma 22>, <&apbdma 22>;
414                 dma-names = "rx", "tx";
415                 status = "disabled";
416         };
417
418         i2c@7000c500 {
419                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
420                 reg = <0x0 0x7000c500 0x0 0x100>;
421                 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
422                 #address-cells = <1>;
423                 #size-cells = <0>;
424                 clocks = <&tegra_car TEGRA124_CLK_I2C3>;
425                 clock-names = "div-clk";
426                 resets = <&tegra_car 67>;
427                 reset-names = "i2c";
428                 dmas = <&apbdma 23>, <&apbdma 23>;
429                 dma-names = "rx", "tx";
430                 status = "disabled";
431         };
432
433         i2c@7000c700 {
434                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
435                 reg = <0x0 0x7000c700 0x0 0x100>;
436                 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
437                 #address-cells = <1>;
438                 #size-cells = <0>;
439                 clocks = <&tegra_car TEGRA124_CLK_I2C4>;
440                 clock-names = "div-clk";
441                 resets = <&tegra_car 103>;
442                 reset-names = "i2c";
443                 dmas = <&apbdma 26>, <&apbdma 26>;
444                 dma-names = "rx", "tx";
445                 status = "disabled";
446         };
447
448         i2c@7000d000 {
449                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
450                 reg = <0x0 0x7000d000 0x0 0x100>;
451                 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
452                 #address-cells = <1>;
453                 #size-cells = <0>;
454                 clocks = <&tegra_car TEGRA124_CLK_I2C5>;
455                 clock-names = "div-clk";
456                 resets = <&tegra_car 47>;
457                 reset-names = "i2c";
458                 dmas = <&apbdma 24>, <&apbdma 24>;
459                 dma-names = "rx", "tx";
460                 status = "disabled";
461         };
462
463         i2c@7000d100 {
464                 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
465                 reg = <0x0 0x7000d100 0x0 0x100>;
466                 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
467                 #address-cells = <1>;
468                 #size-cells = <0>;
469                 clocks = <&tegra_car TEGRA124_CLK_I2C6>;
470                 clock-names = "div-clk";
471                 resets = <&tegra_car 166>;
472                 reset-names = "i2c";
473                 dmas = <&apbdma 30>, <&apbdma 30>;
474                 dma-names = "rx", "tx";
475                 status = "disabled";
476         };
477
478         spi@7000d400 {
479                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
480                 reg = <0x0 0x7000d400 0x0 0x200>;
481                 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
482                 #address-cells = <1>;
483                 #size-cells = <0>;
484                 clocks = <&tegra_car TEGRA124_CLK_SBC1>;
485                 clock-names = "spi";
486                 resets = <&tegra_car 41>;
487                 reset-names = "spi";
488                 dmas = <&apbdma 15>, <&apbdma 15>;
489                 dma-names = "rx", "tx";
490                 status = "disabled";
491         };
492
493         spi@7000d600 {
494                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
495                 reg = <0x0 0x7000d600 0x0 0x200>;
496                 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
497                 #address-cells = <1>;
498                 #size-cells = <0>;
499                 clocks = <&tegra_car TEGRA124_CLK_SBC2>;
500                 clock-names = "spi";
501                 resets = <&tegra_car 44>;
502                 reset-names = "spi";
503                 dmas = <&apbdma 16>, <&apbdma 16>;
504                 dma-names = "rx", "tx";
505                 status = "disabled";
506         };
507
508         spi@7000d800 {
509                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
510                 reg = <0x0 0x7000d800 0x0 0x200>;
511                 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
512                 #address-cells = <1>;
513                 #size-cells = <0>;
514                 clocks = <&tegra_car TEGRA124_CLK_SBC3>;
515                 clock-names = "spi";
516                 resets = <&tegra_car 46>;
517                 reset-names = "spi";
518                 dmas = <&apbdma 17>, <&apbdma 17>;
519                 dma-names = "rx", "tx";
520                 status = "disabled";
521         };
522
523         spi@7000da00 {
524                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
525                 reg = <0x0 0x7000da00 0x0 0x200>;
526                 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
527                 #address-cells = <1>;
528                 #size-cells = <0>;
529                 clocks = <&tegra_car TEGRA124_CLK_SBC4>;
530                 clock-names = "spi";
531                 resets = <&tegra_car 68>;
532                 reset-names = "spi";
533                 dmas = <&apbdma 18>, <&apbdma 18>;
534                 dma-names = "rx", "tx";
535                 status = "disabled";
536         };
537
538         spi@7000dc00 {
539                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
540                 reg = <0x0 0x7000dc00 0x0 0x200>;
541                 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
542                 #address-cells = <1>;
543                 #size-cells = <0>;
544                 clocks = <&tegra_car TEGRA124_CLK_SBC5>;
545                 clock-names = "spi";
546                 resets = <&tegra_car 104>;
547                 reset-names = "spi";
548                 dmas = <&apbdma 27>, <&apbdma 27>;
549                 dma-names = "rx", "tx";
550                 status = "disabled";
551         };
552
553         spi@7000de00 {
554                 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
555                 reg = <0x0 0x7000de00 0x0 0x200>;
556                 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
557                 #address-cells = <1>;
558                 #size-cells = <0>;
559                 clocks = <&tegra_car TEGRA124_CLK_SBC6>;
560                 clock-names = "spi";
561                 resets = <&tegra_car 105>;
562                 reset-names = "spi";
563                 dmas = <&apbdma 28>, <&apbdma 28>;
564                 dma-names = "rx", "tx";
565                 status = "disabled";
566         };
567
568         rtc@7000e000 {
569                 compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
570                 reg = <0x0 0x7000e000 0x0 0x100>;
571                 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
572                 clocks = <&tegra_car TEGRA124_CLK_RTC>;
573                 clock-names = "rtc";
574         };
575
576         pmc@7000e400 {
577                 compatible = "nvidia,tegra124-pmc";
578                 reg = <0x0 0x7000e400 0x0 0x400>;
579                 clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>;
580                 clock-names = "pclk", "clk32k_in";
581         };
582
583         fuse@7000f800 {
584                 compatible = "nvidia,tegra124-efuse";
585                 reg = <0x0 0x7000f800 0x0 0x400>;
586                 clocks = <&tegra_car TEGRA124_CLK_FUSE>;
587                 clock-names = "fuse";
588                 resets = <&tegra_car 39>;
589                 reset-names = "fuse";
590         };
591
592         mc: memory-controller@70019000 {
593                 compatible = "nvidia,tegra132-mc";
594                 reg = <0x0 0x70019000 0x0 0x1000>;
595                 clocks = <&tegra_car TEGRA124_CLK_MC>;
596                 clock-names = "mc";
597
598                 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
599
600                 #iommu-cells = <1>;
601         };
602
603         emc: emc@7001b000 {
604                 compatible = "nvidia,tegra132-emc", "nvidia,tegra124-emc";
605                 reg = <0x0 0x7001b000 0x0 0x1000>;
606
607                 nvidia,memory-controller = <&mc>;
608         };
609
610         sata@70020000 {
611                 compatible = "nvidia,tegra124-ahci";
612                 reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
613                       <0x0 0x70020000 0x0 0x7000>; /* SATA */
614                 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
615                 clocks = <&tegra_car TEGRA124_CLK_SATA>,
616                          <&tegra_car TEGRA124_CLK_SATA_OOB>,
617                          <&tegra_car TEGRA124_CLK_CML1>,
618                          <&tegra_car TEGRA124_CLK_PLL_E>;
619                 clock-names = "sata", "sata-oob", "cml1", "pll_e";
620                 resets = <&tegra_car 124>,
621                          <&tegra_car 123>,
622                          <&tegra_car 129>;
623                 reset-names = "sata", "sata-oob", "sata-cold";
624                 phys = <&padctl TEGRA_XUSB_PADCTL_SATA>;
625                 phy-names = "sata-phy";
626                 status = "disabled";
627         };
628
629         hda@70030000 {
630                 compatible = "nvidia,tegra132-hda", "nvidia,tegra124-hda",
631                              "nvidia,tegra30-hda";
632                 reg = <0x0 0x70030000 0x0 0x10000>;
633                 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
634                 clocks = <&tegra_car TEGRA124_CLK_HDA>,
635                          <&tegra_car TEGRA124_CLK_HDA2HDMI>,
636                          <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
637                 clock-names = "hda", "hda2hdmi", "hda2codec_2x";
638                 resets = <&tegra_car 125>, /* hda */
639                          <&tegra_car 128>, /* hda2hdmi */
640                          <&tegra_car 111>; /* hda2codec_2x */
641                 reset-names = "hda", "hda2hdmi", "hda2codec_2x";
642                 status = "disabled";
643         };
644
645         padctl: padctl@7009f000 {
646                 compatible = "nvidia,tegra132-xusb-padctl",
647                              "nvidia,tegra124-xusb-padctl";
648                 reg = <0x0 0x7009f000 0x0 0x1000>;
649                 resets = <&tegra_car 142>;
650                 reset-names = "padctl";
651
652                 #phy-cells = <1>;
653
654                 phys {
655                         pcie-0 {
656                                 status = "disabled";
657                         };
658
659                         sata-0 {
660                                 status = "disabled";
661                         };
662
663                         usb3-0 {
664                                 status = "disabled";
665                         };
666
667                         usb3-1 {
668                                 status = "disabled";
669                         };
670
671                         utmi-0 {
672                                 status = "disabled";
673                         };
674
675                         utmi-1 {
676                                 status = "disabled";
677                         };
678
679                         utmi-2 {
680                                 status = "disabled";
681                         };
682                 };
683         };
684
685         sdhci@700b0000 {
686                 compatible = "nvidia,tegra124-sdhci";
687                 reg = <0x0 0x700b0000 0x0 0x200>;
688                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
689                 clocks = <&tegra_car TEGRA124_CLK_SDMMC1>;
690                 clock-names = "sdhci";
691                 resets = <&tegra_car 14>;
692                 reset-names = "sdhci";
693                 status = "disabled";
694         };
695
696         sdhci@700b0200 {
697                 compatible = "nvidia,tegra124-sdhci";
698                 reg = <0x0 0x700b0200 0x0 0x200>;
699                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
700                 clocks = <&tegra_car TEGRA124_CLK_SDMMC2>;
701                 clock-names = "sdhci";
702                 resets = <&tegra_car 9>;
703                 reset-names = "sdhci";
704                 status = "disabled";
705         };
706
707         sdhci@700b0400 {
708                 compatible = "nvidia,tegra124-sdhci";
709                 reg = <0x0 0x700b0400 0x0 0x200>;
710                 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
711                 clocks = <&tegra_car TEGRA124_CLK_SDMMC3>;
712                 clock-names = "sdhci";
713                 resets = <&tegra_car 69>;
714                 reset-names = "sdhci";
715                 status = "disabled";
716         };
717
718         sdhci@700b0600 {
719                 compatible = "nvidia,tegra124-sdhci";
720                 reg = <0x0 0x700b0600 0x0 0x200>;
721                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
722                 clocks = <&tegra_car TEGRA124_CLK_SDMMC4>;
723                 clock-names = "sdhci";
724                 resets = <&tegra_car 15>;
725                 reset-names = "sdhci";
726                 status = "disabled";
727         };
728
729         soctherm: thermal-sensor@700e2000 {
730                 compatible = "nvidia,tegra124-soctherm";
731                 reg = <0x0 0x700e2000 0x0 0x1000>;
732                 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
733                 clocks = <&tegra_car TEGRA124_CLK_TSENSOR>,
734                         <&tegra_car TEGRA124_CLK_SOC_THERM>;
735                 clock-names = "tsensor", "soctherm";
736                 resets = <&tegra_car 78>;
737                 reset-names = "soctherm";
738                 #thermal-sensor-cells = <1>;
739         };
740
741         ahub@70300000 {
742                 compatible = "nvidia,tegra124-ahub";
743                 reg = <0x0 0x70300000 0x0 0x200>,
744                       <0x0 0x70300800 0x0 0x800>,
745                       <0x0 0x70300200 0x0 0x600>;
746                 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
747                 clocks = <&tegra_car TEGRA124_CLK_D_AUDIO>,
748                          <&tegra_car TEGRA124_CLK_APBIF>;
749                 clock-names = "d_audio", "apbif";
750                 resets = <&tegra_car 106>, /* d_audio */
751                          <&tegra_car 107>, /* apbif */
752                          <&tegra_car 30>,  /* i2s0 */
753                          <&tegra_car 11>,  /* i2s1 */
754                          <&tegra_car 18>,  /* i2s2 */
755                          <&tegra_car 101>, /* i2s3 */
756                          <&tegra_car 102>, /* i2s4 */
757                          <&tegra_car 108>, /* dam0 */
758                          <&tegra_car 109>, /* dam1 */
759                          <&tegra_car 110>, /* dam2 */
760                          <&tegra_car 10>,  /* spdif */
761                          <&tegra_car 153>, /* amx */
762                          <&tegra_car 185>, /* amx1 */
763                          <&tegra_car 154>, /* adx */
764                          <&tegra_car 180>, /* adx1 */
765                          <&tegra_car 186>, /* afc0 */
766                          <&tegra_car 187>, /* afc1 */
767                          <&tegra_car 188>, /* afc2 */
768                          <&tegra_car 189>, /* afc3 */
769                          <&tegra_car 190>, /* afc4 */
770                          <&tegra_car 191>; /* afc5 */
771                 reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
772                               "i2s3", "i2s4", "dam0", "dam1", "dam2",
773                               "spdif", "amx", "amx1", "adx", "adx1",
774                               "afc0", "afc1", "afc2", "afc3", "afc4", "afc5";
775                 dmas = <&apbdma 1>, <&apbdma 1>,
776                        <&apbdma 2>, <&apbdma 2>,
777                        <&apbdma 3>, <&apbdma 3>,
778                        <&apbdma 4>, <&apbdma 4>,
779                        <&apbdma 6>, <&apbdma 6>,
780                        <&apbdma 7>, <&apbdma 7>,
781                        <&apbdma 12>, <&apbdma 12>,
782                        <&apbdma 13>, <&apbdma 13>,
783                        <&apbdma 14>, <&apbdma 14>,
784                        <&apbdma 29>, <&apbdma 29>;
785                 dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
786                             "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
787                             "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
788                             "rx9", "tx9";
789                 ranges;
790                 #address-cells = <2>;
791                 #size-cells = <2>;
792
793                 tegra_i2s0: i2s@70301000 {
794                         compatible = "nvidia,tegra124-i2s";
795                         reg = <0x0 0x70301000 0x0 0x100>;
796                         nvidia,ahub-cif-ids = <4 4>;
797                         clocks = <&tegra_car TEGRA124_CLK_I2S0>;
798                         clock-names = "i2s";
799                         resets = <&tegra_car 30>;
800                         reset-names = "i2s";
801                         status = "disabled";
802                 };
803
804                 tegra_i2s1: i2s@70301100 {
805                         compatible = "nvidia,tegra124-i2s";
806                         reg = <0x0 0x70301100 0x0 0x100>;
807                         nvidia,ahub-cif-ids = <5 5>;
808                         clocks = <&tegra_car TEGRA124_CLK_I2S1>;
809                         clock-names = "i2s";
810                         resets = <&tegra_car 11>;
811                         reset-names = "i2s";
812                         status = "disabled";
813                 };
814
815                 tegra_i2s2: i2s@70301200 {
816                         compatible = "nvidia,tegra124-i2s";
817                         reg = <0x0 0x70301200 0x0 0x100>;
818                         nvidia,ahub-cif-ids = <6 6>;
819                         clocks = <&tegra_car TEGRA124_CLK_I2S2>;
820                         clock-names = "i2s";
821                         resets = <&tegra_car 18>;
822                         reset-names = "i2s";
823                         status = "disabled";
824                 };
825
826                 tegra_i2s3: i2s@70301300 {
827                         compatible = "nvidia,tegra124-i2s";
828                         reg = <0x0 0x70301300 0x0 0x100>;
829                         nvidia,ahub-cif-ids = <7 7>;
830                         clocks = <&tegra_car TEGRA124_CLK_I2S3>;
831                         clock-names = "i2s";
832                         resets = <&tegra_car 101>;
833                         reset-names = "i2s";
834                         status = "disabled";
835                 };
836
837                 tegra_i2s4: i2s@70301400 {
838                         compatible = "nvidia,tegra124-i2s";
839                         reg = <0x0 0x70301400 0x0 0x100>;
840                         nvidia,ahub-cif-ids = <8 8>;
841                         clocks = <&tegra_car TEGRA124_CLK_I2S4>;
842                         clock-names = "i2s";
843                         resets = <&tegra_car 102>;
844                         reset-names = "i2s";
845                         status = "disabled";
846                 };
847         };
848
849         usb@7d000000 {
850                 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
851                 reg = <0x0 0x7d000000 0x0 0x4000>;
852                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
853                 phy_type = "utmi";
854                 clocks = <&tegra_car TEGRA124_CLK_USBD>;
855                 clock-names = "usb";
856                 resets = <&tegra_car 22>;
857                 reset-names = "usb";
858                 nvidia,phy = <&phy1>;
859                 status = "disabled";
860         };
861
862         phy1: usb-phy@7d000000 {
863                 compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
864                 reg = <0x0 0x7d000000 0x0 0x4000>,
865                       <0x0 0x7d000000 0x0 0x4000>;
866                 phy_type = "utmi";
867                 clocks = <&tegra_car TEGRA124_CLK_USBD>,
868                          <&tegra_car TEGRA124_CLK_PLL_U>,
869                          <&tegra_car TEGRA124_CLK_USBD>;
870                 clock-names = "reg", "pll_u", "utmi-pads";
871                 resets = <&tegra_car 22>, <&tegra_car 22>;
872                 reset-names = "usb", "utmi-pads";
873                 nvidia,hssync-start-delay = <0>;
874                 nvidia,idle-wait-delay = <17>;
875                 nvidia,elastic-limit = <16>;
876                 nvidia,term-range-adj = <6>;
877                 nvidia,xcvr-setup = <9>;
878                 nvidia,xcvr-lsfslew = <0>;
879                 nvidia,xcvr-lsrslew = <3>;
880                 nvidia,hssquelch-level = <2>;
881                 nvidia,hsdiscon-level = <5>;
882                 nvidia,xcvr-hsslew = <12>;
883                 nvidia,has-utmi-pad-registers;
884                 status = "disabled";
885         };
886
887         usb@7d004000 {
888                 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
889                 reg = <0x0 0x7d004000 0x0 0x4000>;
890                 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
891                 phy_type = "utmi";
892                 clocks = <&tegra_car TEGRA124_CLK_USB2>;
893                 clock-names = "usb";
894                 resets = <&tegra_car 58>;
895                 reset-names = "usb";
896                 nvidia,phy = <&phy2>;
897                 status = "disabled";
898         };
899
900         phy2: usb-phy@7d004000 {
901                 compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
902                 reg = <0x0 0x7d004000 0x0 0x4000>,
903                       <0x0 0x7d000000 0x0 0x4000>;
904                 phy_type = "utmi";
905                 clocks = <&tegra_car TEGRA124_CLK_USB2>,
906                          <&tegra_car TEGRA124_CLK_PLL_U>,
907                          <&tegra_car TEGRA124_CLK_USBD>;
908                 clock-names = "reg", "pll_u", "utmi-pads";
909                 resets = <&tegra_car 58>, <&tegra_car 22>;
910                 reset-names = "usb", "utmi-pads";
911                 nvidia,hssync-start-delay = <0>;
912                 nvidia,idle-wait-delay = <17>;
913                 nvidia,elastic-limit = <16>;
914                 nvidia,term-range-adj = <6>;
915                 nvidia,xcvr-setup = <9>;
916                 nvidia,xcvr-lsfslew = <0>;
917                 nvidia,xcvr-lsrslew = <3>;
918                 nvidia,hssquelch-level = <2>;
919                 nvidia,hsdiscon-level = <5>;
920                 nvidia,xcvr-hsslew = <12>;
921                 status = "disabled";
922         };
923
924         usb@7d008000 {
925                 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
926                 reg = <0x0 0x7d008000 0x0 0x4000>;
927                 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
928                 phy_type = "utmi";
929                 clocks = <&tegra_car TEGRA124_CLK_USB3>;
930                 clock-names = "usb";
931                 resets = <&tegra_car 59>;
932                 reset-names = "usb";
933                 nvidia,phy = <&phy3>;
934                 status = "disabled";
935         };
936
937         phy3: usb-phy@7d008000 {
938                 compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
939                 reg = <0x0 0x7d008000 0x0 0x4000>,
940                       <0x0 0x7d000000 0x0 0x4000>;
941                 phy_type = "utmi";
942                 clocks = <&tegra_car TEGRA124_CLK_USB3>,
943                          <&tegra_car TEGRA124_CLK_PLL_U>,
944                          <&tegra_car TEGRA124_CLK_USBD>;
945                 clock-names = "reg", "pll_u", "utmi-pads";
946                 resets = <&tegra_car 59>, <&tegra_car 22>;
947                 reset-names = "usb", "utmi-pads";
948                 nvidia,hssync-start-delay = <0>;
949                 nvidia,idle-wait-delay = <17>;
950                 nvidia,elastic-limit = <16>;
951                 nvidia,term-range-adj = <6>;
952                 nvidia,xcvr-setup = <9>;
953                 nvidia,xcvr-lsfslew = <0>;
954                 nvidia,xcvr-lsrslew = <3>;
955                 nvidia,hssquelch-level = <2>;
956                 nvidia,hsdiscon-level = <5>;
957                 nvidia,xcvr-hsslew = <12>;
958                 status = "disabled";
959         };
960
961         cpus {
962                 #address-cells = <1>;
963                 #size-cells = <0>;
964
965                 cpu@0 {
966                         device_type = "cpu";
967                         compatible = "nvidia,denver", "arm,armv8";
968                         reg = <0>;
969                 };
970
971                 cpu@1 {
972                         device_type = "cpu";
973                         compatible = "nvidia,denver", "arm,armv8";
974                         reg = <1>;
975                 };
976         };
977
978         timer {
979                 compatible = "arm,armv7-timer";
980                 interrupts = <GIC_PPI 13
981                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
982                              <GIC_PPI 14
983                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
984                              <GIC_PPI 11
985                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
986                              <GIC_PPI 10
987                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
988                 interrupt-parent = <&gic>;
989         };
990 };