WIP FPC-III support
[linux/fpc-iii.git] / arch / arm64 / boot / dts / nvidia / tegra210.dtsi
blob4fbf8c15b0a13d3f5beded58151c2a6a9a76b879
1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/tegra210-car.h>
3 #include <dt-bindings/gpio/tegra-gpio.h>
4 #include <dt-bindings/memory/tegra210-mc.h>
5 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
6 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h>
7 #include <dt-bindings/reset/tegra210-car.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/thermal/tegra124-soctherm.h>
10 #include <dt-bindings/soc/tegra-pmc.h>
12 / {
13         compatible = "nvidia,tegra210";
14         interrupt-parent = <&lic>;
15         #address-cells = <2>;
16         #size-cells = <2>;
18         pcie@1003000 {
19                 compatible = "nvidia,tegra210-pcie";
20                 device_type = "pci";
21                 reg = <0x0 0x01003000 0x0 0x00000800>, /* PADS registers */
22                       <0x0 0x01003800 0x0 0x00000800>, /* AFI registers */
23                       <0x0 0x02000000 0x0 0x10000000>; /* configuration space */
24                 reg-names = "pads", "afi", "cs";
25                 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
26                              <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
27                 interrupt-names = "intr", "msi";
29                 #interrupt-cells = <1>;
30                 interrupt-map-mask = <0 0 0 0>;
31                 interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
33                 bus-range = <0x00 0xff>;
34                 #address-cells = <3>;
35                 #size-cells = <2>;
37                 ranges = <0x02000000 0 0x01000000 0x0 0x01000000 0 0x00001000>, /* port 0 configuration space */
38                          <0x02000000 0 0x01001000 0x0 0x01001000 0 0x00001000>, /* port 1 configuration space */
39                          <0x01000000 0 0x0        0x0 0x12000000 0 0x00010000>, /* downstream I/O (64 KiB) */
40                          <0x02000000 0 0x13000000 0x0 0x13000000 0 0x0d000000>, /* non-prefetchable memory (208 MiB) */
41                          <0x42000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
43                 clocks = <&tegra_car TEGRA210_CLK_PCIE>,
44                          <&tegra_car TEGRA210_CLK_AFI>,
45                          <&tegra_car TEGRA210_CLK_PLL_E>,
46                          <&tegra_car TEGRA210_CLK_CML0>;
47                 clock-names = "pex", "afi", "pll_e", "cml";
48                 resets = <&tegra_car 70>,
49                          <&tegra_car 72>,
50                          <&tegra_car 74>;
51                 reset-names = "pex", "afi", "pcie_x";
53                 pinctrl-names = "default", "idle";
54                 pinctrl-0 = <&pex_dpd_disable>;
55                 pinctrl-1 = <&pex_dpd_enable>;
57                 status = "disabled";
59                 pci@1,0 {
60                         device_type = "pci";
61                         assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
62                         reg = <0x000800 0 0 0 0>;
63                         bus-range = <0x00 0xff>;
64                         status = "disabled";
66                         #address-cells = <3>;
67                         #size-cells = <2>;
68                         ranges;
70                         nvidia,num-lanes = <4>;
71                 };
73                 pci@2,0 {
74                         device_type = "pci";
75                         assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
76                         reg = <0x001000 0 0 0 0>;
77                         bus-range = <0x00 0xff>;
78                         status = "disabled";
80                         #address-cells = <3>;
81                         #size-cells = <2>;
82                         ranges;
84                         nvidia,num-lanes = <1>;
85                 };
86         };
88         host1x@50000000 {
89                 compatible = "nvidia,tegra210-host1x";
90                 reg = <0x0 0x50000000 0x0 0x00034000>;
91                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
92                              <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
93                 interrupt-names = "syncpt", "host1x";
94                 clocks = <&tegra_car TEGRA210_CLK_HOST1X>;
95                 clock-names = "host1x";
96                 resets = <&tegra_car 28>;
97                 reset-names = "host1x";
99                 #address-cells = <2>;
100                 #size-cells = <2>;
102                 ranges = <0x0 0x54000000 0x0 0x54000000 0x0 0x01000000>;
104                 iommus = <&mc TEGRA_SWGROUP_HC>;
106                 dpaux1: dpaux@54040000 {
107                         compatible = "nvidia,tegra210-dpaux";
108                         reg = <0x0 0x54040000 0x0 0x00040000>;
109                         interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
110                         clocks = <&tegra_car TEGRA210_CLK_DPAUX1>,
111                                  <&tegra_car TEGRA210_CLK_PLL_DP>;
112                         clock-names = "dpaux", "parent";
113                         resets = <&tegra_car 207>;
114                         reset-names = "dpaux";
115                         power-domains = <&pd_sor>;
116                         status = "disabled";
118                         state_dpaux1_aux: pinmux-aux {
119                                 groups = "dpaux-io";
120                                 function = "aux";
121                         };
123                         state_dpaux1_i2c: pinmux-i2c {
124                                 groups = "dpaux-io";
125                                 function = "i2c";
126                         };
128                         state_dpaux1_off: pinmux-off {
129                                 groups = "dpaux-io";
130                                 function = "off";
131                         };
133                         i2c-bus {
134                                 #address-cells = <1>;
135                                 #size-cells = <0>;
136                         };
137                 };
139                 vi@54080000 {
140                         compatible = "nvidia,tegra210-vi";
141                         reg = <0x0 0x54080000 0x0 0x700>;
142                         interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
143                         status = "disabled";
144                         assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
145                         assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
147                         clocks = <&tegra_car TEGRA210_CLK_VI>;
148                         power-domains = <&pd_venc>;
150                         #address-cells = <1>;
151                         #size-cells = <1>;
153                         ranges = <0x0 0x0 0x54080000 0x2000>;
155                         csi@838 {
156                                 compatible = "nvidia,tegra210-csi";
157                                 reg = <0x838 0x1300>;
158                                 status = "disabled";
159                                 assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
160                                                   <&tegra_car TEGRA210_CLK_CILCD>,
161                                                   <&tegra_car TEGRA210_CLK_CILE>,
162                                                   <&tegra_car TEGRA210_CLK_CSI_TPG>;
163                                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
164                                                          <&tegra_car TEGRA210_CLK_PLL_P>,
165                                                          <&tegra_car TEGRA210_CLK_PLL_P>;
166                                 assigned-clock-rates = <102000000>,
167                                                        <102000000>,
168                                                        <102000000>,
169                                                        <972000000>;
171                                 clocks = <&tegra_car TEGRA210_CLK_CSI>,
172                                          <&tegra_car TEGRA210_CLK_CILAB>,
173                                          <&tegra_car TEGRA210_CLK_CILCD>,
174                                          <&tegra_car TEGRA210_CLK_CILE>,
175                                          <&tegra_car TEGRA210_CLK_CSI_TPG>;
176                                 clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
177                                 power-domains = <&pd_sor>;
178                         };
179                 };
181                 tsec@54100000 {
182                         compatible = "nvidia,tegra210-tsec";
183                         reg = <0x0 0x54100000 0x0 0x00040000>;
184                 };
186                 dc@54200000 {
187                         compatible = "nvidia,tegra210-dc";
188                         reg = <0x0 0x54200000 0x0 0x00040000>;
189                         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
190                         clocks = <&tegra_car TEGRA210_CLK_DISP1>;
191                         clock-names = "dc";
192                         resets = <&tegra_car 27>;
193                         reset-names = "dc";
195                         iommus = <&mc TEGRA_SWGROUP_DC>;
197                         nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
198                         nvidia,head = <0>;
199                 };
201                 dc@54240000 {
202                         compatible = "nvidia,tegra210-dc";
203                         reg = <0x0 0x54240000 0x0 0x00040000>;
204                         interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
205                         clocks = <&tegra_car TEGRA210_CLK_DISP2>;
206                         clock-names = "dc";
207                         resets = <&tegra_car 26>;
208                         reset-names = "dc";
210                         iommus = <&mc TEGRA_SWGROUP_DCB>;
212                         nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
213                         nvidia,head = <1>;
214                 };
216                 dsia: dsi@54300000 {
217                         compatible = "nvidia,tegra210-dsi";
218                         reg = <0x0 0x54300000 0x0 0x00040000>;
219                         clocks = <&tegra_car TEGRA210_CLK_DSIA>,
220                                  <&tegra_car TEGRA210_CLK_DSIALP>,
221                                  <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
222                         clock-names = "dsi", "lp", "parent";
223                         resets = <&tegra_car 48>;
224                         reset-names = "dsi";
225                         power-domains = <&pd_sor>;
226                         nvidia,mipi-calibrate = <&mipi 0x0c0>; /* DSIA & DSIB pads */
228                         status = "disabled";
230                         #address-cells = <1>;
231                         #size-cells = <0>;
232                 };
234                 vic@54340000 {
235                         compatible = "nvidia,tegra210-vic";
236                         reg = <0x0 0x54340000 0x0 0x00040000>;
237                         interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
238                         clocks = <&tegra_car TEGRA210_CLK_VIC03>;
239                         clock-names = "vic";
240                         resets = <&tegra_car 178>;
241                         reset-names = "vic";
243                         iommus = <&mc TEGRA_SWGROUP_VIC>;
244                         power-domains = <&pd_vic>;
245                 };
247                 nvjpg@54380000 {
248                         compatible = "nvidia,tegra210-nvjpg";
249                         reg = <0x0 0x54380000 0x0 0x00040000>;
250                         status = "disabled";
251                 };
253                 dsib: dsi@54400000 {
254                         compatible = "nvidia,tegra210-dsi";
255                         reg = <0x0 0x54400000 0x0 0x00040000>;
256                         clocks = <&tegra_car TEGRA210_CLK_DSIB>,
257                                  <&tegra_car TEGRA210_CLK_DSIBLP>,
258                                  <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
259                         clock-names = "dsi", "lp", "parent";
260                         resets = <&tegra_car 82>;
261                         reset-names = "dsi";
262                         power-domains = <&pd_sor>;
263                         nvidia,mipi-calibrate = <&mipi 0x300>; /* DSIC & DSID pads */
265                         status = "disabled";
267                         #address-cells = <1>;
268                         #size-cells = <0>;
269                 };
271                 nvdec@54480000 {
272                         compatible = "nvidia,tegra210-nvdec";
273                         reg = <0x0 0x54480000 0x0 0x00040000>;
274                         status = "disabled";
275                 };
277                 nvenc@544c0000 {
278                         compatible = "nvidia,tegra210-nvenc";
279                         reg = <0x0 0x544c0000 0x0 0x00040000>;
280                         status = "disabled";
281                 };
283                 tsec@54500000 {
284                         compatible = "nvidia,tegra210-tsec";
285                         reg = <0x0 0x54500000 0x0 0x00040000>;
286                         status = "disabled";
287                 };
289                 sor0: sor@54540000 {
290                         compatible = "nvidia,tegra210-sor";
291                         reg = <0x0 0x54540000 0x0 0x00040000>;
292                         interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
293                         clocks = <&tegra_car TEGRA210_CLK_SOR0>,
294                                  <&tegra_car TEGRA210_CLK_SOR0_OUT>,
295                                  <&tegra_car TEGRA210_CLK_PLL_D_OUT0>,
296                                  <&tegra_car TEGRA210_CLK_PLL_DP>,
297                                  <&tegra_car TEGRA210_CLK_SOR_SAFE>;
298                         clock-names = "sor", "out", "parent", "dp", "safe";
299                         resets = <&tegra_car 182>;
300                         reset-names = "sor";
301                         pinctrl-0 = <&state_dpaux_aux>;
302                         pinctrl-1 = <&state_dpaux_i2c>;
303                         pinctrl-2 = <&state_dpaux_off>;
304                         pinctrl-names = "aux", "i2c", "off";
305                         power-domains = <&pd_sor>;
306                         status = "disabled";
307                 };
309                 sor1: sor@54580000 {
310                         compatible = "nvidia,tegra210-sor1";
311                         reg = <0x0 0x54580000 0x0 0x00040000>;
312                         interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
313                         clocks = <&tegra_car TEGRA210_CLK_SOR1>,
314                                  <&tegra_car TEGRA210_CLK_SOR1_OUT>,
315                                  <&tegra_car TEGRA210_CLK_PLL_D2_OUT0>,
316                                  <&tegra_car TEGRA210_CLK_PLL_DP>,
317                                  <&tegra_car TEGRA210_CLK_SOR_SAFE>;
318                         clock-names = "sor", "out", "parent", "dp", "safe";
319                         resets = <&tegra_car 183>;
320                         reset-names = "sor";
321                         pinctrl-0 = <&state_dpaux1_aux>;
322                         pinctrl-1 = <&state_dpaux1_i2c>;
323                         pinctrl-2 = <&state_dpaux1_off>;
324                         pinctrl-names = "aux", "i2c", "off";
325                         power-domains = <&pd_sor>;
326                         status = "disabled";
327                 };
329                 dpaux: dpaux@545c0000 {
330                         compatible = "nvidia,tegra210-dpaux";
331                         reg = <0x0 0x545c0000 0x0 0x00040000>;
332                         interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
333                         clocks = <&tegra_car TEGRA210_CLK_DPAUX>,
334                                  <&tegra_car TEGRA210_CLK_PLL_DP>;
335                         clock-names = "dpaux", "parent";
336                         resets = <&tegra_car 181>;
337                         reset-names = "dpaux";
338                         power-domains = <&pd_sor>;
339                         status = "disabled";
341                         state_dpaux_aux: pinmux-aux {
342                                 groups = "dpaux-io";
343                                 function = "aux";
344                         };
346                         state_dpaux_i2c: pinmux-i2c {
347                                 groups = "dpaux-io";
348                                 function = "i2c";
349                         };
351                         state_dpaux_off: pinmux-off {
352                                 groups = "dpaux-io";
353                                 function = "off";
354                         };
356                         i2c-bus {
357                                 #address-cells = <1>;
358                                 #size-cells = <0>;
359                         };
360                 };
362                 isp@54600000 {
363                         compatible = "nvidia,tegra210-isp";
364                         reg = <0x0 0x54600000 0x0 0x00040000>;
365                         interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
366                         clocks = <&tegra_car TEGRA210_CLK_ISPA>;
367                         resets = <&tegra_car 23>;
368                         reset-names = "isp";
369                         status = "disabled";
370                 };
372                 isp@54680000 {
373                         compatible = "nvidia,tegra210-isp";
374                         reg = <0x0 0x54680000 0x0 0x00040000>;
375                         interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
376                         clocks = <&tegra_car TEGRA210_CLK_ISPB>;
377                         resets = <&tegra_car 3>;
378                         reset-names = "isp";
379                         status = "disabled";
380                 };
382                 i2c@546c0000 {
383                         compatible = "nvidia,tegra210-i2c-vi";
384                         reg = <0x0 0x546c0000 0x0 0x00040000>;
385                         interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
386                         clocks = <&tegra_car TEGRA210_CLK_VI_I2C>,
387                                  <&tegra_car TEGRA210_CLK_I2CSLOW>;
388                         clock-names = "div-clk", "slow";
389                         resets = <&tegra_car 208>;
390                         reset-names = "i2c";
391                         power-domains = <&pd_venc>;
392                         status = "disabled";
394                         #address-cells = <1>;
395                         #size-cells = <0>;
396                 };
397         };
399         gic: interrupt-controller@50041000 {
400                 compatible = "arm,gic-400";
401                 #interrupt-cells = <3>;
402                 interrupt-controller;
403                 reg = <0x0 0x50041000 0x0 0x1000>,
404                       <0x0 0x50042000 0x0 0x2000>,
405                       <0x0 0x50044000 0x0 0x2000>,
406                       <0x0 0x50046000 0x0 0x2000>;
407                 interrupts = <GIC_PPI 9
408                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
409                 interrupt-parent = <&gic>;
410         };
412         gpu@57000000 {
413                 compatible = "nvidia,gm20b";
414                 reg = <0x0 0x57000000 0x0 0x01000000>,
415                       <0x0 0x58000000 0x0 0x01000000>;
416                 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
417                              <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
418                 interrupt-names = "stall", "nonstall";
419                 clocks = <&tegra_car TEGRA210_CLK_GPU>,
420                          <&tegra_car TEGRA210_CLK_PLL_P_OUT5>,
421                          <&tegra_car TEGRA210_CLK_PLL_G_REF>;
422                 clock-names = "gpu", "pwr", "ref";
423                 resets = <&tegra_car 184>;
424                 reset-names = "gpu";
426                 iommus = <&mc TEGRA_SWGROUP_GPU>;
428                 status = "disabled";
429         };
431         lic: interrupt-controller@60004000 {
432                 compatible = "nvidia,tegra210-ictlr";
433                 reg = <0x0 0x60004000 0x0 0x40>, /* primary controller */
434                       <0x0 0x60004100 0x0 0x40>, /* secondary controller */
435                       <0x0 0x60004200 0x0 0x40>, /* tertiary controller */
436                       <0x0 0x60004300 0x0 0x40>, /* quaternary controller */
437                       <0x0 0x60004400 0x0 0x40>, /* quinary controller */
438                       <0x0 0x60004500 0x0 0x40>; /* senary controller */
439                 interrupt-controller;
440                 #interrupt-cells = <3>;
441                 interrupt-parent = <&gic>;
442         };
444         timer@60005000 {
445                 compatible = "nvidia,tegra210-timer";
446                 reg = <0x0 0x60005000 0x0 0x400>;
447                 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>,
448                              <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
449                              <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
450                              <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
451                              <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
452                              <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
453                              <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
454                              <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
455                              <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
456                              <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
457                              <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
458                              <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,
459                              <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
460                              <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
461                 clocks = <&tegra_car TEGRA210_CLK_TIMER>;
462                 clock-names = "timer";
463         };
465         tegra_car: clock@60006000 {
466                 compatible = "nvidia,tegra210-car";
467                 reg = <0x0 0x60006000 0x0 0x1000>;
468                 #clock-cells = <1>;
469                 #reset-cells = <1>;
470         };
472         flow-controller@60007000 {
473                 compatible = "nvidia,tegra210-flowctrl";
474                 reg = <0x0 0x60007000 0x0 0x1000>;
475         };
477         gpio: gpio@6000d000 {
478                 compatible = "nvidia,tegra210-gpio", "nvidia,tegra30-gpio";
479                 reg = <0x0 0x6000d000 0x0 0x1000>;
480                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
481                              <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
482                              <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
483                              <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
484                              <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
485                              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
486                              <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
487                              <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
488                 #gpio-cells = <2>;
489                 gpio-controller;
490                 #interrupt-cells = <2>;
491                 interrupt-controller;
492         };
494         apbdma: dma@60020000 {
495                 compatible = "nvidia,tegra210-apbdma", "nvidia,tegra148-apbdma";
496                 reg = <0x0 0x60020000 0x0 0x1400>;
497                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
498                              <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
499                              <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
500                              <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
501                              <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
502                              <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
503                              <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
504                              <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
505                              <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
506                              <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
507                              <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
508                              <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
509                              <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
510                              <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
511                              <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
512                              <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
513                              <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
514                              <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
515                              <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
516                              <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
517                              <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
518                              <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
519                              <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
520                              <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
521                              <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
522                              <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
523                              <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
524                              <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
525                              <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
526                              <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
527                              <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
528                              <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
529                 clocks = <&tegra_car TEGRA210_CLK_APBDMA>;
530                 clock-names = "dma";
531                 resets = <&tegra_car 34>;
532                 reset-names = "dma";
533                 #dma-cells = <1>;
534         };
536         apbmisc@70000800 {
537                 compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc";
538                 reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
539                       <0x0 0x70000008 0x0 0x04>;   /* Strapping options */
540         };
542         pinmux: pinmux@700008d4 {
543                 compatible = "nvidia,tegra210-pinmux";
544                 reg = <0x0 0x700008d4 0x0 0x29c>, /* Pad control registers */
545                       <0x0 0x70003000 0x0 0x294>; /* Mux registers */
546                 sdmmc1_3v3_drv: sdmmc1-3v3-drv {
547                         sdmmc1 {
548                                 nvidia,pins = "drive_sdmmc1";
549                                 nvidia,pull-down-strength = <0x8>;
550                                 nvidia,pull-up-strength = <0x8>;
551                         };
552                 };
553                 sdmmc1_1v8_drv: sdmmc1-1v8-drv {
554                         sdmmc1 {
555                                 nvidia,pins = "drive_sdmmc1";
556                                 nvidia,pull-down-strength = <0x4>;
557                                 nvidia,pull-up-strength = <0x3>;
558                         };
559                 };
560                 sdmmc2_1v8_drv: sdmmc2-1v8-drv {
561                         sdmmc2 {
562                                 nvidia,pins = "drive_sdmmc2";
563                                 nvidia,pull-down-strength = <0x10>;
564                                 nvidia,pull-up-strength = <0x10>;
565                         };
566                 };
567                 sdmmc3_3v3_drv: sdmmc3-3v3-drv {
568                         sdmmc3 {
569                                 nvidia,pins = "drive_sdmmc3";
570                                 nvidia,pull-down-strength = <0x8>;
571                                 nvidia,pull-up-strength = <0x8>;
572                         };
573                 };
574                 sdmmc3_1v8_drv: sdmmc3-1v8-drv {
575                         sdmmc3 {
576                                 nvidia,pins = "drive_sdmmc3";
577                                 nvidia,pull-down-strength = <0x4>;
578                                 nvidia,pull-up-strength = <0x3>;
579                         };
580                 };
581                 sdmmc4_1v8_drv: sdmmc4-1v8-drv {
582                         sdmmc4 {
583                                 nvidia,pins = "drive_sdmmc4";
584                                 nvidia,pull-down-strength = <0x10>;
585                                 nvidia,pull-up-strength = <0x10>;
586                         };
587                 };
588         };
590         /*
591          * There are two serial driver i.e. 8250 based simple serial
592          * driver and APB DMA based serial driver for higher baudrate
593          * and performance. To enable the 8250 based driver, the compatible
594          * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
595          * the APB DMA based serial driver, the compatible is
596          * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
597          */
598         uarta: serial@70006000 {
599                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
600                 reg = <0x0 0x70006000 0x0 0x40>;
601                 reg-shift = <2>;
602                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
603                 clocks = <&tegra_car TEGRA210_CLK_UARTA>;
604                 clock-names = "serial";
605                 resets = <&tegra_car 6>;
606                 reset-names = "serial";
607                 dmas = <&apbdma 8>, <&apbdma 8>;
608                 dma-names = "rx", "tx";
609                 status = "disabled";
610         };
612         uartb: serial@70006040 {
613                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
614                 reg = <0x0 0x70006040 0x0 0x40>;
615                 reg-shift = <2>;
616                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
617                 clocks = <&tegra_car TEGRA210_CLK_UARTB>;
618                 clock-names = "serial";
619                 resets = <&tegra_car 7>;
620                 reset-names = "serial";
621                 dmas = <&apbdma 9>, <&apbdma 9>;
622                 dma-names = "rx", "tx";
623                 status = "disabled";
624         };
626         uartc: serial@70006200 {
627                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
628                 reg = <0x0 0x70006200 0x0 0x40>;
629                 reg-shift = <2>;
630                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
631                 clocks = <&tegra_car TEGRA210_CLK_UARTC>;
632                 clock-names = "serial";
633                 resets = <&tegra_car 55>;
634                 reset-names = "serial";
635                 dmas = <&apbdma 10>, <&apbdma 10>;
636                 dma-names = "rx", "tx";
637                 status = "disabled";
638         };
640         uartd: serial@70006300 {
641                 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
642                 reg = <0x0 0x70006300 0x0 0x40>;
643                 reg-shift = <2>;
644                 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
645                 clocks = <&tegra_car TEGRA210_CLK_UARTD>;
646                 clock-names = "serial";
647                 resets = <&tegra_car 65>;
648                 reset-names = "serial";
649                 dmas = <&apbdma 19>, <&apbdma 19>;
650                 dma-names = "rx", "tx";
651                 status = "disabled";
652         };
654         pwm: pwm@7000a000 {
655                 compatible = "nvidia,tegra210-pwm", "nvidia,tegra20-pwm";
656                 reg = <0x0 0x7000a000 0x0 0x100>;
657                 #pwm-cells = <2>;
658                 clocks = <&tegra_car TEGRA210_CLK_PWM>;
659                 clock-names = "pwm";
660                 resets = <&tegra_car 17>;
661                 reset-names = "pwm";
662                 status = "disabled";
663         };
665         i2c@7000c000 {
666                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
667                 reg = <0x0 0x7000c000 0x0 0x100>;
668                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
669                 #address-cells = <1>;
670                 #size-cells = <0>;
671                 clocks = <&tegra_car TEGRA210_CLK_I2C1>;
672                 clock-names = "div-clk";
673                 resets = <&tegra_car 12>;
674                 reset-names = "i2c";
675                 dmas = <&apbdma 21>, <&apbdma 21>;
676                 dma-names = "rx", "tx";
677                 status = "disabled";
678         };
680         i2c@7000c400 {
681                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
682                 reg = <0x0 0x7000c400 0x0 0x100>;
683                 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
684                 #address-cells = <1>;
685                 #size-cells = <0>;
686                 clocks = <&tegra_car TEGRA210_CLK_I2C2>;
687                 clock-names = "div-clk";
688                 resets = <&tegra_car 54>;
689                 reset-names = "i2c";
690                 dmas = <&apbdma 22>, <&apbdma 22>;
691                 dma-names = "rx", "tx";
692                 status = "disabled";
693         };
695         i2c@7000c500 {
696                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
697                 reg = <0x0 0x7000c500 0x0 0x100>;
698                 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
699                 #address-cells = <1>;
700                 #size-cells = <0>;
701                 clocks = <&tegra_car TEGRA210_CLK_I2C3>;
702                 clock-names = "div-clk";
703                 resets = <&tegra_car 67>;
704                 reset-names = "i2c";
705                 dmas = <&apbdma 23>, <&apbdma 23>;
706                 dma-names = "rx", "tx";
707                 status = "disabled";
708         };
710         i2c@7000c700 {
711                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
712                 reg = <0x0 0x7000c700 0x0 0x100>;
713                 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
714                 #address-cells = <1>;
715                 #size-cells = <0>;
716                 clocks = <&tegra_car TEGRA210_CLK_I2C4>;
717                 clock-names = "div-clk";
718                 resets = <&tegra_car 103>;
719                 reset-names = "i2c";
720                 dmas = <&apbdma 26>, <&apbdma 26>;
721                 dma-names = "rx", "tx";
722                 pinctrl-0 = <&state_dpaux1_i2c>;
723                 pinctrl-1 = <&state_dpaux1_off>;
724                 pinctrl-names = "default", "idle";
725                 status = "disabled";
726         };
728         i2c@7000d000 {
729                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
730                 reg = <0x0 0x7000d000 0x0 0x100>;
731                 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
732                 #address-cells = <1>;
733                 #size-cells = <0>;
734                 clocks = <&tegra_car TEGRA210_CLK_I2C5>;
735                 clock-names = "div-clk";
736                 resets = <&tegra_car 47>;
737                 reset-names = "i2c";
738                 dmas = <&apbdma 24>, <&apbdma 24>;
739                 dma-names = "rx", "tx";
740                 status = "disabled";
741         };
743         i2c@7000d100 {
744                 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
745                 reg = <0x0 0x7000d100 0x0 0x100>;
746                 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
747                 #address-cells = <1>;
748                 #size-cells = <0>;
749                 clocks = <&tegra_car TEGRA210_CLK_I2C6>;
750                 clock-names = "div-clk";
751                 resets = <&tegra_car 166>;
752                 reset-names = "i2c";
753                 dmas = <&apbdma 30>, <&apbdma 30>;
754                 dma-names = "rx", "tx";
755                 pinctrl-0 = <&state_dpaux_i2c>;
756                 pinctrl-1 = <&state_dpaux_off>;
757                 pinctrl-names = "default", "idle";
758                 status = "disabled";
759         };
761         spi@7000d400 {
762                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
763                 reg = <0x0 0x7000d400 0x0 0x200>;
764                 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
765                 #address-cells = <1>;
766                 #size-cells = <0>;
767                 clocks = <&tegra_car TEGRA210_CLK_SBC1>;
768                 clock-names = "spi";
769                 resets = <&tegra_car 41>;
770                 reset-names = "spi";
771                 dmas = <&apbdma 15>, <&apbdma 15>;
772                 dma-names = "rx", "tx";
773                 status = "disabled";
774         };
776         spi@7000d600 {
777                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
778                 reg = <0x0 0x7000d600 0x0 0x200>;
779                 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
780                 #address-cells = <1>;
781                 #size-cells = <0>;
782                 clocks = <&tegra_car TEGRA210_CLK_SBC2>;
783                 clock-names = "spi";
784                 resets = <&tegra_car 44>;
785                 reset-names = "spi";
786                 dmas = <&apbdma 16>, <&apbdma 16>;
787                 dma-names = "rx", "tx";
788                 status = "disabled";
789         };
791         spi@7000d800 {
792                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
793                 reg = <0x0 0x7000d800 0x0 0x200>;
794                 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
795                 #address-cells = <1>;
796                 #size-cells = <0>;
797                 clocks = <&tegra_car TEGRA210_CLK_SBC3>;
798                 clock-names = "spi";
799                 resets = <&tegra_car 46>;
800                 reset-names = "spi";
801                 dmas = <&apbdma 17>, <&apbdma 17>;
802                 dma-names = "rx", "tx";
803                 status = "disabled";
804         };
806         spi@7000da00 {
807                 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
808                 reg = <0x0 0x7000da00 0x0 0x200>;
809                 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
810                 #address-cells = <1>;
811                 #size-cells = <0>;
812                 clocks = <&tegra_car TEGRA210_CLK_SBC4>;
813                 clock-names = "spi";
814                 resets = <&tegra_car 68>;
815                 reset-names = "spi";
816                 dmas = <&apbdma 18>, <&apbdma 18>;
817                 dma-names = "rx", "tx";
818                 status = "disabled";
819         };
821         rtc@7000e000 {
822                 compatible = "nvidia,tegra210-rtc", "nvidia,tegra20-rtc";
823                 reg = <0x0 0x7000e000 0x0 0x100>;
824                 interrupts = <16 IRQ_TYPE_LEVEL_HIGH>;
825                 interrupt-parent = <&tegra_pmc>;
826                 clocks = <&tegra_car TEGRA210_CLK_RTC>;
827                 clock-names = "rtc";
828         };
830         tegra_pmc: pmc@7000e400 {
831                 compatible = "nvidia,tegra210-pmc";
832                 reg = <0x0 0x7000e400 0x0 0x400>;
833                 clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
834                 clock-names = "pclk", "clk32k_in";
835                 #clock-cells = <1>;
836                 #interrupt-cells = <2>;
837                 interrupt-controller;
839                 powergates {
840                         pd_audio: aud {
841                                 clocks = <&tegra_car TEGRA210_CLK_APE>,
842                                          <&tegra_car TEGRA210_CLK_APB2APE>;
843                                 resets = <&tegra_car 198>;
844                                 #power-domain-cells = <0>;
845                         };
847                         pd_sor: sor {
848                                 clocks = <&tegra_car TEGRA210_CLK_SOR0>,
849                                          <&tegra_car TEGRA210_CLK_SOR1>,
850                                          <&tegra_car TEGRA210_CLK_CILAB>,
851                                          <&tegra_car TEGRA210_CLK_CILCD>,
852                                          <&tegra_car TEGRA210_CLK_CILE>,
853                                          <&tegra_car TEGRA210_CLK_DSIA>,
854                                          <&tegra_car TEGRA210_CLK_DSIB>,
855                                          <&tegra_car TEGRA210_CLK_DPAUX>,
856                                          <&tegra_car TEGRA210_CLK_DPAUX1>,
857                                          <&tegra_car TEGRA210_CLK_MIPI_CAL>;
858                                 resets = <&tegra_car TEGRA210_CLK_SOR0>,
859                                          <&tegra_car TEGRA210_CLK_SOR1>,
860                                          <&tegra_car TEGRA210_CLK_DSIA>,
861                                          <&tegra_car TEGRA210_CLK_DSIB>,
862                                          <&tegra_car TEGRA210_CLK_DPAUX>,
863                                          <&tegra_car TEGRA210_CLK_DPAUX1>,
864                                          <&tegra_car TEGRA210_CLK_MIPI_CAL>;
865                                 #power-domain-cells = <0>;
866                         };
868                         pd_xusbss: xusba {
869                                 clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>;
870                                 resets = <&tegra_car TEGRA210_CLK_XUSB_SS>;
871                                 #power-domain-cells = <0>;
872                         };
874                         pd_xusbdev: xusbb {
875                                 clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>;
876                                 resets = <&tegra_car 95>;
877                                 #power-domain-cells = <0>;
878                         };
880                         pd_xusbhost: xusbc {
881                                 clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
882                                 resets = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
883                                 #power-domain-cells = <0>;
884                         };
886                         pd_vic: vic {
887                                 clocks = <&tegra_car TEGRA210_CLK_VIC03>;
888                                 clock-names = "vic";
889                                 resets = <&tegra_car 178>;
890                                 reset-names = "vic";
891                                 #power-domain-cells = <0>;
892                         };
894                         pd_venc: venc {
895                                 clocks = <&tegra_car TEGRA210_CLK_VI>,
896                                          <&tegra_car TEGRA210_CLK_CSI>;
897                                 resets = <&mc TEGRA210_MC_RESET_VI>,
898                                          <&tegra_car 20>,
899                                          <&tegra_car 52>;
900                                 #power-domain-cells = <0>;
901                         };
902                 };
904                 sdmmc1_3v3: sdmmc1-3v3 {
905                         pins = "sdmmc1";
906                         power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
907                 };
909                 sdmmc1_1v8: sdmmc1-1v8 {
910                         pins = "sdmmc1";
911                         power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
912                 };
914                 sdmmc3_3v3: sdmmc3-3v3 {
915                         pins = "sdmmc3";
916                         power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
917                 };
919                 sdmmc3_1v8: sdmmc3-1v8 {
920                         pins = "sdmmc3";
921                         power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
922                 };
924                 pex_dpd_disable: pex_en {
925                         pex-dpd-disable {
926                                 pins = "pex-bias", "pex-clk1", "pex-clk2";
927                                 low-power-disable;
928                         };
929                 };
931                 pex_dpd_enable: pex_dis {
932                         pex-dpd-enable {
933                                 pins = "pex-bias", "pex-clk1", "pex-clk2";
934                                 low-power-enable;
935                         };
936                 };
937         };
939         fuse@7000f800 {
940                 compatible = "nvidia,tegra210-efuse";
941                 reg = <0x0 0x7000f800 0x0 0x400>;
942                 clocks = <&tegra_car TEGRA210_CLK_FUSE>;
943                 clock-names = "fuse";
944                 resets = <&tegra_car 39>;
945                 reset-names = "fuse";
946         };
948         mc: memory-controller@70019000 {
949                 compatible = "nvidia,tegra210-mc";
950                 reg = <0x0 0x70019000 0x0 0x1000>;
951                 clocks = <&tegra_car TEGRA210_CLK_MC>;
952                 clock-names = "mc";
954                 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
956                 #iommu-cells = <1>;
957                 #reset-cells = <1>;
958         };
960         emc: external-memory-controller@7001b000 {
961                 compatible = "nvidia,tegra210-emc";
962                 reg = <0x0 0x7001b000 0x0 0x1000>,
963                       <0x0 0x7001e000 0x0 0x1000>,
964                       <0x0 0x7001f000 0x0 0x1000>;
965                 clocks = <&tegra_car TEGRA210_CLK_EMC>;
966                 clock-names = "emc";
967                 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
968                 nvidia,memory-controller = <&mc>;
969                 #cooling-cells = <2>;
970         };
972         sata@70020000 {
973                 compatible = "nvidia,tegra210-ahci";
974                 reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
975                       <0x0 0x70020000 0x0 0x7000>, /* SATA */
976                       <0x0 0x70001100 0x0 0x1000>; /* SATA AUX */
977                 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
978                 clocks = <&tegra_car TEGRA210_CLK_SATA>,
979                          <&tegra_car TEGRA210_CLK_SATA_OOB>;
980                 clock-names = "sata", "sata-oob";
981                 resets = <&tegra_car 124>,
982                          <&tegra_car 129>,
983                          <&tegra_car 123>;
984                 reset-names = "sata", "sata-cold", "sata-oob";
985                 status = "disabled";
986         };
988         hda@70030000 {
989                 compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda";
990                 reg = <0x0 0x70030000 0x0 0x10000>;
991                 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
992                 clocks = <&tegra_car TEGRA210_CLK_HDA>,
993                          <&tegra_car TEGRA210_CLK_HDA2HDMI>,
994                          <&tegra_car TEGRA210_CLK_HDA2CODEC_2X>;
995                 clock-names = "hda", "hda2hdmi", "hda2codec_2x";
996                 resets = <&tegra_car 125>, /* hda */
997                          <&tegra_car 128>, /* hda2hdmi */
998                          <&tegra_car 111>; /* hda2codec_2x */
999                 reset-names = "hda", "hda2hdmi", "hda2codec_2x";
1000                 status = "disabled";
1001         };
1003         usb@70090000 {
1004                 compatible = "nvidia,tegra210-xusb";
1005                 reg = <0x0 0x70090000 0x0 0x8000>,
1006                       <0x0 0x70098000 0x0 0x1000>,
1007                       <0x0 0x70099000 0x0 0x1000>;
1008                 reg-names = "hcd", "fpci", "ipfs";
1010                 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
1011                              <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
1013                 clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>,
1014                          <&tegra_car TEGRA210_CLK_XUSB_HOST_SRC>,
1015                          <&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>,
1016                          <&tegra_car TEGRA210_CLK_XUSB_SS>,
1017                          <&tegra_car TEGRA210_CLK_XUSB_SS_SRC>,
1018                          <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>,
1019                          <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>,
1020                          <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>,
1021                          <&tegra_car TEGRA210_CLK_PLL_U_480M>,
1022                          <&tegra_car TEGRA210_CLK_CLK_M>,
1023                          <&tegra_car TEGRA210_CLK_PLL_E>;
1024                 clock-names = "xusb_host", "xusb_host_src",
1025                               "xusb_falcon_src", "xusb_ss",
1026                               "xusb_ss_src", "xusb_ss_div2",
1027                               "xusb_hs_src", "xusb_fs_src",
1028                               "pll_u_480m", "clk_m", "pll_e";
1029                 resets = <&tegra_car 89>, <&tegra_car 156>,
1030                          <&tegra_car 143>;
1031                 reset-names = "xusb_host", "xusb_ss", "xusb_src";
1032                 power-domains = <&pd_xusbhost>, <&pd_xusbss>;
1033                 power-domain-names = "xusb_host", "xusb_ss";
1035                 nvidia,xusb-padctl = <&padctl>;
1037                 status = "disabled";
1038         };
1040         padctl: padctl@7009f000 {
1041                 compatible = "nvidia,tegra210-xusb-padctl";
1042                 reg = <0x0 0x7009f000 0x0 0x1000>;
1043                 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
1044                 resets = <&tegra_car 142>;
1045                 reset-names = "padctl";
1047                 status = "disabled";
1049                 pads {
1050                         usb2 {
1051                                 clocks = <&tegra_car TEGRA210_CLK_USB2_TRK>;
1052                                 clock-names = "trk";
1053                                 status = "disabled";
1055                                 lanes {
1056                                         usb2-0 {
1057                                                 status = "disabled";
1058                                                 #phy-cells = <0>;
1059                                         };
1061                                         usb2-1 {
1062                                                 status = "disabled";
1063                                                 #phy-cells = <0>;
1064                                         };
1066                                         usb2-2 {
1067                                                 status = "disabled";
1068                                                 #phy-cells = <0>;
1069                                         };
1071                                         usb2-3 {
1072                                                 status = "disabled";
1073                                                 #phy-cells = <0>;
1074                                         };
1075                                 };
1076                         };
1078                         hsic {
1079                                 clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>;
1080                                 clock-names = "trk";
1081                                 status = "disabled";
1083                                 lanes {
1084                                         hsic-0 {
1085                                                 status = "disabled";
1086                                                 #phy-cells = <0>;
1087                                         };
1089                                         hsic-1 {
1090                                                 status = "disabled";
1091                                                 #phy-cells = <0>;
1092                                         };
1093                                 };
1094                         };
1096                         pcie {
1097                                 clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
1098                                 clock-names = "pll";
1099                                 resets = <&tegra_car 205>;
1100                                 reset-names = "phy";
1101                                 status = "disabled";
1103                                 lanes {
1104                                         pcie-0 {
1105                                                 status = "disabled";
1106                                                 #phy-cells = <0>;
1107                                         };
1109                                         pcie-1 {
1110                                                 status = "disabled";
1111                                                 #phy-cells = <0>;
1112                                         };
1114                                         pcie-2 {
1115                                                 status = "disabled";
1116                                                 #phy-cells = <0>;
1117                                         };
1119                                         pcie-3 {
1120                                                 status = "disabled";
1121                                                 #phy-cells = <0>;
1122                                         };
1124                                         pcie-4 {
1125                                                 status = "disabled";
1126                                                 #phy-cells = <0>;
1127                                         };
1129                                         pcie-5 {
1130                                                 status = "disabled";
1131                                                 #phy-cells = <0>;
1132                                         };
1134                                         pcie-6 {
1135                                                 status = "disabled";
1136                                                 #phy-cells = <0>;
1137                                         };
1138                                 };
1139                         };
1141                         sata {
1142                                 clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
1143                                 clock-names = "pll";
1144                                 resets = <&tegra_car 204>;
1145                                 reset-names = "phy";
1146                                 status = "disabled";
1148                                 lanes {
1149                                         sata-0 {
1150                                                 status = "disabled";
1151                                                 #phy-cells = <0>;
1152                                         };
1153                                 };
1154                         };
1155                 };
1157                 ports {
1158                         usb2-0 {
1159                                 status = "disabled";
1160                         };
1162                         usb2-1 {
1163                                 status = "disabled";
1164                         };
1166                         usb2-2 {
1167                                 status = "disabled";
1168                         };
1170                         usb2-3 {
1171                                 status = "disabled";
1172                         };
1174                         hsic-0 {
1175                                 status = "disabled";
1176                         };
1178                         usb3-0 {
1179                                 status = "disabled";
1180                         };
1182                         usb3-1 {
1183                                 status = "disabled";
1184                         };
1186                         usb3-2 {
1187                                 status = "disabled";
1188                         };
1190                         usb3-3 {
1191                                 status = "disabled";
1192                         };
1193                 };
1194         };
1196         mmc@700b0000 {
1197                 compatible = "nvidia,tegra210-sdhci";
1198                 reg = <0x0 0x700b0000 0x0 0x200>;
1199                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1200                 clocks = <&tegra_car TEGRA210_CLK_SDMMC1>,
1201                          <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>;
1202                 clock-names = "sdhci", "tmclk";
1203                 resets = <&tegra_car 14>;
1204                 reset-names = "sdhci";
1205                 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8",
1206                                 "sdmmc-3v3-drv", "sdmmc-1v8-drv";
1207                 pinctrl-0 = <&sdmmc1_3v3>;
1208                 pinctrl-1 = <&sdmmc1_1v8>;
1209                 pinctrl-2 = <&sdmmc1_3v3_drv>;
1210                 pinctrl-3 = <&sdmmc1_1v8_drv>;
1211                 nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>;
1212                 nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>;
1213                 nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>;
1214                 nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>;
1215                 nvidia,default-tap = <0x2>;
1216                 nvidia,default-trim = <0x4>;
1217                 assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>,
1218                                   <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>,
1219                                   <&tegra_car TEGRA210_CLK_PLL_C4>;
1220                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
1221                 assigned-clock-rates = <200000000>, <1000000000>, <1000000000>;
1222                 status = "disabled";
1223         };
1225         mmc@700b0200 {
1226                 compatible = "nvidia,tegra210-sdhci";
1227                 reg = <0x0 0x700b0200 0x0 0x200>;
1228                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
1229                 clocks = <&tegra_car TEGRA210_CLK_SDMMC2>,
1230                          <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>;
1231                 clock-names = "sdhci", "tmclk";
1232                 resets = <&tegra_car 9>;
1233                 reset-names = "sdhci";
1234                 pinctrl-names = "sdmmc-1v8-drv";
1235                 pinctrl-0 = <&sdmmc2_1v8_drv>;
1236                 nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>;
1237                 nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>;
1238                 nvidia,default-tap = <0x8>;
1239                 nvidia,default-trim = <0x0>;
1240                 status = "disabled";
1241         };
1243         mmc@700b0400 {
1244                 compatible = "nvidia,tegra210-sdhci";
1245                 reg = <0x0 0x700b0400 0x0 0x200>;
1246                 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
1247                 clocks = <&tegra_car TEGRA210_CLK_SDMMC3>,
1248                          <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>;
1249                 clock-names = "sdhci", "tmclk";
1250                 resets = <&tegra_car 69>;
1251                 reset-names = "sdhci";
1252                 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8",
1253                                 "sdmmc-3v3-drv", "sdmmc-1v8-drv";
1254                 pinctrl-0 = <&sdmmc3_3v3>;
1255                 pinctrl-1 = <&sdmmc3_1v8>;
1256                 pinctrl-2 = <&sdmmc3_3v3_drv>;
1257                 pinctrl-3 = <&sdmmc3_1v8_drv>;
1258                 nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>;
1259                 nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>;
1260                 nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>;
1261                 nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>;
1262                 nvidia,default-tap = <0x3>;
1263                 nvidia,default-trim = <0x3>;
1264                 status = "disabled";
1265         };
1267         mmc@700b0600 {
1268                 compatible = "nvidia,tegra210-sdhci";
1269                 reg = <0x0 0x700b0600 0x0 0x200>;
1270                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1271                 clocks = <&tegra_car TEGRA210_CLK_SDMMC4>,
1272                          <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>;
1273                 clock-names = "sdhci", "tmclk";
1274                 resets = <&tegra_car 15>;
1275                 reset-names = "sdhci";
1276                 pinctrl-names = "sdmmc-3v3-drv", "sdmmc-1v8-drv";
1277                 pinctrl-0 = <&sdmmc4_1v8_drv>;
1278                 pinctrl-1 = <&sdmmc4_1v8_drv>;
1279                 nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>;
1280                 nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>;
1281                 nvidia,default-tap = <0x8>;
1282                 nvidia,default-trim = <0x0>;
1283                 assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>,
1284                                   <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
1285                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
1286                 nvidia,dqs-trim = <40>;
1287                 mmc-hs400-1_8v;
1288                 status = "disabled";
1289         };
1291         usb@700d0000 {
1292                 compatible = "nvidia,tegra210-xudc";
1293                 reg = <0x0 0x700d0000 0x0 0x8000>,
1294                       <0x0 0x700d8000 0x0 0x1000>,
1295                       <0x0 0x700d9000 0x0 0x1000>;
1296                 reg-names = "base", "fpci", "ipfs";
1297                 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
1298                 clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>,
1299                          <&tegra_car TEGRA210_CLK_XUSB_SS>,
1300                          <&tegra_car TEGRA210_CLK_XUSB_SSP_SRC>,
1301                          <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>,
1302                          <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>;
1303                 clock-names = "dev", "ss", "ss_src", "fs_src", "hs_src";
1304                 power-domains = <&pd_xusbdev>, <&pd_xusbss>;
1305                 power-domain-names = "dev", "ss";
1306                 nvidia,xusb-padctl = <&padctl>;
1307                 status = "disabled";
1308         };
1310         mipi: mipi@700e3000 {
1311                 compatible = "nvidia,tegra210-mipi";
1312                 reg = <0x0 0x700e3000 0x0 0x100>;
1313                 clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>;
1314                 clock-names = "mipi-cal";
1315                 power-domains = <&pd_sor>;
1316                 #nvidia,mipi-calibrate-cells = <1>;
1317         };
1319         dfll: clock@70110000 {
1320                 compatible = "nvidia,tegra210-dfll";
1321                 reg = <0 0x70110000 0 0x100>, /* DFLL control */
1322                       <0 0x70110000 0 0x100>, /* I2C output control */
1323                       <0 0x70110100 0 0x100>, /* Integrated I2C controller */
1324                       <0 0x70110200 0 0x100>; /* Look-up table RAM */
1325                 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
1326                 clocks = <&tegra_car TEGRA210_CLK_DFLL_SOC>,
1327                          <&tegra_car TEGRA210_CLK_DFLL_REF>,
1328                          <&tegra_car TEGRA210_CLK_I2C5>;
1329                 clock-names = "soc", "ref", "i2c";
1330                 resets = <&tegra_car TEGRA210_RST_DFLL_DVCO>;
1331                 reset-names = "dvco";
1332                 #clock-cells = <0>;
1333                 clock-output-names = "dfllCPU_out";
1334                 status = "disabled";
1335         };
1337         aconnect@702c0000 {
1338                 compatible = "nvidia,tegra210-aconnect";
1339                 clocks = <&tegra_car TEGRA210_CLK_APE>,
1340                          <&tegra_car TEGRA210_CLK_APB2APE>;
1341                 clock-names = "ape", "apb2ape";
1342                 power-domains = <&pd_audio>;
1343                 #address-cells = <1>;
1344                 #size-cells = <1>;
1345                 ranges = <0x702c0000 0x0 0x702c0000 0x00040000>;
1346                 status = "disabled";
1348                 adma: dma-controller@702e2000 {
1349                         compatible = "nvidia,tegra210-adma";
1350                         reg = <0x702e2000 0x2000>;
1351                         interrupt-parent = <&agic>;
1352                         interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
1353                                      <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
1354                                      <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
1355                                      <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
1356                                      <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
1357                                      <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
1358                                      <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
1359                                      <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
1360                                      <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
1361                                      <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
1362                                      <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
1363                                      <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
1364                                      <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
1365                                      <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
1366                                      <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
1367                                      <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
1368                                      <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
1369                                      <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
1370                                      <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
1371                                      <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
1372                                      <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
1373                                      <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
1374                         #dma-cells = <1>;
1375                         clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
1376                         clock-names = "d_audio";
1377                         status = "disabled";
1378                 };
1380                 agic: interrupt-controller@702f9000 {
1381                         compatible = "nvidia,tegra210-agic";
1382                         #interrupt-cells = <3>;
1383                         interrupt-controller;
1384                         reg = <0x702f9000 0x1000>,
1385                               <0x702fa000 0x2000>;
1386                         interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
1387                         clocks = <&tegra_car TEGRA210_CLK_APE>;
1388                         clock-names = "clk";
1389                         status = "disabled";
1390                 };
1392                 tegra_ahub: ahub@702d0800 {
1393                         compatible = "nvidia,tegra210-ahub";
1394                         reg = <0x702d0800 0x800>;
1395                         clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
1396                         clock-names = "ahub";
1397                         assigned-clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
1398                         assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
1399                         #address-cells = <1>;
1400                         #size-cells = <1>;
1401                         ranges = <0x702d0000 0x702d0000 0x0000e400>;
1402                         status = "disabled";
1404                         tegra_admaif: admaif@702d0000 {
1405                                 compatible = "nvidia,tegra210-admaif";
1406                                 reg = <0x702d0000 0x800>;
1407                                 dmas = <&adma 1>,  <&adma 1>,
1408                                        <&adma 2>,  <&adma 2>,
1409                                        <&adma 3>,  <&adma 3>,
1410                                        <&adma 4>,  <&adma 4>,
1411                                        <&adma 5>,  <&adma 5>,
1412                                        <&adma 6>,  <&adma 6>,
1413                                        <&adma 7>,  <&adma 7>,
1414                                        <&adma 8>,  <&adma 8>,
1415                                        <&adma 9>,  <&adma 9>,
1416                                        <&adma 10>, <&adma 10>;
1417                                 dma-names = "rx1",  "tx1",
1418                                             "rx2",  "tx2",
1419                                             "rx3",  "tx3",
1420                                             "rx4",  "tx4",
1421                                             "rx5",  "tx5",
1422                                             "rx6",  "tx6",
1423                                             "rx7",  "tx7",
1424                                             "rx8",  "tx8",
1425                                             "rx9",  "tx9",
1426                                             "rx10", "tx10";
1427                                 status = "disabled";
1428                         };
1430                         tegra_i2s1: i2s@702d1000 {
1431                                 compatible = "nvidia,tegra210-i2s";
1432                                 reg = <0x702d1000 0x100>;
1433                                 clocks = <&tegra_car TEGRA210_CLK_I2S0>,
1434                                          <&tegra_car TEGRA210_CLK_I2S0_SYNC>;
1435                                 clock-names = "i2s", "sync_input";
1436                                 assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>;
1437                                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
1438                                 assigned-clock-rates = <1536000>;
1439                                 sound-name-prefix = "I2S1";
1440                                 status = "disabled";
1441                         };
1443                         tegra_i2s2: i2s@702d1100 {
1444                                 compatible = "nvidia,tegra210-i2s";
1445                                 reg = <0x702d1100 0x100>;
1446                                 clocks = <&tegra_car TEGRA210_CLK_I2S1>,
1447                                          <&tegra_car TEGRA210_CLK_I2S1_SYNC>;
1448                                 clock-names = "i2s", "sync_input";
1449                                 assigned-clocks = <&tegra_car TEGRA210_CLK_I2S1>;
1450                                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
1451                                 assigned-clock-rates = <1536000>;
1452                                 sound-name-prefix = "I2S2";
1453                                 status = "disabled";
1454                         };
1456                         tegra_i2s3: i2s@702d1200 {
1457                                 compatible = "nvidia,tegra210-i2s";
1458                                 reg = <0x702d1200 0x100>;
1459                                 clocks = <&tegra_car TEGRA210_CLK_I2S2>,
1460                                          <&tegra_car TEGRA210_CLK_I2S2_SYNC>;
1461                                 clock-names = "i2s", "sync_input";
1462                                 assigned-clocks = <&tegra_car TEGRA210_CLK_I2S2>;
1463                                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
1464                                 assigned-clock-rates = <1536000>;
1465                                 sound-name-prefix = "I2S3";
1466                                 status = "disabled";
1467                         };
1469                         tegra_i2s4: i2s@702d1300 {
1470                                 compatible = "nvidia,tegra210-i2s";
1471                                 reg = <0x702d1300 0x100>;
1472                                 clocks = <&tegra_car TEGRA210_CLK_I2S3>,
1473                                          <&tegra_car TEGRA210_CLK_I2S3_SYNC>;
1474                                 clock-names = "i2s", "sync_input";
1475                                 assigned-clocks = <&tegra_car TEGRA210_CLK_I2S3>;
1476                                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
1477                                 assigned-clock-rates = <1536000>;
1478                                 sound-name-prefix = "I2S4";
1479                                 status = "disabled";
1480                         };
1482                         tegra_i2s5: i2s@702d1400 {
1483                                 compatible = "nvidia,tegra210-i2s";
1484                                 reg = <0x702d1400 0x100>;
1485                                 clocks = <&tegra_car TEGRA210_CLK_I2S4>,
1486                                          <&tegra_car TEGRA210_CLK_I2S4_SYNC>;
1487                                 clock-names = "i2s", "sync_input";
1488                                 assigned-clocks = <&tegra_car TEGRA210_CLK_I2S4>;
1489                                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
1490                                 assigned-clock-rates = <1536000>;
1491                                 sound-name-prefix = "I2S5";
1492                                 status = "disabled";
1493                         };
1495                         tegra_dmic1: dmic@702d4000 {
1496                                 compatible = "nvidia,tegra210-dmic";
1497                                 reg = <0x702d4000 0x100>;
1498                                 clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
1499                                 clock-names = "dmic";
1500                                 assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
1501                                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
1502                                 assigned-clock-rates = <3072000>;
1503                                 sound-name-prefix = "DMIC1";
1504                                 status = "disabled";
1505                         };
1507                         tegra_dmic2: dmic@702d4100 {
1508                                 compatible = "nvidia,tegra210-dmic";
1509                                 reg = <0x702d4100 0x100>;
1510                                 clocks = <&tegra_car TEGRA210_CLK_DMIC2>;
1511                                 clock-names = "dmic";
1512                                 assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC2>;
1513                                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
1514                                 assigned-clock-rates = <3072000>;
1515                                 sound-name-prefix = "DMIC2";
1516                                 status = "disabled";
1517                         };
1519                         tegra_dmic3: dmic@702d4200 {
1520                                 compatible = "nvidia,tegra210-dmic";
1521                                 reg = <0x702d4200 0x100>;
1522                                 clocks = <&tegra_car TEGRA210_CLK_DMIC3>;
1523                                 clock-names = "dmic";
1524                                 assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC3>;
1525                                 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
1526                                 assigned-clock-rates = <3072000>;
1527                                 sound-name-prefix = "DMIC3";
1528                                 status = "disabled";
1529                         };
1530                 };
1531         };
1533         spi@70410000 {
1534                 compatible = "nvidia,tegra210-qspi";
1535                 reg = <0x0 0x70410000 0x0 0x1000>;
1536                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1537                 #address-cells = <1>;
1538                 #size-cells = <0>;
1539                 clocks = <&tegra_car TEGRA210_CLK_QSPI>;
1540                 clock-names = "qspi";
1541                 resets = <&tegra_car 211>;
1542                 reset-names = "qspi";
1543                 dmas = <&apbdma 5>, <&apbdma 5>;
1544                 dma-names = "rx", "tx";
1545                 status = "disabled";
1546         };
1548         usb@7d000000 {
1549                 compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1550                 reg = <0x0 0x7d000000 0x0 0x4000>;
1551                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1552                 phy_type = "utmi";
1553                 clocks = <&tegra_car TEGRA210_CLK_USBD>;
1554                 clock-names = "usb";
1555                 resets = <&tegra_car 22>;
1556                 reset-names = "usb";
1557                 nvidia,phy = <&phy1>;
1558                 status = "disabled";
1559         };
1561         phy1: usb-phy@7d000000 {
1562                 compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
1563                 reg = <0x0 0x7d000000 0x0 0x4000>,
1564                       <0x0 0x7d000000 0x0 0x4000>;
1565                 phy_type = "utmi";
1566                 clocks = <&tegra_car TEGRA210_CLK_USBD>,
1567                          <&tegra_car TEGRA210_CLK_PLL_U>,
1568                          <&tegra_car TEGRA210_CLK_USBD>;
1569                 clock-names = "reg", "pll_u", "utmi-pads";
1570                 resets = <&tegra_car 22>, <&tegra_car 22>;
1571                 reset-names = "usb", "utmi-pads";
1572                 nvidia,hssync-start-delay = <0>;
1573                 nvidia,idle-wait-delay = <17>;
1574                 nvidia,elastic-limit = <16>;
1575                 nvidia,term-range-adj = <6>;
1576                 nvidia,xcvr-setup = <9>;
1577                 nvidia,xcvr-lsfslew = <0>;
1578                 nvidia,xcvr-lsrslew = <3>;
1579                 nvidia,hssquelch-level = <2>;
1580                 nvidia,hsdiscon-level = <5>;
1581                 nvidia,xcvr-hsslew = <12>;
1582                 nvidia,has-utmi-pad-registers;
1583                 status = "disabled";
1584         };
1586         usb@7d004000 {
1587                 compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1588                 reg = <0x0 0x7d004000 0x0 0x4000>;
1589                 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1590                 phy_type = "utmi";
1591                 clocks = <&tegra_car TEGRA210_CLK_USB2>;
1592                 clock-names = "usb";
1593                 resets = <&tegra_car 58>;
1594                 reset-names = "usb";
1595                 nvidia,phy = <&phy2>;
1596                 status = "disabled";
1597         };
1599         phy2: usb-phy@7d004000 {
1600                 compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
1601                 reg = <0x0 0x7d004000 0x0 0x4000>,
1602                       <0x0 0x7d000000 0x0 0x4000>;
1603                 phy_type = "utmi";
1604                 clocks = <&tegra_car TEGRA210_CLK_USB2>,
1605                          <&tegra_car TEGRA210_CLK_PLL_U>,
1606                          <&tegra_car TEGRA210_CLK_USBD>;
1607                 clock-names = "reg", "pll_u", "utmi-pads";
1608                 resets = <&tegra_car 58>, <&tegra_car 22>;
1609                 reset-names = "usb", "utmi-pads";
1610                 nvidia,hssync-start-delay = <0>;
1611                 nvidia,idle-wait-delay = <17>;
1612                 nvidia,elastic-limit = <16>;
1613                 nvidia,term-range-adj = <6>;
1614                 nvidia,xcvr-setup = <9>;
1615                 nvidia,xcvr-lsfslew = <0>;
1616                 nvidia,xcvr-lsrslew = <3>;
1617                 nvidia,hssquelch-level = <2>;
1618                 nvidia,hsdiscon-level = <5>;
1619                 nvidia,xcvr-hsslew = <12>;
1620                 status = "disabled";
1621         };
1623         cpus {
1624                 #address-cells = <1>;
1625                 #size-cells = <0>;
1627                 cpu@0 {
1628                         device_type = "cpu";
1629                         compatible = "arm,cortex-a57";
1630                         reg = <0>;
1631                         clocks = <&tegra_car TEGRA210_CLK_CCLK_G>,
1632                                  <&tegra_car TEGRA210_CLK_PLL_X>,
1633                                  <&tegra_car TEGRA210_CLK_PLL_P_OUT4>,
1634                                  <&dfll>;
1635                         clock-names = "cpu_g", "pll_x", "pll_p", "dfll";
1636                         clock-latency = <300000>;
1637                         cpu-idle-states = <&CPU_SLEEP>;
1638                         next-level-cache = <&L2>;
1639                 };
1641                 cpu@1 {
1642                         device_type = "cpu";
1643                         compatible = "arm,cortex-a57";
1644                         reg = <1>;
1645                         cpu-idle-states = <&CPU_SLEEP>;
1646                         next-level-cache = <&L2>;
1647                 };
1649                 cpu@2 {
1650                         device_type = "cpu";
1651                         compatible = "arm,cortex-a57";
1652                         reg = <2>;
1653                         cpu-idle-states = <&CPU_SLEEP>;
1654                         next-level-cache = <&L2>;
1655                 };
1657                 cpu@3 {
1658                         device_type = "cpu";
1659                         compatible = "arm,cortex-a57";
1660                         reg = <3>;
1661                         cpu-idle-states = <&CPU_SLEEP>;
1662                         next-level-cache = <&L2>;
1663                 };
1665                 idle-states {
1666                         entry-method = "psci";
1668                         CPU_SLEEP: cpu-sleep {
1669                                 compatible = "arm,idle-state";
1670                                 arm,psci-suspend-param = <0x40000007>;
1671                                 entry-latency-us = <100>;
1672                                 exit-latency-us = <30>;
1673                                 min-residency-us = <1000>;
1674                                 wakeup-latency-us = <130>;
1675                                 idle-state-name = "cpu-sleep";
1676                                 status = "disabled";
1677                         };
1678                 };
1680                 L2: l2-cache {
1681                         compatible = "cache";
1682                 };
1683         };
1685         pmu {
1686                 compatible = "arm,armv8-pmuv3";
1687                 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1688                              <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1689                              <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1690                              <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1691                 interrupt-affinity = <&{/cpus/cpu@0} &{/cpus/cpu@1}
1692                                       &{/cpus/cpu@2} &{/cpus/cpu@3}>;
1693         };
1695         timer {
1696                 compatible = "arm,armv8-timer";
1697                 interrupts = <GIC_PPI 13
1698                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1699                              <GIC_PPI 14
1700                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1701                              <GIC_PPI 11
1702                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1703                              <GIC_PPI 10
1704                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1705                 interrupt-parent = <&gic>;
1706                 arm,no-tick-in-suspend;
1707         };
1709         soctherm: thermal-sensor@700e2000 {
1710                 compatible = "nvidia,tegra210-soctherm";
1711                 reg = <0x0 0x700e2000 0x0 0x600>, /* SOC_THERM reg_base */
1712                       <0x0 0x60006000 0x0 0x400>; /* CAR reg_base */
1713                 reg-names = "soctherm-reg", "car-reg";
1714                 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
1715                              <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
1716                 interrupt-names = "thermal", "edp";
1717                 clocks = <&tegra_car TEGRA210_CLK_TSENSOR>,
1718                         <&tegra_car TEGRA210_CLK_SOC_THERM>;
1719                 clock-names = "tsensor", "soctherm";
1720                 resets = <&tegra_car 78>;
1721                 reset-names = "soctherm";
1722                 #thermal-sensor-cells = <1>;
1724                 throttle-cfgs {
1725                         throttle_heavy: heavy {
1726                                 nvidia,priority = <100>;
1727                                 nvidia,cpu-throt-percent = <85>;
1728                                 nvidia,gpu-throt-level = <TEGRA_SOCTHERM_THROT_LEVEL_HIGH>;
1730                                 #cooling-cells = <2>;
1731                         };
1732                 };
1733         };
1735         thermal-zones {
1736                 cpu {
1737                         polling-delay-passive = <1000>;
1738                         polling-delay = <0>;
1740                         thermal-sensors =
1741                                 <&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
1743                         trips {
1744                                 cpu-shutdown-trip {
1745                                         temperature = <102500>;
1746                                         hysteresis = <0>;
1747                                         type = "critical";
1748                                 };
1750                                 cpu_throttle_trip: throttle-trip {
1751                                         temperature = <98500>;
1752                                         hysteresis = <1000>;
1753                                         type = "hot";
1754                                 };
1755                         };
1757                         cooling-maps {
1758                                 map0 {
1759                                         trip = <&cpu_throttle_trip>;
1760                                         cooling-device = <&throttle_heavy 1 1>;
1761                                 };
1762                         };
1763                 };
1765                 mem {
1766                         polling-delay-passive = <0>;
1767                         polling-delay = <0>;
1769                         thermal-sensors =
1770                                 <&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
1772                         trips {
1773                                 dram_nominal: mem-nominal-trip {
1774                                         temperature = <50000>;
1775                                         hysteresis = <1000>;
1776                                         type = "passive";
1777                                 };
1779                                 dram_throttle: mem-throttle-trip {
1780                                         temperature = <70000>;
1781                                         hysteresis = <1000>;
1782                                         type = "active";
1783                                 };
1785                                 mem-hot-trip {
1786                                         temperature = <100000>;
1787                                         hysteresis = <1000>;
1788                                         type = "hot";
1789                                 };
1791                                 mem-shutdown-trip {
1792                                         temperature = <103000>;
1793                                         hysteresis = <0>;
1794                                         type = "critical";
1795                                 };
1796                         };
1798                         cooling-maps {
1799                                 dram-passive {
1800                                         cooling-device = <&emc 0 0>;
1801                                         trip = <&dram_nominal>;
1802                                 };
1804                                 dram-active {
1805                                         cooling-device = <&emc 1 1>;
1806                                         trip = <&dram_throttle>;
1807                                 };
1808                         };
1809                 };
1811                 gpu {
1812                         polling-delay-passive = <1000>;
1813                         polling-delay = <0>;
1815                         thermal-sensors =
1816                                 <&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>;
1818                         trips {
1819                                 gpu-shutdown-trip {
1820                                         temperature = <103000>;
1821                                         hysteresis = <0>;
1822                                         type = "critical";
1823                                 };
1825                                 gpu_throttle_trip: throttle-trip {
1826                                         temperature = <100000>;
1827                                         hysteresis = <1000>;
1828                                         type = "hot";
1829                                 };
1830                         };
1832                         cooling-maps {
1833                                 map0 {
1834                                         trip = <&gpu_throttle_trip>;
1835                                         cooling-device = <&throttle_heavy 1 1>;
1836                                 };
1837                         };
1838                 };
1840                 pllx {
1841                         polling-delay-passive = <0>;
1842                         polling-delay = <0>;
1844                         thermal-sensors =
1845                                 <&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>;
1847                         trips {
1848                                 pllx-shutdown-trip {
1849                                         temperature = <103000>;
1850                                         hysteresis = <0>;
1851                                         type = "critical";
1852                                 };
1854                                 pllx-throttle-trip {
1855                                         temperature = <100000>;
1856                                         hysteresis = <1000>;
1857                                         type = "hot";
1858                                 };
1859                         };
1861                         cooling-maps {
1862                                 /*
1863                                  * There are currently no cooling maps,
1864                                  * because there are no cooling devices.
1865                                  */
1866                         };
1867                 };
1868         };