Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cascardo/linux.git] / arch / arm64 / boot / dts / nvidia / tegra210.dtsi
1 #include <dt-bindings/clock/tegra210-car.h>
2 #include <dt-bindings/gpio/tegra-gpio.h>
3 #include <dt-bindings/memory/tegra210-mc.h>
4 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
5 #include <dt-bindings/interrupt-controller/arm-gic.h>
6
7 / {
8         compatible = "nvidia,tegra210";
9         interrupt-parent = <&lic>;
10         #address-cells = <2>;
11         #size-cells = <2>;
12
13         host1x@50000000 {
14                 compatible = "nvidia,tegra210-host1x", "simple-bus";
15                 reg = <0x0 0x50000000 0x0 0x00034000>;
16                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
17                              <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
18                 clocks = <&tegra_car TEGRA210_CLK_HOST1X>;
19                 clock-names = "host1x";
20                 resets = <&tegra_car 28>;
21                 reset-names = "host1x";
22
23                 #address-cells = <2>;
24                 #size-cells = <2>;
25
26                 ranges = <0x0 0x54000000 0x0 0x54000000 0x0 0x01000000>;
27
28                 dpaux1: dpaux@54040000 {
29                         compatible = "nvidia,tegra210-dpaux";
30                         reg = <0x0 0x54040000 0x0 0x00040000>;
31                         interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
32                         clocks = <&tegra_car TEGRA210_CLK_DPAUX1>,
33                                  <&tegra_car TEGRA210_CLK_PLL_DP>;
34                         clock-names = "dpaux", "parent";
35                         resets = <&tegra_car 207>;
36                         reset-names = "dpaux";
37                         status = "disabled";
38
39                         state_dpaux1_aux: pinmux-aux {
40                                 groups = "dpaux-io";
41                                 function = "aux";
42                         };
43
44                         state_dpaux1_i2c: pinmux-i2c {
45                                 groups = "dpaux-io";
46                                 function = "i2c";
47                         };
48
49                         state_dpaux1_off: pinmux-off {
50                                 groups = "dpaux-io";
51                                 function = "off";
52                         };
53
54                         i2c-bus {
55                                 #address-cells = <1>;
56                                 #size-cells = <0>;
57                         };
58                 };
59
60                 vi@54080000 {
61                         compatible = "nvidia,tegra210-vi";
62                         reg = <0x0 0x54080000 0x0 0x00040000>;
63                         interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
64                         status = "disabled";
65                 };
66
67                 tsec@54100000 {
68                         compatible = "nvidia,tegra210-tsec";
69                         reg = <0x0 0x54100000 0x0 0x00040000>;
70                 };
71
72                 dc@54200000 {
73                         compatible = "nvidia,tegra210-dc";
74                         reg = <0x0 0x54200000 0x0 0x00040000>;
75                         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
76                         clocks = <&tegra_car TEGRA210_CLK_DISP1>,
77                                  <&tegra_car TEGRA210_CLK_PLL_P>;
78                         clock-names = "dc", "parent";
79                         resets = <&tegra_car 27>;
80                         reset-names = "dc";
81
82                         iommus = <&mc TEGRA_SWGROUP_DC>;
83
84                         nvidia,head = <0>;
85                 };
86
87                 dc@54240000 {
88                         compatible = "nvidia,tegra210-dc";
89                         reg = <0x0 0x54240000 0x0 0x00040000>;
90                         interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
91                         clocks = <&tegra_car TEGRA210_CLK_DISP2>,
92                                  <&tegra_car TEGRA210_CLK_PLL_P>;
93                         clock-names = "dc", "parent";
94                         resets = <&tegra_car 26>;
95                         reset-names = "dc";
96
97                         iommus = <&mc TEGRA_SWGROUP_DCB>;
98
99                         nvidia,head = <1>;
100                 };
101
102                 dsi@54300000 {
103                         compatible = "nvidia,tegra210-dsi";
104                         reg = <0x0 0x54300000 0x0 0x00040000>;
105                         clocks = <&tegra_car TEGRA210_CLK_DSIA>,
106                                  <&tegra_car TEGRA210_CLK_DSIALP>,
107                                  <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
108                         clock-names = "dsi", "lp", "parent";
109                         resets = <&tegra_car 48>;
110                         reset-names = "dsi";
111                         nvidia,mipi-calibrate = <&mipi 0x0c0>; /* DSIA & DSIB pads */
112
113                         status = "disabled";
114
115                         #address-cells = <1>;
116                         #size-cells = <0>;
117                 };
118
119                 vic@54340000 {
120                         compatible = "nvidia,tegra210-vic";
121                         reg = <0x0 0x54340000 0x0 0x00040000>;
122                         status = "disabled";
123                 };
124
125                 nvjpg@54380000 {
126                         compatible = "nvidia,tegra210-nvjpg";
127                         reg = <0x0 0x54380000 0x0 0x00040000>;
128                         status = "disabled";
129                 };
130
131                 dsi@54400000 {
132                         compatible = "nvidia,tegra210-dsi";
133                         reg = <0x0 0x54400000 0x0 0x00040000>;
134                         clocks = <&tegra_car TEGRA210_CLK_DSIB>,
135                                  <&tegra_car TEGRA210_CLK_DSIBLP>,
136                                  <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
137                         clock-names = "dsi", "lp", "parent";
138                         resets = <&tegra_car 82>;
139                         reset-names = "dsi";
140                         nvidia,mipi-calibrate = <&mipi 0x300>; /* DSIC & DSID pads */
141
142                         status = "disabled";
143
144                         #address-cells = <1>;
145                         #size-cells = <0>;
146                 };
147
148                 nvdec@54480000 {
149                         compatible = "nvidia,tegra210-nvdec";
150                         reg = <0x0 0x54480000 0x0 0x00040000>;
151                         status = "disabled";
152                 };
153
154                 nvenc@544c0000 {
155                         compatible = "nvidia,tegra210-nvenc";
156                         reg = <0x0 0x544c0000 0x0 0x00040000>;
157                         status = "disabled";
158                 };
159
160                 tsec@54500000 {
161                         compatible = "nvidia,tegra210-tsec";
162                         reg = <0x0 0x54500000 0x0 0x00040000>;
163                         status = "disabled";
164                 };
165
166                 sor@54540000 {
167                         compatible = "nvidia,tegra210-sor";
168                         reg = <0x0 0x54540000 0x0 0x00040000>;
169                         interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
170                         clocks = <&tegra_car TEGRA210_CLK_SOR0>,
171                                  <&tegra_car TEGRA210_CLK_PLL_D_OUT0>,
172                                  <&tegra_car TEGRA210_CLK_PLL_DP>,
173                                  <&tegra_car TEGRA210_CLK_SOR_SAFE>;
174                         clock-names = "sor", "parent", "dp", "safe";
175                         resets = <&tegra_car 182>;
176                         reset-names = "sor";
177                         pinctrl-0 = <&state_dpaux_aux>;
178                         pinctrl-1 = <&state_dpaux_i2c>;
179                         pinctrl-2 = <&state_dpaux_off>;
180                         pinctrl-names = "aux", "i2c", "off";
181                         status = "disabled";
182                 };
183
184                 sor@54580000 {
185                         compatible = "nvidia,tegra210-sor1";
186                         reg = <0x0 0x54580000 0x0 0x00040000>;
187                         interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
188                         clocks = <&tegra_car TEGRA210_CLK_SOR1>,
189                                  <&tegra_car TEGRA210_CLK_SOR1_SRC>,
190                                  <&tegra_car TEGRA210_CLK_PLL_D2_OUT0>,
191                                  <&tegra_car TEGRA210_CLK_PLL_DP>,
192                                  <&tegra_car TEGRA210_CLK_SOR_SAFE>;
193                         clock-names = "sor", "source", "parent", "dp", "safe";
194                         resets = <&tegra_car 183>;
195                         reset-names = "sor";
196                         pinctrl-0 = <&state_dpaux1_aux>;
197                         pinctrl-1 = <&state_dpaux1_i2c>;
198                         pinctrl-2 = <&state_dpaux1_off>;
199                         pinctrl-names = "aux", "i2c", "off";
200                         status = "disabled";
201                 };
202
203                 dpaux: dpaux@545c0000 {
204                         compatible = "nvidia,tegra124-dpaux";
205                         reg = <0x0 0x545c0000 0x0 0x00040000>;
206                         interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
207                         clocks = <&tegra_car TEGRA210_CLK_DPAUX>,
208                                  <&tegra_car TEGRA210_CLK_PLL_DP>;
209                         clock-names = "dpaux", "parent";
210                         resets = <&tegra_car 181>;
211                         reset-names = "dpaux";
212                         status = "disabled";
213
214                         state_dpaux_aux: pinmux-aux {
215                                 groups = "dpaux-io";
216                                 function = "aux";
217                         };
218
219                         state_dpaux_i2c: pinmux-i2c {
220                                 groups = "dpaux-io";
221                                 function = "i2c";
222                         };
223
224                         state_dpaux_off: pinmux-off {
225                                 groups = "dpaux-io";
226                                 function = "off";
227                         };
228
229                         i2c-bus {
230                                 #address-cells = <1>;
231                                 #size-cells = <0>;
232                         };
233                 };
234
235                 isp@54600000 {
236                         compatible = "nvidia,tegra210-isp";
237                         reg = <0x0 0x54600000 0x0 0x00040000>;
238                         interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
239                         status = "disabled";
240                 };
241
242                 isp@54680000 {
243                         compatible = "nvidia,tegra210-isp";
244                         reg = <0x0 0x54680000 0x0 0x00040000>;
245                         interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
246                         status = "disabled";
247                 };
248
249                 i2c@546c0000 {
250                         compatible = "nvidia,tegra210-i2c-vi";
251                         reg = <0x0 0x546c0000 0x0 0x00040000>;
252                         interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
253                         status = "disabled";
254                 };
255         };
256
257         gic: interrupt-controller@50041000 {
258                 compatible = "arm,gic-400";
259                 #interrupt-cells = <3>;
260                 interrupt-controller;
261                 reg = <0x0 0x50041000 0x0 0x1000>,
262                       <0x0 0x50042000 0x0 0x2000>,
263                       <0x0 0x50044000 0x0 0x2000>,
264                       <0x0 0x50046000 0x0 0x2000>;
265                 interrupts = <GIC_PPI 9
266                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
267                 interrupt-parent = <&gic>;
268         };
269
270         gpu@57000000 {
271                 compatible = "nvidia,gm20b";
272                 reg = <0x0 0x57000000 0x0 0x01000000>,
273                       <0x0 0x58000000 0x0 0x01000000>;
274                 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
275                              <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
276                 interrupt-names = "stall", "nonstall";
277                 clocks = <&tegra_car TEGRA210_CLK_GPU>,
278                          <&tegra_car TEGRA210_CLK_PLL_P_OUT5>,
279                          <&tegra_car TEGRA210_CLK_PLL_G_REF>;
280                 clock-names = "gpu", "pwr", "ref";
281                 resets = <&tegra_car 184>;
282                 reset-names = "gpu";
283
284                 iommus = <&mc TEGRA_SWGROUP_GPU>;
285
286                 status = "disabled";
287         };
288
289         lic: interrupt-controller@60004000 {
290                 compatible = "nvidia,tegra210-ictlr";
291                 reg = <0x0 0x60004000 0x0 0x40>, /* primary controller */
292                       <0x0 0x60004100 0x0 0x40>, /* secondary controller */
293                       <0x0 0x60004200 0x0 0x40>, /* tertiary controller */
294                       <0x0 0x60004300 0x0 0x40>, /* quaternary controller */
295                       <0x0 0x60004400 0x0 0x40>, /* quinary controller */
296                       <0x0 0x60004500 0x0 0x40>; /* senary controller */
297                 interrupt-controller;
298                 #interrupt-cells = <3>;
299                 interrupt-parent = <&gic>;
300         };
301
302         timer@60005000 {
303                 compatible = "nvidia,tegra210-timer", "nvidia,tegra20-timer";
304                 reg = <0x0 0x60005000 0x0 0x400>;
305                 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
306                              <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
307                              <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
308                              <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
309                              <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
310                              <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
311                 clocks = <&tegra_car TEGRA210_CLK_TIMER>;
312                 clock-names = "timer";
313         };
314
315         tegra_car: clock@60006000 {
316                 compatible = "nvidia,tegra210-car";
317                 reg = <0x0 0x60006000 0x0 0x1000>;
318                 #clock-cells = <1>;
319                 #reset-cells = <1>;
320         };
321
322         flow-controller@60007000 {
323                 compatible = "nvidia,tegra210-flowctrl";
324                 reg = <0x0 0x60007000 0x0 0x1000>;
325         };
326
327         gpio: gpio@6000d000 {
328                 compatible = "nvidia,tegra210-gpio", "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
329                 reg = <0x0 0x6000d000 0x0 0x1000>;
330                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
331                              <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
332                              <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
333                              <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
334                              <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
335                              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
336                              <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
337                              <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
338                 #gpio-cells = <2>;
339                 gpio-controller;
340                 #interrupt-cells = <2>;
341                 interrupt-controller;
342         };
343
344         apbdma: dma@60020000 {
345                 compatible = "nvidia,tegra210-apbdma", "nvidia,tegra148-apbdma";
346                 reg = <0x0 0x60020000 0x0 0x1400>;
347                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
348                              <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
349                              <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
350                              <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
351                              <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
352                              <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
353                              <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
354                              <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
355                              <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
356                              <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
357                              <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
358                              <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
359                              <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
360                              <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
361                              <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
362                              <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
363                              <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
364                              <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
365                              <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
366                              <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
367                              <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
368                              <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
369                              <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
370                              <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
371                              <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
372                              <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
373                              <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
374                              <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
375                              <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
376                              <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
377                              <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
378                              <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
379                 clocks = <&tegra_car TEGRA210_CLK_APBDMA>;
380                 clock-names = "dma";
381                 resets = <&tegra_car 34>;
382                 reset-names = "dma";
383                 #dma-cells = <1>;
384         };
385
386         apbmisc@70000800 {
387                 compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc";
388                 reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
389                       <0x0 0x7000e864 0x0 0x04>;   /* Strapping options */
390         };
391
392         pinmux: pinmux@700008d4 {
393                 compatible = "nvidia,tegra210-pinmux";
394                 reg = <0x0 0x700008d4 0x0 0x29c>, /* Pad control registers */
395                       <0x0 0x70003000 0x0 0x294>; /* Mux registers */
396         };
397
398         /*
399          * There are two serial driver i.e. 8250 based simple serial
400          * driver and APB DMA based serial driver for higher baudrate
401          * and performance. To enable the 8250 based driver, the compatible
402          * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
403          * the APB DMA based serial driver, the compatible is
404          * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
405          */
406         uarta: serial@70006000 {
407                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
408                 reg = <0x0 0x70006000 0x0 0x40>;
409                 reg-shift = <2>;
410                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
411                 clocks = <&tegra_car TEGRA210_CLK_UARTA>;
412                 clock-names = "serial";
413                 resets = <&tegra_car 6>;
414                 reset-names = "serial";
415                 dmas = <&apbdma 8>, <&apbdma 8>;
416                 dma-names = "rx", "tx";
417                 status = "disabled";
418         };
419
420         uartb: serial@70006040 {
421                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
422                 reg = <0x0 0x70006040 0x0 0x40>;
423                 reg-shift = <2>;
424                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
425                 clocks = <&tegra_car TEGRA210_CLK_UARTB>;
426                 clock-names = "serial";
427                 resets = <&tegra_car 7>;
428                 reset-names = "serial";
429                 dmas = <&apbdma 9>, <&apbdma 9>;
430                 dma-names = "rx", "tx";
431                 status = "disabled";
432         };
433
434         uartc: serial@70006200 {
435                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
436                 reg = <0x0 0x70006200 0x0 0x40>;
437                 reg-shift = <2>;
438                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
439                 clocks = <&tegra_car TEGRA210_CLK_UARTC>;
440                 clock-names = "serial";
441                 resets = <&tegra_car 55>;
442                 reset-names = "serial";
443                 dmas = <&apbdma 10>, <&apbdma 10>;
444                 dma-names = "rx", "tx";
445                 status = "disabled";
446         };
447
448         uartd: serial@70006300 {
449                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
450                 reg = <0x0 0x70006300 0x0 0x40>;
451                 reg-shift = <2>;
452                 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
453                 clocks = <&tegra_car TEGRA210_CLK_UARTD>;
454                 clock-names = "serial";
455                 resets = <&tegra_car 65>;
456                 reset-names = "serial";
457                 dmas = <&apbdma 19>, <&apbdma 19>;
458                 dma-names = "rx", "tx";
459                 status = "disabled";
460         };
461
462         pwm: pwm@7000a000 {
463                 compatible = "nvidia,tegra210-pwm", "nvidia,tegra20-pwm";
464                 reg = <0x0 0x7000a000 0x0 0x100>;
465                 #pwm-cells = <2>;
466                 clocks = <&tegra_car TEGRA210_CLK_PWM>;
467                 clock-names = "pwm";
468                 resets = <&tegra_car 17>;
469                 reset-names = "pwm";
470                 status = "disabled";
471         };
472
473         i2c@7000c000 {
474                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
475                 reg = <0x0 0x7000c000 0x0 0x100>;
476                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
477                 #address-cells = <1>;
478                 #size-cells = <0>;
479                 clocks = <&tegra_car TEGRA210_CLK_I2C1>;
480                 clock-names = "div-clk";
481                 resets = <&tegra_car 12>;
482                 reset-names = "i2c";
483                 dmas = <&apbdma 21>, <&apbdma 21>;
484                 dma-names = "rx", "tx";
485                 status = "disabled";
486         };
487
488         i2c@7000c400 {
489                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
490                 reg = <0x0 0x7000c400 0x0 0x100>;
491                 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
492                 #address-cells = <1>;
493                 #size-cells = <0>;
494                 clocks = <&tegra_car TEGRA210_CLK_I2C2>;
495                 clock-names = "div-clk";
496                 resets = <&tegra_car 54>;
497                 reset-names = "i2c";
498                 dmas = <&apbdma 22>, <&apbdma 22>;
499                 dma-names = "rx", "tx";
500                 status = "disabled";
501         };
502
503         i2c@7000c500 {
504                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
505                 reg = <0x0 0x7000c500 0x0 0x100>;
506                 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
507                 #address-cells = <1>;
508                 #size-cells = <0>;
509                 clocks = <&tegra_car TEGRA210_CLK_I2C3>;
510                 clock-names = "div-clk";
511                 resets = <&tegra_car 67>;
512                 reset-names = "i2c";
513                 dmas = <&apbdma 23>, <&apbdma 23>;
514                 dma-names = "rx", "tx";
515                 status = "disabled";
516         };
517
518         i2c@7000c700 {
519                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
520                 reg = <0x0 0x7000c700 0x0 0x100>;
521                 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
522                 #address-cells = <1>;
523                 #size-cells = <0>;
524                 clocks = <&tegra_car TEGRA210_CLK_I2C4>;
525                 clock-names = "div-clk";
526                 resets = <&tegra_car 103>;
527                 reset-names = "i2c";
528                 dmas = <&apbdma 26>, <&apbdma 26>;
529                 dma-names = "rx", "tx";
530                 pinctrl-0 = <&state_dpaux1_i2c>;
531                 pinctrl-1 = <&state_dpaux1_off>;
532                 pinctrl-names = "default", "idle";
533                 status = "disabled";
534         };
535
536         i2c@7000d000 {
537                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
538                 reg = <0x0 0x7000d000 0x0 0x100>;
539                 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
540                 #address-cells = <1>;
541                 #size-cells = <0>;
542                 clocks = <&tegra_car TEGRA210_CLK_I2C5>;
543                 clock-names = "div-clk";
544                 resets = <&tegra_car 47>;
545                 reset-names = "i2c";
546                 dmas = <&apbdma 24>, <&apbdma 24>;
547                 dma-names = "rx", "tx";
548                 status = "disabled";
549         };
550
551         i2c@7000d100 {
552                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
553                 reg = <0x0 0x7000d100 0x0 0x100>;
554                 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
555                 #address-cells = <1>;
556                 #size-cells = <0>;
557                 clocks = <&tegra_car TEGRA210_CLK_I2C6>;
558                 clock-names = "div-clk";
559                 resets = <&tegra_car 166>;
560                 reset-names = "i2c";
561                 dmas = <&apbdma 30>, <&apbdma 30>;
562                 dma-names = "rx", "tx";
563                 pinctrl-0 = <&state_dpaux_i2c>;
564                 pinctrl-1 = <&state_dpaux_off>;
565                 pinctrl-names = "default", "idle";
566                 status = "disabled";
567         };
568
569         spi@7000d400 {
570                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
571                 reg = <0x0 0x7000d400 0x0 0x200>;
572                 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
573                 #address-cells = <1>;
574                 #size-cells = <0>;
575                 clocks = <&tegra_car TEGRA210_CLK_SBC1>;
576                 clock-names = "spi";
577                 resets = <&tegra_car 41>;
578                 reset-names = "spi";
579                 dmas = <&apbdma 15>, <&apbdma 15>;
580                 dma-names = "rx", "tx";
581                 status = "disabled";
582         };
583
584         spi@7000d600 {
585                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
586                 reg = <0x0 0x7000d600 0x0 0x200>;
587                 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
588                 #address-cells = <1>;
589                 #size-cells = <0>;
590                 clocks = <&tegra_car TEGRA210_CLK_SBC2>;
591                 clock-names = "spi";
592                 resets = <&tegra_car 44>;
593                 reset-names = "spi";
594                 dmas = <&apbdma 16>, <&apbdma 16>;
595                 dma-names = "rx", "tx";
596                 status = "disabled";
597         };
598
599         spi@7000d800 {
600                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
601                 reg = <0x0 0x7000d800 0x0 0x200>;
602                 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
603                 #address-cells = <1>;
604                 #size-cells = <0>;
605                 clocks = <&tegra_car TEGRA210_CLK_SBC3>;
606                 clock-names = "spi";
607                 resets = <&tegra_car 46>;
608                 reset-names = "spi";
609                 dmas = <&apbdma 17>, <&apbdma 17>;
610                 dma-names = "rx", "tx";
611                 status = "disabled";
612         };
613
614         spi@7000da00 {
615                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
616                 reg = <0x0 0x7000da00 0x0 0x200>;
617                 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
618                 #address-cells = <1>;
619                 #size-cells = <0>;
620                 clocks = <&tegra_car TEGRA210_CLK_SBC4>;
621                 clock-names = "spi";
622                 resets = <&tegra_car 68>;
623                 reset-names = "spi";
624                 dmas = <&apbdma 18>, <&apbdma 18>;
625                 dma-names = "rx", "tx";
626                 status = "disabled";
627         };
628
629         rtc@7000e000 {
630                 compatible = "nvidia,tegra210-rtc", "nvidia,tegra20-rtc";
631                 reg = <0x0 0x7000e000 0x0 0x100>;
632                 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
633                 clocks = <&tegra_car TEGRA210_CLK_RTC>;
634                 clock-names = "rtc";
635         };
636
637         pmc: pmc@7000e400 {
638                 compatible = "nvidia,tegra210-pmc";
639                 reg = <0x0 0x7000e400 0x0 0x400>;
640                 clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
641                 clock-names = "pclk", "clk32k_in";
642
643                 powergates {
644                         pd_audio: aud {
645                                 clocks = <&tegra_car TEGRA210_CLK_APE>,
646                                          <&tegra_car TEGRA210_CLK_APB2APE>;
647                                 resets = <&tegra_car 198>;
648                                 #power-domain-cells = <0>;
649                         };
650
651                         pd_xusbss: xusba {
652                                 clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>;
653                                 clock-names = "xusb-ss";
654                                 resets = <&tegra_car TEGRA210_CLK_XUSB_SS>;
655                                 reset-names = "xusb-ss";
656                                 #power-domain-cells = <0>;
657                         };
658
659                         pd_xusbdev: xusbb {
660                                 clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>;
661                                 clock-names = "xusb-dev";
662                                 resets = <&tegra_car 95>;
663                                 reset-names = "xusb-dev";
664                                 #power-domain-cells = <0>;
665                         };
666
667                         pd_xusbhost: xusbc {
668                                 clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
669                                 clock-names = "xusb-host";
670                                 resets = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
671                                 reset-names = "xusb-host";
672                                 #power-domain-cells = <0>;
673                         };
674                 };
675         };
676
677         fuse@7000f800 {
678                 compatible = "nvidia,tegra210-efuse";
679                 reg = <0x0 0x7000f800 0x0 0x400>;
680                 clocks = <&tegra_car TEGRA210_CLK_FUSE>;
681                 clock-names = "fuse";
682                 resets = <&tegra_car 39>;
683                 reset-names = "fuse";
684         };
685
686         mc: memory-controller@70019000 {
687                 compatible = "nvidia,tegra210-mc";
688                 reg = <0x0 0x70019000 0x0 0x1000>;
689                 clocks = <&tegra_car TEGRA210_CLK_MC>;
690                 clock-names = "mc";
691
692                 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
693
694                 #iommu-cells = <1>;
695         };
696
697         hda@70030000 {
698                 compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda";
699                 reg = <0x0 0x70030000 0x0 0x10000>;
700                 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
701                 clocks = <&tegra_car TEGRA210_CLK_HDA>,
702                          <&tegra_car TEGRA210_CLK_HDA2HDMI>,
703                          <&tegra_car TEGRA210_CLK_HDA2CODEC_2X>;
704                 clock-names = "hda", "hda2hdmi", "hda2codec_2x";
705                 resets = <&tegra_car 125>, /* hda */
706                          <&tegra_car 128>, /* hda2hdmi */
707                          <&tegra_car 111>; /* hda2codec_2x */
708                 reset-names = "hda", "hda2hdmi", "hda2codec_2x";
709                 status = "disabled";
710         };
711
712         usb@70090000 {
713                 compatible = "nvidia,tegra210-xusb";
714                 reg = <0x0 0x70090000 0x0 0x8000>,
715                       <0x0 0x70098000 0x0 0x1000>,
716                       <0x0 0x70099000 0x0 0x1000>;
717                 reg-names = "hcd", "fpci", "ipfs";
718
719                 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
720                              <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
721
722                 clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>,
723                          <&tegra_car TEGRA210_CLK_XUSB_HOST_SRC>,
724                          <&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>,
725                          <&tegra_car TEGRA210_CLK_XUSB_SS>,
726                          <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>,
727                          <&tegra_car TEGRA210_CLK_XUSB_SS_SRC>,
728                          <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>,
729                          <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>,
730                          <&tegra_car TEGRA210_CLK_PLL_U_480M>,
731                          <&tegra_car TEGRA210_CLK_CLK_M>,
732                          <&tegra_car TEGRA210_CLK_PLL_E>;
733                 clock-names = "xusb_host", "xusb_host_src",
734                               "xusb_falcon_src", "xusb_ss",
735                               "xusb_ss_div2", "xusb_ss_src",
736                               "xusb_hs_src", "xusb_fs_src",
737                               "pll_u_480m", "clk_m", "pll_e";
738                 resets = <&tegra_car 89>, <&tegra_car 156>,
739                          <&tegra_car 143>;
740                 reset-names = "xusb_host", "xusb_ss", "xusb_src";
741
742                 nvidia,xusb-padctl = <&padctl>;
743
744                 status = "disabled";
745         };
746
747         padctl: padctl@7009f000 {
748                 compatible = "nvidia,tegra210-xusb-padctl";
749                 reg = <0x0 0x7009f000 0x0 0x1000>;
750                 resets = <&tegra_car 142>;
751                 reset-names = "padctl";
752
753                 status = "disabled";
754
755                 pads {
756                         usb2 {
757                                 clocks = <&tegra_car TEGRA210_CLK_USB2_TRK>;
758                                 clock-names = "trk";
759                                 status = "disabled";
760
761                                 lanes {
762                                         usb2-0 {
763                                                 status = "disabled";
764                                                 #phy-cells = <0>;
765                                         };
766
767                                         usb2-1 {
768                                                 status = "disabled";
769                                                 #phy-cells = <0>;
770                                         };
771
772                                         usb2-2 {
773                                                 status = "disabled";
774                                                 #phy-cells = <0>;
775                                         };
776
777                                         usb2-3 {
778                                                 status = "disabled";
779                                                 #phy-cells = <0>;
780                                         };
781                                 };
782                         };
783
784                         hsic {
785                                 clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>;
786                                 clock-names = "trk";
787                                 status = "disabled";
788
789                                 lanes {
790                                         hsic-0 {
791                                                 status = "disabled";
792                                                 #phy-cells = <0>;
793                                         };
794
795                                         hsic-1 {
796                                                 status = "disabled";
797                                                 #phy-cells = <0>;
798                                         };
799                                 };
800                         };
801
802                         pcie {
803                                 clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
804                                 clock-names = "pll";
805                                 resets = <&tegra_car 205>;
806                                 reset-names = "phy";
807                                 status = "disabled";
808
809                                 lanes {
810                                         pcie-0 {
811                                                 status = "disabled";
812                                                 #phy-cells = <0>;
813                                         };
814
815                                         pcie-1 {
816                                                 status = "disabled";
817                                                 #phy-cells = <0>;
818                                         };
819
820                                         pcie-2 {
821                                                 status = "disabled";
822                                                 #phy-cells = <0>;
823                                         };
824
825                                         pcie-3 {
826                                                 status = "disabled";
827                                                 #phy-cells = <0>;
828                                         };
829
830                                         pcie-4 {
831                                                 status = "disabled";
832                                                 #phy-cells = <0>;
833                                         };
834
835                                         pcie-5 {
836                                                 status = "disabled";
837                                                 #phy-cells = <0>;
838                                         };
839
840                                         pcie-6 {
841                                                 status = "disabled";
842                                                 #phy-cells = <0>;
843                                         };
844                                 };
845                         };
846
847                         sata {
848                                 clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
849                                 clock-names = "pll";
850                                 resets = <&tegra_car 204>;
851                                 reset-names = "phy";
852                                 status = "disabled";
853
854                                 lanes {
855                                         sata-0 {
856                                                 status = "disabled";
857                                                 #phy-cells = <0>;
858                                         };
859                                 };
860                         };
861                 };
862
863                 ports {
864                         usb2-0 {
865                                 status = "disabled";
866                         };
867
868                         usb2-1 {
869                                 status = "disabled";
870                         };
871
872                         usb2-2 {
873                                 status = "disabled";
874                         };
875
876                         usb2-3 {
877                                 status = "disabled";
878                         };
879
880                         hsic-0 {
881                                 status = "disabled";
882                         };
883
884                         usb3-0 {
885                                 status = "disabled";
886                         };
887
888                         usb3-1 {
889                                 status = "disabled";
890                         };
891
892                         usb3-2 {
893                                 status = "disabled";
894                         };
895
896                         usb3-3 {
897                                 status = "disabled";
898                         };
899                 };
900         };
901
902         sdhci@700b0000 {
903                 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
904                 reg = <0x0 0x700b0000 0x0 0x200>;
905                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
906                 clocks = <&tegra_car TEGRA210_CLK_SDMMC1>;
907                 clock-names = "sdhci";
908                 resets = <&tegra_car 14>;
909                 reset-names = "sdhci";
910                 status = "disabled";
911         };
912
913         sdhci@700b0200 {
914                 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
915                 reg = <0x0 0x700b0200 0x0 0x200>;
916                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
917                 clocks = <&tegra_car TEGRA210_CLK_SDMMC2>;
918                 clock-names = "sdhci";
919                 resets = <&tegra_car 9>;
920                 reset-names = "sdhci";
921                 status = "disabled";
922         };
923
924         sdhci@700b0400 {
925                 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
926                 reg = <0x0 0x700b0400 0x0 0x200>;
927                 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
928                 clocks = <&tegra_car TEGRA210_CLK_SDMMC3>;
929                 clock-names = "sdhci";
930                 resets = <&tegra_car 69>;
931                 reset-names = "sdhci";
932                 status = "disabled";
933         };
934
935         sdhci@700b0600 {
936                 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
937                 reg = <0x0 0x700b0600 0x0 0x200>;
938                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
939                 clocks = <&tegra_car TEGRA210_CLK_SDMMC4>;
940                 clock-names = "sdhci";
941                 resets = <&tegra_car 15>;
942                 reset-names = "sdhci";
943                 status = "disabled";
944         };
945
946         mipi: mipi@700e3000 {
947                 compatible = "nvidia,tegra210-mipi";
948                 reg = <0x0 0x700e3000 0x0 0x100>;
949                 clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>;
950                 clock-names = "mipi-cal";
951                 #nvidia,mipi-calibrate-cells = <1>;
952         };
953
954         aconnect@702c0000 {
955                 compatible = "nvidia,tegra210-aconnect";
956                 clocks = <&tegra_car TEGRA210_CLK_APE>,
957                          <&tegra_car TEGRA210_CLK_APB2APE>;
958                 clock-names = "ape", "apb2ape";
959                 power-domains = <&pd_audio>;
960                 #address-cells = <1>;
961                 #size-cells = <1>;
962                 ranges = <0x702c0000 0x0 0x702c0000 0x00040000>;
963                 status = "disabled";
964         };
965
966         spi@70410000 {
967                 compatible = "nvidia,tegra210-qspi";
968                 reg = <0x0 0x70410000 0x0 0x1000>;
969                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
970                 #address-cells = <1>;
971                 #size-cells = <0>;
972                 clocks = <&tegra_car TEGRA210_CLK_QSPI>;
973                 clock-names = "qspi";
974                 resets = <&tegra_car 211>;
975                 reset-names = "qspi";
976                 dmas = <&apbdma 5>, <&apbdma 5>;
977                 dma-names = "rx", "tx";
978                 status = "disabled";
979         };
980
981         usb@7d000000 {
982                 compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
983                 reg = <0x0 0x7d000000 0x0 0x4000>;
984                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
985                 phy_type = "utmi";
986                 clocks = <&tegra_car TEGRA210_CLK_USBD>;
987                 clock-names = "usb";
988                 resets = <&tegra_car 22>;
989                 reset-names = "usb";
990                 nvidia,phy = <&phy1>;
991                 status = "disabled";
992         };
993
994         phy1: usb-phy@7d000000 {
995                 compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
996                 reg = <0x0 0x7d000000 0x0 0x4000>,
997                       <0x0 0x7d000000 0x0 0x4000>;
998                 phy_type = "utmi";
999                 clocks = <&tegra_car TEGRA210_CLK_USBD>,
1000                          <&tegra_car TEGRA210_CLK_PLL_U>,
1001                          <&tegra_car TEGRA210_CLK_USBD>;
1002                 clock-names = "reg", "pll_u", "utmi-pads";
1003                 resets = <&tegra_car 22>, <&tegra_car 22>;
1004                 reset-names = "usb", "utmi-pads";
1005                 nvidia,hssync-start-delay = <0>;
1006                 nvidia,idle-wait-delay = <17>;
1007                 nvidia,elastic-limit = <16>;
1008                 nvidia,term-range-adj = <6>;
1009                 nvidia,xcvr-setup = <9>;
1010                 nvidia,xcvr-lsfslew = <0>;
1011                 nvidia,xcvr-lsrslew = <3>;
1012                 nvidia,hssquelch-level = <2>;
1013                 nvidia,hsdiscon-level = <5>;
1014                 nvidia,xcvr-hsslew = <12>;
1015                 nvidia,has-utmi-pad-registers;
1016                 status = "disabled";
1017         };
1018
1019         usb@7d004000 {
1020                 compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1021                 reg = <0x0 0x7d004000 0x0 0x4000>;
1022                 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1023                 phy_type = "utmi";
1024                 clocks = <&tegra_car TEGRA210_CLK_USB2>;
1025                 clock-names = "usb";
1026                 resets = <&tegra_car 58>;
1027                 reset-names = "usb";
1028                 nvidia,phy = <&phy2>;
1029                 status = "disabled";
1030         };
1031
1032         phy2: usb-phy@7d004000 {
1033                 compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
1034                 reg = <0x0 0x7d004000 0x0 0x4000>,
1035                       <0x0 0x7d000000 0x0 0x4000>;
1036                 phy_type = "utmi";
1037                 clocks = <&tegra_car TEGRA210_CLK_USB2>,
1038                          <&tegra_car TEGRA210_CLK_PLL_U>,
1039                          <&tegra_car TEGRA210_CLK_USBD>;
1040                 clock-names = "reg", "pll_u", "utmi-pads";
1041                 resets = <&tegra_car 58>, <&tegra_car 22>;
1042                 reset-names = "usb", "utmi-pads";
1043                 nvidia,hssync-start-delay = <0>;
1044                 nvidia,idle-wait-delay = <17>;
1045                 nvidia,elastic-limit = <16>;
1046                 nvidia,term-range-adj = <6>;
1047                 nvidia,xcvr-setup = <9>;
1048                 nvidia,xcvr-lsfslew = <0>;
1049                 nvidia,xcvr-lsrslew = <3>;
1050                 nvidia,hssquelch-level = <2>;
1051                 nvidia,hsdiscon-level = <5>;
1052                 nvidia,xcvr-hsslew = <12>;
1053                 status = "disabled";
1054         };
1055
1056         cpus {
1057                 #address-cells = <1>;
1058                 #size-cells = <0>;
1059
1060                 cpu@0 {
1061                         device_type = "cpu";
1062                         compatible = "arm,cortex-a57";
1063                         reg = <0>;
1064                 };
1065
1066                 cpu@1 {
1067                         device_type = "cpu";
1068                         compatible = "arm,cortex-a57";
1069                         reg = <1>;
1070                 };
1071
1072                 cpu@2 {
1073                         device_type = "cpu";
1074                         compatible = "arm,cortex-a57";
1075                         reg = <2>;
1076                 };
1077
1078                 cpu@3 {
1079                         device_type = "cpu";
1080                         compatible = "arm,cortex-a57";
1081                         reg = <3>;
1082                 };
1083         };
1084
1085         timer {
1086                 compatible = "arm,armv8-timer";
1087                 interrupts = <GIC_PPI 13
1088                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1089                              <GIC_PPI 14
1090                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1091                              <GIC_PPI 11
1092                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1093                              <GIC_PPI 10
1094                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1095                 interrupt-parent = <&gic>;
1096         };
1097 };