Merge remote-tracking branches 'asoc/topic/tas571x', 'asoc/topic/tlv320aic31xx',...
[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
40                 vi@54080000 {
41                         compatible = "nvidia,tegra210-vi";
42                         reg = <0x0 0x54080000 0x0 0x00040000>;
43                         interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
44                         status = "disabled";
45                 };
46
47                 tsec@54100000 {
48                         compatible = "nvidia,tegra210-tsec";
49                         reg = <0x0 0x54100000 0x0 0x00040000>;
50                 };
51
52                 dc@54200000 {
53                         compatible = "nvidia,tegra210-dc";
54                         reg = <0x0 0x54200000 0x0 0x00040000>;
55                         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
56                         clocks = <&tegra_car TEGRA210_CLK_DISP1>,
57                                  <&tegra_car TEGRA210_CLK_PLL_P>;
58                         clock-names = "dc", "parent";
59                         resets = <&tegra_car 27>;
60                         reset-names = "dc";
61
62                         iommus = <&mc TEGRA_SWGROUP_DC>;
63
64                         nvidia,head = <0>;
65                 };
66
67                 dc@54240000 {
68                         compatible = "nvidia,tegra210-dc";
69                         reg = <0x0 0x54240000 0x0 0x00040000>;
70                         interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
71                         clocks = <&tegra_car TEGRA210_CLK_DISP2>,
72                                  <&tegra_car TEGRA210_CLK_PLL_P>;
73                         clock-names = "dc", "parent";
74                         resets = <&tegra_car 26>;
75                         reset-names = "dc";
76
77                         iommus = <&mc TEGRA_SWGROUP_DCB>;
78
79                         nvidia,head = <1>;
80                 };
81
82                 dsi@54300000 {
83                         compatible = "nvidia,tegra210-dsi";
84                         reg = <0x0 0x54300000 0x0 0x00040000>;
85                         clocks = <&tegra_car TEGRA210_CLK_DSIA>,
86                                  <&tegra_car TEGRA210_CLK_DSIALP>,
87                                  <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
88                         clock-names = "dsi", "lp", "parent";
89                         resets = <&tegra_car 48>;
90                         reset-names = "dsi";
91                         nvidia,mipi-calibrate = <&mipi 0x0c0>; /* DSIA & DSIB pads */
92
93                         status = "disabled";
94
95                         #address-cells = <1>;
96                         #size-cells = <0>;
97                 };
98
99                 vic@54340000 {
100                         compatible = "nvidia,tegra210-vic";
101                         reg = <0x0 0x54340000 0x0 0x00040000>;
102                         status = "disabled";
103                 };
104
105                 nvjpg@54380000 {
106                         compatible = "nvidia,tegra210-nvjpg";
107                         reg = <0x0 0x54380000 0x0 0x00040000>;
108                         status = "disabled";
109                 };
110
111                 dsi@54400000 {
112                         compatible = "nvidia,tegra210-dsi";
113                         reg = <0x0 0x54400000 0x0 0x00040000>;
114                         clocks = <&tegra_car TEGRA210_CLK_DSIB>,
115                                  <&tegra_car TEGRA210_CLK_DSIBLP>,
116                                  <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
117                         clock-names = "dsi", "lp", "parent";
118                         resets = <&tegra_car 82>;
119                         reset-names = "dsi";
120                         nvidia,mipi-calibrate = <&mipi 0x300>; /* DSIC & DSID pads */
121
122                         status = "disabled";
123
124                         #address-cells = <1>;
125                         #size-cells = <0>;
126                 };
127
128                 nvdec@54480000 {
129                         compatible = "nvidia,tegra210-nvdec";
130                         reg = <0x0 0x54480000 0x0 0x00040000>;
131                         status = "disabled";
132                 };
133
134                 nvenc@544c0000 {
135                         compatible = "nvidia,tegra210-nvenc";
136                         reg = <0x0 0x544c0000 0x0 0x00040000>;
137                         status = "disabled";
138                 };
139
140                 tsec@54500000 {
141                         compatible = "nvidia,tegra210-tsec";
142                         reg = <0x0 0x54500000 0x0 0x00040000>;
143                         status = "disabled";
144                 };
145
146                 sor@54540000 {
147                         compatible = "nvidia,tegra210-sor";
148                         reg = <0x0 0x54540000 0x0 0x00040000>;
149                         interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
150                         clocks = <&tegra_car TEGRA210_CLK_SOR0>,
151                                  <&tegra_car TEGRA210_CLK_PLL_D_OUT0>,
152                                  <&tegra_car TEGRA210_CLK_PLL_DP>,
153                                  <&tegra_car TEGRA210_CLK_SOR_SAFE>;
154                         clock-names = "sor", "parent", "dp", "safe";
155                         resets = <&tegra_car 182>;
156                         reset-names = "sor";
157                         status = "disabled";
158                 };
159
160                 sor@54580000 {
161                         compatible = "nvidia,tegra210-sor1";
162                         reg = <0x0 0x54580000 0x0 0x00040000>;
163                         interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
164                         clocks = <&tegra_car TEGRA210_CLK_SOR1>,
165                                  <&tegra_car TEGRA210_CLK_PLL_D2_OUT0>,
166                                  <&tegra_car TEGRA210_CLK_PLL_DP>,
167                                  <&tegra_car TEGRA210_CLK_SOR_SAFE>;
168                         clock-names = "sor", "parent", "dp", "safe";
169                         resets = <&tegra_car 183>;
170                         reset-names = "sor";
171                         status = "disabled";
172                 };
173
174                 dpaux: dpaux@545c0000 {
175                         compatible = "nvidia,tegra124-dpaux";
176                         reg = <0x0 0x545c0000 0x0 0x00040000>;
177                         interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
178                         clocks = <&tegra_car TEGRA210_CLK_DPAUX>,
179                                  <&tegra_car TEGRA210_CLK_PLL_DP>;
180                         clock-names = "dpaux", "parent";
181                         resets = <&tegra_car 181>;
182                         reset-names = "dpaux";
183                         status = "disabled";
184                 };
185
186                 isp@54600000 {
187                         compatible = "nvidia,tegra210-isp";
188                         reg = <0x0 0x54600000 0x0 0x00040000>;
189                         interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
190                         status = "disabled";
191                 };
192
193                 isp@54680000 {
194                         compatible = "nvidia,tegra210-isp";
195                         reg = <0x0 0x54680000 0x0 0x00040000>;
196                         interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
197                         status = "disabled";
198                 };
199
200                 i2c@546c0000 {
201                         compatible = "nvidia,tegra210-i2c-vi";
202                         reg = <0x0 0x546c0000 0x0 0x00040000>;
203                         interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
204                         status = "disabled";
205                 };
206         };
207
208         gic: interrupt-controller@50041000 {
209                 compatible = "arm,gic-400";
210                 #interrupt-cells = <3>;
211                 interrupt-controller;
212                 reg = <0x0 0x50041000 0x0 0x1000>,
213                       <0x0 0x50042000 0x0 0x2000>,
214                       <0x0 0x50044000 0x0 0x2000>,
215                       <0x0 0x50046000 0x0 0x2000>;
216                 interrupts = <GIC_PPI 9
217                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
218                 interrupt-parent = <&gic>;
219         };
220
221         gpu@57000000 {
222                 compatible = "nvidia,gm20b";
223                 reg = <0x0 0x57000000 0x0 0x01000000>,
224                       <0x0 0x58000000 0x0 0x01000000>;
225                 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
226                              <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
227                 interrupt-names = "stall", "nonstall";
228                 clocks = <&tegra_car TEGRA210_CLK_GPU>,
229                          <&tegra_car TEGRA210_CLK_PLL_P_OUT5>,
230                          <&tegra_car TEGRA210_CLK_PLL_G_REF>;
231                 clock-names = "gpu", "pwr", "ref";
232                 resets = <&tegra_car 184>;
233                 reset-names = "gpu";
234
235                 iommus = <&mc TEGRA_SWGROUP_GPU>;
236
237                 status = "disabled";
238         };
239
240         lic: interrupt-controller@60004000 {
241                 compatible = "nvidia,tegra210-ictlr";
242                 reg = <0x0 0x60004000 0x0 0x40>, /* primary controller */
243                       <0x0 0x60004100 0x0 0x40>, /* secondary controller */
244                       <0x0 0x60004200 0x0 0x40>, /* tertiary controller */
245                       <0x0 0x60004300 0x0 0x40>, /* quaternary controller */
246                       <0x0 0x60004400 0x0 0x40>, /* quinary controller */
247                       <0x0 0x60004500 0x0 0x40>; /* senary controller */
248                 interrupt-controller;
249                 #interrupt-cells = <3>;
250                 interrupt-parent = <&gic>;
251         };
252
253         timer@60005000 {
254                 compatible = "nvidia,tegra210-timer", "nvidia,tegra20-timer";
255                 reg = <0x0 0x60005000 0x0 0x400>;
256                 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
257                              <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
258                              <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
259                              <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
260                              <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
261                              <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
262                 clocks = <&tegra_car TEGRA210_CLK_TIMER>;
263                 clock-names = "timer";
264         };
265
266         tegra_car: clock@60006000 {
267                 compatible = "nvidia,tegra210-car";
268                 reg = <0x0 0x60006000 0x0 0x1000>;
269                 #clock-cells = <1>;
270                 #reset-cells = <1>;
271         };
272
273         flow-controller@60007000 {
274                 compatible = "nvidia,tegra210-flowctrl";
275                 reg = <0x0 0x60007000 0x0 0x1000>;
276         };
277
278         gpio: gpio@6000d000 {
279                 compatible = "nvidia,tegra210-gpio", "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
280                 reg = <0x0 0x6000d000 0x0 0x1000>;
281                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
282                              <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
283                              <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
284                              <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
285                              <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
286                              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
287                              <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
288                              <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
289                 #gpio-cells = <2>;
290                 gpio-controller;
291                 #interrupt-cells = <2>;
292                 interrupt-controller;
293         };
294
295         apbdma: dma@60020000 {
296                 compatible = "nvidia,tegra210-apbdma", "nvidia,tegra148-apbdma";
297                 reg = <0x0 0x60020000 0x0 0x1400>;
298                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
299                              <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
300                              <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
301                              <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
302                              <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
303                              <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
304                              <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
305                              <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
306                              <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
307                              <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
308                              <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
309                              <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
310                              <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
311                              <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
312                              <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
313                              <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
314                              <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
315                              <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
316                              <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
317                              <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
318                              <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
319                              <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
320                              <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
321                              <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
322                              <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
323                              <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
324                              <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
325                              <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
326                              <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
327                              <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
328                              <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
329                              <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
330                 clocks = <&tegra_car TEGRA210_CLK_APBDMA>;
331                 clock-names = "dma";
332                 resets = <&tegra_car 34>;
333                 reset-names = "dma";
334                 #dma-cells = <1>;
335         };
336
337         apbmisc@70000800 {
338                 compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc";
339                 reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
340                       <0x0 0x7000e864 0x0 0x04>;   /* Strapping options */
341         };
342
343         pinmux: pinmux@700008d4 {
344                 compatible = "nvidia,tegra210-pinmux";
345                 reg = <0x0 0x700008d4 0x0 0x29c>, /* Pad control registers */
346                       <0x0 0x70003000 0x0 0x294>; /* Mux registers */
347         };
348
349         /*
350          * There are two serial driver i.e. 8250 based simple serial
351          * driver and APB DMA based serial driver for higher baudrate
352          * and performance. To enable the 8250 based driver, the compatible
353          * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
354          * the APB DMA based serial driver, the compatible is
355          * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
356          */
357         uarta: serial@70006000 {
358                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
359                 reg = <0x0 0x70006000 0x0 0x40>;
360                 reg-shift = <2>;
361                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
362                 clocks = <&tegra_car TEGRA210_CLK_UARTA>;
363                 clock-names = "serial";
364                 resets = <&tegra_car 6>;
365                 reset-names = "serial";
366                 dmas = <&apbdma 8>, <&apbdma 8>;
367                 dma-names = "rx", "tx";
368                 status = "disabled";
369         };
370
371         uartb: serial@70006040 {
372                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
373                 reg = <0x0 0x70006040 0x0 0x40>;
374                 reg-shift = <2>;
375                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
376                 clocks = <&tegra_car TEGRA210_CLK_UARTB>;
377                 clock-names = "serial";
378                 resets = <&tegra_car 7>;
379                 reset-names = "serial";
380                 dmas = <&apbdma 9>, <&apbdma 9>;
381                 dma-names = "rx", "tx";
382                 status = "disabled";
383         };
384
385         uartc: serial@70006200 {
386                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
387                 reg = <0x0 0x70006200 0x0 0x40>;
388                 reg-shift = <2>;
389                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
390                 clocks = <&tegra_car TEGRA210_CLK_UARTC>;
391                 clock-names = "serial";
392                 resets = <&tegra_car 55>;
393                 reset-names = "serial";
394                 dmas = <&apbdma 10>, <&apbdma 10>;
395                 dma-names = "rx", "tx";
396                 status = "disabled";
397         };
398
399         uartd: serial@70006300 {
400                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
401                 reg = <0x0 0x70006300 0x0 0x40>;
402                 reg-shift = <2>;
403                 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
404                 clocks = <&tegra_car TEGRA210_CLK_UARTD>;
405                 clock-names = "serial";
406                 resets = <&tegra_car 65>;
407                 reset-names = "serial";
408                 dmas = <&apbdma 19>, <&apbdma 19>;
409                 dma-names = "rx", "tx";
410                 status = "disabled";
411         };
412
413         pwm: pwm@7000a000 {
414                 compatible = "nvidia,tegra210-pwm", "nvidia,tegra20-pwm";
415                 reg = <0x0 0x7000a000 0x0 0x100>;
416                 #pwm-cells = <2>;
417                 clocks = <&tegra_car TEGRA210_CLK_PWM>;
418                 clock-names = "pwm";
419                 resets = <&tegra_car 17>;
420                 reset-names = "pwm";
421                 status = "disabled";
422         };
423
424         i2c@7000c000 {
425                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
426                 reg = <0x0 0x7000c000 0x0 0x100>;
427                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
428                 #address-cells = <1>;
429                 #size-cells = <0>;
430                 clocks = <&tegra_car TEGRA210_CLK_I2C1>;
431                 clock-names = "div-clk";
432                 resets = <&tegra_car 12>;
433                 reset-names = "i2c";
434                 dmas = <&apbdma 21>, <&apbdma 21>;
435                 dma-names = "rx", "tx";
436                 status = "disabled";
437         };
438
439         i2c@7000c400 {
440                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
441                 reg = <0x0 0x7000c400 0x0 0x100>;
442                 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
443                 #address-cells = <1>;
444                 #size-cells = <0>;
445                 clocks = <&tegra_car TEGRA210_CLK_I2C2>;
446                 clock-names = "div-clk";
447                 resets = <&tegra_car 54>;
448                 reset-names = "i2c";
449                 dmas = <&apbdma 22>, <&apbdma 22>;
450                 dma-names = "rx", "tx";
451                 status = "disabled";
452         };
453
454         i2c@7000c500 {
455                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
456                 reg = <0x0 0x7000c500 0x0 0x100>;
457                 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
458                 #address-cells = <1>;
459                 #size-cells = <0>;
460                 clocks = <&tegra_car TEGRA210_CLK_I2C3>;
461                 clock-names = "div-clk";
462                 resets = <&tegra_car 67>;
463                 reset-names = "i2c";
464                 dmas = <&apbdma 23>, <&apbdma 23>;
465                 dma-names = "rx", "tx";
466                 status = "disabled";
467         };
468
469         i2c@7000c700 {
470                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
471                 reg = <0x0 0x7000c700 0x0 0x100>;
472                 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
473                 #address-cells = <1>;
474                 #size-cells = <0>;
475                 clocks = <&tegra_car TEGRA210_CLK_I2C4>;
476                 clock-names = "div-clk";
477                 resets = <&tegra_car 103>;
478                 reset-names = "i2c";
479                 dmas = <&apbdma 26>, <&apbdma 26>;
480                 dma-names = "rx", "tx";
481                 status = "disabled";
482         };
483
484         i2c@7000d000 {
485                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
486                 reg = <0x0 0x7000d000 0x0 0x100>;
487                 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
488                 #address-cells = <1>;
489                 #size-cells = <0>;
490                 clocks = <&tegra_car TEGRA210_CLK_I2C5>;
491                 clock-names = "div-clk";
492                 resets = <&tegra_car 47>;
493                 reset-names = "i2c";
494                 dmas = <&apbdma 24>, <&apbdma 24>;
495                 dma-names = "rx", "tx";
496                 status = "disabled";
497         };
498
499         i2c@7000d100 {
500                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
501                 reg = <0x0 0x7000d100 0x0 0x100>;
502                 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
503                 #address-cells = <1>;
504                 #size-cells = <0>;
505                 clocks = <&tegra_car TEGRA210_CLK_I2C6>;
506                 clock-names = "div-clk";
507                 resets = <&tegra_car 166>;
508                 reset-names = "i2c";
509                 dmas = <&apbdma 30>, <&apbdma 30>;
510                 dma-names = "rx", "tx";
511                 status = "disabled";
512         };
513
514         spi@7000d400 {
515                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
516                 reg = <0x0 0x7000d400 0x0 0x200>;
517                 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
518                 #address-cells = <1>;
519                 #size-cells = <0>;
520                 clocks = <&tegra_car TEGRA210_CLK_SBC1>;
521                 clock-names = "spi";
522                 resets = <&tegra_car 41>;
523                 reset-names = "spi";
524                 dmas = <&apbdma 15>, <&apbdma 15>;
525                 dma-names = "rx", "tx";
526                 status = "disabled";
527         };
528
529         spi@7000d600 {
530                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
531                 reg = <0x0 0x7000d600 0x0 0x200>;
532                 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
533                 #address-cells = <1>;
534                 #size-cells = <0>;
535                 clocks = <&tegra_car TEGRA210_CLK_SBC2>;
536                 clock-names = "spi";
537                 resets = <&tegra_car 44>;
538                 reset-names = "spi";
539                 dmas = <&apbdma 16>, <&apbdma 16>;
540                 dma-names = "rx", "tx";
541                 status = "disabled";
542         };
543
544         spi@7000d800 {
545                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
546                 reg = <0x0 0x7000d800 0x0 0x200>;
547                 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
548                 #address-cells = <1>;
549                 #size-cells = <0>;
550                 clocks = <&tegra_car TEGRA210_CLK_SBC3>;
551                 clock-names = "spi";
552                 resets = <&tegra_car 46>;
553                 reset-names = "spi";
554                 dmas = <&apbdma 17>, <&apbdma 17>;
555                 dma-names = "rx", "tx";
556                 status = "disabled";
557         };
558
559         spi@7000da00 {
560                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
561                 reg = <0x0 0x7000da00 0x0 0x200>;
562                 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
563                 #address-cells = <1>;
564                 #size-cells = <0>;
565                 clocks = <&tegra_car TEGRA210_CLK_SBC4>;
566                 clock-names = "spi";
567                 resets = <&tegra_car 68>;
568                 reset-names = "spi";
569                 dmas = <&apbdma 18>, <&apbdma 18>;
570                 dma-names = "rx", "tx";
571                 status = "disabled";
572         };
573
574         rtc@7000e000 {
575                 compatible = "nvidia,tegra210-rtc", "nvidia,tegra20-rtc";
576                 reg = <0x0 0x7000e000 0x0 0x100>;
577                 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
578                 clocks = <&tegra_car TEGRA210_CLK_RTC>;
579                 clock-names = "rtc";
580         };
581
582         pmc: pmc@7000e400 {
583                 compatible = "nvidia,tegra210-pmc";
584                 reg = <0x0 0x7000e400 0x0 0x400>;
585                 clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
586                 clock-names = "pclk", "clk32k_in";
587         };
588
589         fuse@7000f800 {
590                 compatible = "nvidia,tegra210-efuse";
591                 reg = <0x0 0x7000f800 0x0 0x400>;
592                 clocks = <&tegra_car TEGRA210_CLK_FUSE>;
593                 clock-names = "fuse";
594                 resets = <&tegra_car 39>;
595                 reset-names = "fuse";
596         };
597
598         mc: memory-controller@70019000 {
599                 compatible = "nvidia,tegra210-mc";
600                 reg = <0x0 0x70019000 0x0 0x1000>;
601                 clocks = <&tegra_car TEGRA210_CLK_MC>;
602                 clock-names = "mc";
603
604                 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
605
606                 #iommu-cells = <1>;
607         };
608
609         hda@70030000 {
610                 compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda";
611                 reg = <0x0 0x70030000 0x0 0x10000>;
612                 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
613                 clocks = <&tegra_car TEGRA210_CLK_HDA>,
614                          <&tegra_car TEGRA210_CLK_HDA2HDMI>,
615                          <&tegra_car TEGRA210_CLK_HDA2CODEC_2X>;
616                 clock-names = "hda", "hda2hdmi", "hda2codec_2x";
617                 resets = <&tegra_car 125>, /* hda */
618                          <&tegra_car 128>, /* hda2hdmi */
619                          <&tegra_car 111>; /* hda2codec_2x */
620                 reset-names = "hda", "hda2hdmi", "hda2codec_2x";
621                 status = "disabled";
622         };
623
624         sdhci@700b0000 {
625                 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
626                 reg = <0x0 0x700b0000 0x0 0x200>;
627                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
628                 clocks = <&tegra_car TEGRA210_CLK_SDMMC1>;
629                 clock-names = "sdhci";
630                 resets = <&tegra_car 14>;
631                 reset-names = "sdhci";
632                 status = "disabled";
633         };
634
635         sdhci@700b0200 {
636                 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
637                 reg = <0x0 0x700b0200 0x0 0x200>;
638                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
639                 clocks = <&tegra_car TEGRA210_CLK_SDMMC2>;
640                 clock-names = "sdhci";
641                 resets = <&tegra_car 9>;
642                 reset-names = "sdhci";
643                 status = "disabled";
644         };
645
646         sdhci@700b0400 {
647                 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
648                 reg = <0x0 0x700b0400 0x0 0x200>;
649                 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
650                 clocks = <&tegra_car TEGRA210_CLK_SDMMC3>;
651                 clock-names = "sdhci";
652                 resets = <&tegra_car 69>;
653                 reset-names = "sdhci";
654                 status = "disabled";
655         };
656
657         sdhci@700b0600 {
658                 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
659                 reg = <0x0 0x700b0600 0x0 0x200>;
660                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
661                 clocks = <&tegra_car TEGRA210_CLK_SDMMC4>;
662                 clock-names = "sdhci";
663                 resets = <&tegra_car 15>;
664                 reset-names = "sdhci";
665                 status = "disabled";
666         };
667
668         mipi: mipi@700e3000 {
669                 compatible = "nvidia,tegra210-mipi";
670                 reg = <0x0 0x700e3000 0x0 0x100>;
671                 clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>;
672                 clock-names = "mipi-cal";
673                 #nvidia,mipi-calibrate-cells = <1>;
674         };
675
676         spi@70410000 {
677                 compatible = "nvidia,tegra210-qspi";
678                 reg = <0x0 0x70410000 0x0 0x1000>;
679                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
680                 #address-cells = <1>;
681                 #size-cells = <0>;
682                 clocks = <&tegra_car TEGRA210_CLK_QSPI>;
683                 clock-names = "qspi";
684                 resets = <&tegra_car 211>;
685                 reset-names = "qspi";
686                 dmas = <&apbdma 5>, <&apbdma 5>;
687                 dma-names = "rx", "tx";
688                 status = "disabled";
689         };
690
691         usb@7d000000 {
692                 compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
693                 reg = <0x0 0x7d000000 0x0 0x4000>;
694                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
695                 phy_type = "utmi";
696                 clocks = <&tegra_car TEGRA210_CLK_USBD>;
697                 clock-names = "usb";
698                 resets = <&tegra_car 22>;
699                 reset-names = "usb";
700                 nvidia,phy = <&phy1>;
701                 status = "disabled";
702         };
703
704         phy1: usb-phy@7d000000 {
705                 compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
706                 reg = <0x0 0x7d000000 0x0 0x4000>,
707                       <0x0 0x7d000000 0x0 0x4000>;
708                 phy_type = "utmi";
709                 clocks = <&tegra_car TEGRA210_CLK_USBD>,
710                          <&tegra_car TEGRA210_CLK_PLL_U>,
711                          <&tegra_car TEGRA210_CLK_USBD>;
712                 clock-names = "reg", "pll_u", "utmi-pads";
713                 resets = <&tegra_car 22>, <&tegra_car 22>;
714                 reset-names = "usb", "utmi-pads";
715                 nvidia,hssync-start-delay = <0>;
716                 nvidia,idle-wait-delay = <17>;
717                 nvidia,elastic-limit = <16>;
718                 nvidia,term-range-adj = <6>;
719                 nvidia,xcvr-setup = <9>;
720                 nvidia,xcvr-lsfslew = <0>;
721                 nvidia,xcvr-lsrslew = <3>;
722                 nvidia,hssquelch-level = <2>;
723                 nvidia,hsdiscon-level = <5>;
724                 nvidia,xcvr-hsslew = <12>;
725                 nvidia,has-utmi-pad-registers;
726                 status = "disabled";
727         };
728
729         usb@7d004000 {
730                 compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
731                 reg = <0x0 0x7d004000 0x0 0x4000>;
732                 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
733                 phy_type = "utmi";
734                 clocks = <&tegra_car TEGRA210_CLK_USB2>;
735                 clock-names = "usb";
736                 resets = <&tegra_car 58>;
737                 reset-names = "usb";
738                 nvidia,phy = <&phy2>;
739                 status = "disabled";
740         };
741
742         phy2: usb-phy@7d004000 {
743                 compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
744                 reg = <0x0 0x7d004000 0x0 0x4000>,
745                       <0x0 0x7d000000 0x0 0x4000>;
746                 phy_type = "utmi";
747                 clocks = <&tegra_car TEGRA210_CLK_USB2>,
748                          <&tegra_car TEGRA210_CLK_PLL_U>,
749                          <&tegra_car TEGRA210_CLK_USBD>;
750                 clock-names = "reg", "pll_u", "utmi-pads";
751                 resets = <&tegra_car 58>, <&tegra_car 22>;
752                 reset-names = "usb", "utmi-pads";
753                 nvidia,hssync-start-delay = <0>;
754                 nvidia,idle-wait-delay = <17>;
755                 nvidia,elastic-limit = <16>;
756                 nvidia,term-range-adj = <6>;
757                 nvidia,xcvr-setup = <9>;
758                 nvidia,xcvr-lsfslew = <0>;
759                 nvidia,xcvr-lsrslew = <3>;
760                 nvidia,hssquelch-level = <2>;
761                 nvidia,hsdiscon-level = <5>;
762                 nvidia,xcvr-hsslew = <12>;
763                 status = "disabled";
764         };
765
766         cpus {
767                 #address-cells = <1>;
768                 #size-cells = <0>;
769
770                 cpu@0 {
771                         device_type = "cpu";
772                         compatible = "arm,cortex-a57";
773                         reg = <0>;
774                 };
775
776                 cpu@1 {
777                         device_type = "cpu";
778                         compatible = "arm,cortex-a57";
779                         reg = <1>;
780                 };
781
782                 cpu@2 {
783                         device_type = "cpu";
784                         compatible = "arm,cortex-a57";
785                         reg = <2>;
786                 };
787
788                 cpu@3 {
789                         device_type = "cpu";
790                         compatible = "arm,cortex-a57";
791                         reg = <3>;
792                 };
793         };
794
795         timer {
796                 compatible = "arm,armv8-timer";
797                 interrupts = <GIC_PPI 13
798                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
799                              <GIC_PPI 14
800                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
801                              <GIC_PPI 11
802                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
803                              <GIC_PPI 10
804                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
805                 interrupt-parent = <&gic>;
806         };
807 };