Merge tag 'for-linus-5.15-1' of git://github.com/cminyard/linux-ipmi
[linux-2.6-microblaze.git] / arch / arm / boot / dts / tegra30.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/tegra30-car.h>
3 #include <dt-bindings/gpio/tegra-gpio.h>
4 #include <dt-bindings/memory/tegra30-mc.h>
5 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
6 #include <dt-bindings/interrupt-controller/arm-gic.h>
7 #include <dt-bindings/soc/tegra-pmc.h>
8 #include <dt-bindings/thermal/thermal.h>
9
10 #include "tegra30-peripherals-opp.dtsi"
11
12 / {
13         compatible = "nvidia,tegra30";
14         interrupt-parent = <&lic>;
15         #address-cells = <1>;
16         #size-cells = <1>;
17
18         memory@80000000 {
19                 device_type = "memory";
20                 reg = <0x80000000 0x0>;
21         };
22
23         pcie@3000 {
24                 compatible = "nvidia,tegra30-pcie";
25                 device_type = "pci";
26                 reg = <0x00003000 0x00000800>, /* PADS registers */
27                       <0x00003800 0x00000200>, /* AFI registers */
28                       <0x10000000 0x10000000>; /* configuration space */
29                 reg-names = "pads", "afi", "cs";
30                 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
31                              <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
32                 interrupt-names = "intr", "msi";
33
34                 #interrupt-cells = <1>;
35                 interrupt-map-mask = <0 0 0 0>;
36                 interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
37
38                 bus-range = <0x00 0xff>;
39                 #address-cells = <3>;
40                 #size-cells = <2>;
41
42                 ranges = <0x02000000 0 0x00000000 0x00000000 0 0x00001000>, /* port 0 configuration space */
43                          <0x02000000 0 0x00001000 0x00001000 0 0x00001000>, /* port 1 configuration space */
44                          <0x02000000 0 0x00004000 0x00004000 0 0x00001000>, /* port 2 configuration space */
45                          <0x01000000 0 0          0x02000000 0 0x00010000>, /* downstream I/O */
46                          <0x02000000 0 0x20000000 0x20000000 0 0x08000000>, /* non-prefetchable memory */
47                          <0x42000000 0 0x28000000 0x28000000 0 0x18000000>; /* prefetchable memory */
48
49                 clocks = <&tegra_car TEGRA30_CLK_PCIE>,
50                          <&tegra_car TEGRA30_CLK_AFI>,
51                          <&tegra_car TEGRA30_CLK_PLL_E>,
52                          <&tegra_car TEGRA30_CLK_CML0>;
53                 clock-names = "pex", "afi", "pll_e", "cml";
54                 resets = <&tegra_car 70>,
55                          <&tegra_car 72>,
56                          <&tegra_car 74>;
57                 reset-names = "pex", "afi", "pcie_x";
58                 status = "disabled";
59
60                 pci@1,0 {
61                         device_type = "pci";
62                         assigned-addresses = <0x82000800 0 0x00000000 0 0x1000>;
63                         reg = <0x000800 0 0 0 0>;
64                         bus-range = <0x00 0xff>;
65                         status = "disabled";
66
67                         #address-cells = <3>;
68                         #size-cells = <2>;
69                         ranges;
70
71                         nvidia,num-lanes = <2>;
72                 };
73
74                 pci@2,0 {
75                         device_type = "pci";
76                         assigned-addresses = <0x82001000 0 0x00001000 0 0x1000>;
77                         reg = <0x001000 0 0 0 0>;
78                         bus-range = <0x00 0xff>;
79                         status = "disabled";
80
81                         #address-cells = <3>;
82                         #size-cells = <2>;
83                         ranges;
84
85                         nvidia,num-lanes = <2>;
86                 };
87
88                 pci@3,0 {
89                         device_type = "pci";
90                         assigned-addresses = <0x82001800 0 0x00004000 0 0x1000>;
91                         reg = <0x001800 0 0 0 0>;
92                         bus-range = <0x00 0xff>;
93                         status = "disabled";
94
95                         #address-cells = <3>;
96                         #size-cells = <2>;
97                         ranges;
98
99                         nvidia,num-lanes = <2>;
100                 };
101         };
102
103         sram@40000000 {
104                 compatible = "mmio-sram";
105                 reg = <0x40000000 0x40000>;
106                 #address-cells = <1>;
107                 #size-cells = <1>;
108                 ranges = <0 0x40000000 0x40000>;
109
110                 vde_pool: sram@400 {
111                         reg = <0x400 0x3fc00>;
112                         pool;
113                 };
114         };
115
116         host1x@50000000 {
117                 compatible = "nvidia,tegra30-host1x";
118                 reg = <0x50000000 0x00024000>;
119                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
120                              <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
121                 interrupt-names = "syncpt", "host1x";
122                 clocks = <&tegra_car TEGRA30_CLK_HOST1X>;
123                 clock-names = "host1x";
124                 resets = <&tegra_car 28>;
125                 reset-names = "host1x";
126                 iommus = <&mc TEGRA_SWGROUP_HC>;
127
128                 #address-cells = <1>;
129                 #size-cells = <1>;
130
131                 ranges = <0x54000000 0x54000000 0x04000000>;
132
133                 mpe@54040000 {
134                         compatible = "nvidia,tegra30-mpe";
135                         reg = <0x54040000 0x00040000>;
136                         interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
137                         clocks = <&tegra_car TEGRA30_CLK_MPE>;
138                         resets = <&tegra_car 60>;
139                         reset-names = "mpe";
140
141                         iommus = <&mc TEGRA_SWGROUP_MPE>;
142                 };
143
144                 vi@54080000 {
145                         compatible = "nvidia,tegra30-vi";
146                         reg = <0x54080000 0x00040000>;
147                         interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
148                         clocks = <&tegra_car TEGRA30_CLK_VI>;
149                         resets = <&tegra_car 20>;
150                         reset-names = "vi";
151
152                         iommus = <&mc TEGRA_SWGROUP_VI>;
153                 };
154
155                 epp@540c0000 {
156                         compatible = "nvidia,tegra30-epp";
157                         reg = <0x540c0000 0x00040000>;
158                         interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
159                         clocks = <&tegra_car TEGRA30_CLK_EPP>;
160                         resets = <&tegra_car 19>;
161                         reset-names = "epp";
162
163                         iommus = <&mc TEGRA_SWGROUP_EPP>;
164                 };
165
166                 isp@54100000 {
167                         compatible = "nvidia,tegra30-isp";
168                         reg = <0x54100000 0x00040000>;
169                         interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
170                         clocks = <&tegra_car TEGRA30_CLK_ISP>;
171                         resets = <&tegra_car 23>;
172                         reset-names = "isp";
173
174                         iommus = <&mc TEGRA_SWGROUP_ISP>;
175                 };
176
177                 gr2d@54140000 {
178                         compatible = "nvidia,tegra30-gr2d";
179                         reg = <0x54140000 0x00040000>;
180                         interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
181                         clocks = <&tegra_car TEGRA30_CLK_GR2D>;
182                         resets = <&tegra_car 21>;
183                         reset-names = "2d";
184
185                         iommus = <&mc TEGRA_SWGROUP_G2>;
186                 };
187
188                 gr3d@54180000 {
189                         compatible = "nvidia,tegra30-gr3d";
190                         reg = <0x54180000 0x00040000>;
191                         clocks = <&tegra_car TEGRA30_CLK_GR3D>,
192                                  <&tegra_car TEGRA30_CLK_GR3D2>;
193                         clock-names = "3d", "3d2";
194                         resets = <&tegra_car 24>,
195                                  <&tegra_car 98>;
196                         reset-names = "3d", "3d2";
197
198                         iommus = <&mc TEGRA_SWGROUP_NV>,
199                                  <&mc TEGRA_SWGROUP_NV2>;
200                 };
201
202                 dc@54200000 {
203                         compatible = "nvidia,tegra30-dc";
204                         reg = <0x54200000 0x00040000>;
205                         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
206                         clocks = <&tegra_car TEGRA30_CLK_DISP1>,
207                                  <&tegra_car TEGRA30_CLK_PLL_P>;
208                         clock-names = "dc", "parent";
209                         resets = <&tegra_car 27>;
210                         reset-names = "dc";
211
212                         iommus = <&mc TEGRA_SWGROUP_DC>;
213
214                         nvidia,head = <0>;
215
216                         interconnects = <&mc TEGRA30_MC_DISPLAY0A &emc>,
217                                         <&mc TEGRA30_MC_DISPLAY0B &emc>,
218                                         <&mc TEGRA30_MC_DISPLAY1B &emc>,
219                                         <&mc TEGRA30_MC_DISPLAY0C &emc>,
220                                         <&mc TEGRA30_MC_DISPLAYHC &emc>;
221                         interconnect-names = "wina",
222                                              "winb",
223                                              "winb-vfilter",
224                                              "winc",
225                                              "cursor";
226
227                         rgb {
228                                 status = "disabled";
229                         };
230                 };
231
232                 dc@54240000 {
233                         compatible = "nvidia,tegra30-dc";
234                         reg = <0x54240000 0x00040000>;
235                         interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
236                         clocks = <&tegra_car TEGRA30_CLK_DISP2>,
237                                  <&tegra_car TEGRA30_CLK_PLL_P>;
238                         clock-names = "dc", "parent";
239                         resets = <&tegra_car 26>;
240                         reset-names = "dc";
241
242                         iommus = <&mc TEGRA_SWGROUP_DCB>;
243
244                         nvidia,head = <1>;
245
246                         interconnects = <&mc TEGRA30_MC_DISPLAY0AB &emc>,
247                                         <&mc TEGRA30_MC_DISPLAY0BB &emc>,
248                                         <&mc TEGRA30_MC_DISPLAY1BB &emc>,
249                                         <&mc TEGRA30_MC_DISPLAY0CB &emc>,
250                                         <&mc TEGRA30_MC_DISPLAYHCB &emc>;
251                         interconnect-names = "wina",
252                                              "winb",
253                                              "winb-vfilter",
254                                              "winc",
255                                              "cursor";
256
257                         rgb {
258                                 status = "disabled";
259                         };
260                 };
261
262                 hdmi@54280000 {
263                         compatible = "nvidia,tegra30-hdmi";
264                         reg = <0x54280000 0x00040000>;
265                         interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
266                         clocks = <&tegra_car TEGRA30_CLK_HDMI>,
267                                  <&tegra_car TEGRA30_CLK_PLL_D2_OUT0>;
268                         clock-names = "hdmi", "parent";
269                         resets = <&tegra_car 51>;
270                         reset-names = "hdmi";
271                         status = "disabled";
272                 };
273
274                 tvo@542c0000 {
275                         compatible = "nvidia,tegra30-tvo";
276                         reg = <0x542c0000 0x00040000>;
277                         interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
278                         clocks = <&tegra_car TEGRA30_CLK_TVO>;
279                         status = "disabled";
280                 };
281
282                 dsi@54300000 {
283                         compatible = "nvidia,tegra30-dsi";
284                         reg = <0x54300000 0x00040000>;
285                         clocks = <&tegra_car TEGRA30_CLK_DSIA>,
286                                  <&tegra_car TEGRA30_CLK_PLL_D_OUT0>;
287                         clock-names = "dsi", "parent";
288                         resets = <&tegra_car 48>;
289                         reset-names = "dsi";
290                         status = "disabled";
291                 };
292
293                 dsi@54400000 {
294                         compatible = "nvidia,tegra30-dsi";
295                         reg = <0x54400000 0x00040000>;
296                         clocks = <&tegra_car TEGRA30_CLK_DSIB>,
297                                  <&tegra_car TEGRA30_CLK_PLL_D_OUT0>;
298                         clock-names = "dsi", "parent";
299                         resets = <&tegra_car 84>;
300                         reset-names = "dsi";
301                         status = "disabled";
302                 };
303         };
304
305         timer@50040600 {
306                 compatible = "arm,cortex-a9-twd-timer";
307                 reg = <0x50040600 0x20>;
308                 interrupt-parent = <&intc>;
309                 interrupts = <GIC_PPI 13
310                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
311                 clocks = <&tegra_car TEGRA30_CLK_TWD>;
312         };
313
314         intc: interrupt-controller@50041000 {
315                 compatible = "arm,cortex-a9-gic";
316                 reg = <0x50041000 0x1000>,
317                       <0x50040100 0x0100>;
318                 interrupt-controller;
319                 #interrupt-cells = <3>;
320                 interrupt-parent = <&intc>;
321         };
322
323         cache-controller@50043000 {
324                 compatible = "arm,pl310-cache";
325                 reg = <0x50043000 0x1000>;
326                 arm,data-latency = <6 6 2>;
327                 arm,tag-latency = <5 5 2>;
328                 cache-unified;
329                 cache-level = <2>;
330         };
331
332         lic: interrupt-controller@60004000 {
333                 compatible = "nvidia,tegra30-ictlr";
334                 reg = <0x60004000 0x100>,
335                       <0x60004100 0x50>,
336                       <0x60004200 0x50>,
337                       <0x60004300 0x50>,
338                       <0x60004400 0x50>;
339                 interrupt-controller;
340                 #interrupt-cells = <3>;
341                 interrupt-parent = <&intc>;
342         };
343
344         timer@60005000 {
345                 compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
346                 reg = <0x60005000 0x400>;
347                 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
348                              <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
349                              <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
350                              <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
351                              <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
352                              <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
353                 clocks = <&tegra_car TEGRA30_CLK_TIMER>;
354         };
355
356         tegra_car: clock@60006000 {
357                 compatible = "nvidia,tegra30-car";
358                 reg = <0x60006000 0x1000>;
359                 #clock-cells = <1>;
360                 #reset-cells = <1>;
361         };
362
363         flow-controller@60007000 {
364                 compatible = "nvidia,tegra30-flowctrl";
365                 reg = <0x60007000 0x1000>;
366         };
367
368         apbdma: dma@6000a000 {
369                 compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma";
370                 reg = <0x6000a000 0x1400>;
371                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
372                              <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
373                              <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
374                              <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
375                              <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
376                              <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
377                              <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
378                              <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
379                              <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
380                              <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
381                              <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
382                              <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
383                              <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
384                              <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
385                              <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
386                              <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
387                              <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
388                              <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
389                              <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
390                              <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
391                              <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
392                              <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
393                              <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
394                              <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
395                              <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
396                              <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
397                              <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
398                              <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
399                              <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
400                              <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
401                              <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
402                              <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
403                 clocks = <&tegra_car TEGRA30_CLK_APBDMA>;
404                 resets = <&tegra_car 34>;
405                 reset-names = "dma";
406                 #dma-cells = <1>;
407         };
408
409         ahb: ahb@6000c000 {
410                 compatible = "nvidia,tegra30-ahb";
411                 reg = <0x6000c000 0x150>; /* AHB Arbitration + Gizmo Controller */
412         };
413
414         actmon: actmon@6000c800 {
415                 compatible = "nvidia,tegra30-actmon";
416                 reg = <0x6000c800 0x400>;
417                 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
418                 clocks = <&tegra_car TEGRA30_CLK_ACTMON>,
419                          <&tegra_car TEGRA30_CLK_EMC>;
420                 clock-names = "actmon", "emc";
421                 resets = <&tegra_car TEGRA30_CLK_ACTMON>;
422                 reset-names = "actmon";
423                 operating-points-v2 = <&emc_bw_dfs_opp_table>;
424                 interconnects = <&mc TEGRA30_MC_MPCORER &emc>;
425                 interconnect-names = "cpu-read";
426                 #cooling-cells = <2>;
427         };
428
429         gpio: gpio@6000d000 {
430                 compatible = "nvidia,tegra30-gpio";
431                 reg = <0x6000d000 0x1000>;
432                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
433                              <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
434                              <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
435                              <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
436                              <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
437                              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
438                              <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
439                              <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
440                 #gpio-cells = <2>;
441                 gpio-controller;
442                 #interrupt-cells = <2>;
443                 interrupt-controller;
444                 /*
445                 gpio-ranges = <&pinmux 0 0 248>;
446                 */
447         };
448
449         vde@6001a000 {
450                 compatible = "nvidia,tegra30-vde", "nvidia,tegra20-vde";
451                 reg = <0x6001a000 0x1000>, /* Syntax Engine */
452                       <0x6001b000 0x1000>, /* Video Bitstream Engine */
453                       <0x6001c000  0x100>, /* Macroblock Engine */
454                       <0x6001c200  0x100>, /* Post-processing Engine */
455                       <0x6001c400  0x100>, /* Motion Compensation Engine */
456                       <0x6001c600  0x100>, /* Transform Engine */
457                       <0x6001c800  0x100>, /* Pixel prediction block */
458                       <0x6001ca00  0x100>, /* Video DMA */
459                       <0x6001d800  0x400>; /* Video frame controls */
460                 reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
461                             "tfe", "ppb", "vdma", "frameid";
462                 iram = <&vde_pool>; /* IRAM region */
463                 interrupts = <GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
464                              <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
465                              <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
466                 interrupt-names = "sync-token", "bsev", "sxe";
467                 clocks = <&tegra_car TEGRA30_CLK_VDE>;
468                 reset-names = "vde", "mc";
469                 resets = <&tegra_car 61>, <&mc TEGRA30_MC_RESET_VDE>;
470                 iommus = <&mc TEGRA_SWGROUP_VDE>;
471         };
472
473         apbmisc@70000800 {
474                 compatible = "nvidia,tegra30-apbmisc", "nvidia,tegra20-apbmisc";
475                 reg = <0x70000800 0x64>, /* Chip revision */
476                       <0x70000008 0x04>; /* Strapping options */
477         };
478
479         pinmux: pinmux@70000868 {
480                 compatible = "nvidia,tegra30-pinmux";
481                 reg = <0x70000868 0x0d4>, /* Pad control registers */
482                       <0x70003000 0x3e4>; /* Mux registers */
483         };
484
485         /*
486          * There are two serial driver i.e. 8250 based simple serial
487          * driver and APB DMA based serial driver for higher baudrate
488          * and performace. To enable the 8250 based driver, the compatible
489          * is "nvidia,tegra30-uart", "nvidia,tegra20-uart" and to enable
490          * the APB DMA based serial driver, the compatible is
491          * "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart".
492          */
493         uarta: serial@70006000 {
494                 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
495                 reg = <0x70006000 0x40>;
496                 reg-shift = <2>;
497                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
498                 clocks = <&tegra_car TEGRA30_CLK_UARTA>;
499                 resets = <&tegra_car 6>;
500                 reset-names = "serial";
501                 dmas = <&apbdma 8>, <&apbdma 8>;
502                 dma-names = "rx", "tx";
503                 status = "disabled";
504         };
505
506         uartb: serial@70006040 {
507                 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
508                 reg = <0x70006040 0x40>;
509                 reg-shift = <2>;
510                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
511                 clocks = <&tegra_car TEGRA30_CLK_UARTB>;
512                 resets = <&tegra_car 7>;
513                 reset-names = "serial";
514                 dmas = <&apbdma 9>, <&apbdma 9>;
515                 dma-names = "rx", "tx";
516                 status = "disabled";
517         };
518
519         uartc: serial@70006200 {
520                 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
521                 reg = <0x70006200 0x100>;
522                 reg-shift = <2>;
523                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
524                 clocks = <&tegra_car TEGRA30_CLK_UARTC>;
525                 resets = <&tegra_car 55>;
526                 reset-names = "serial";
527                 dmas = <&apbdma 10>, <&apbdma 10>;
528                 dma-names = "rx", "tx";
529                 status = "disabled";
530         };
531
532         uartd: serial@70006300 {
533                 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
534                 reg = <0x70006300 0x100>;
535                 reg-shift = <2>;
536                 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
537                 clocks = <&tegra_car TEGRA30_CLK_UARTD>;
538                 resets = <&tegra_car 65>;
539                 reset-names = "serial";
540                 dmas = <&apbdma 19>, <&apbdma 19>;
541                 dma-names = "rx", "tx";
542                 status = "disabled";
543         };
544
545         uarte: serial@70006400 {
546                 compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
547                 reg = <0x70006400 0x100>;
548                 reg-shift = <2>;
549                 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
550                 clocks = <&tegra_car TEGRA30_CLK_UARTE>;
551                 resets = <&tegra_car 66>;
552                 reset-names = "serial";
553                 dmas = <&apbdma 20>, <&apbdma 20>;
554                 dma-names = "rx", "tx";
555                 status = "disabled";
556         };
557
558         gmi@70009000 {
559                 compatible = "nvidia,tegra30-gmi";
560                 reg = <0x70009000 0x1000>;
561                 #address-cells = <2>;
562                 #size-cells = <1>;
563                 ranges = <0 0 0x48000000 0x7ffffff>;
564                 clocks = <&tegra_car TEGRA30_CLK_NOR>;
565                 clock-names = "gmi";
566                 resets = <&tegra_car 42>;
567                 reset-names = "gmi";
568                 status = "disabled";
569         };
570
571         pwm: pwm@7000a000 {
572                 compatible = "nvidia,tegra30-pwm", "nvidia,tegra20-pwm";
573                 reg = <0x7000a000 0x100>;
574                 #pwm-cells = <2>;
575                 clocks = <&tegra_car TEGRA30_CLK_PWM>;
576                 resets = <&tegra_car 17>;
577                 reset-names = "pwm";
578                 status = "disabled";
579         };
580
581         rtc@7000e000 {
582                 compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc";
583                 reg = <0x7000e000 0x100>;
584                 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
585                 clocks = <&tegra_car TEGRA30_CLK_RTC>;
586         };
587
588         i2c@7000c000 {
589                 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
590                 reg = <0x7000c000 0x100>;
591                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
592                 #address-cells = <1>;
593                 #size-cells = <0>;
594                 clocks = <&tegra_car TEGRA30_CLK_I2C1>,
595                          <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
596                 clock-names = "div-clk", "fast-clk";
597                 resets = <&tegra_car 12>;
598                 reset-names = "i2c";
599                 dmas = <&apbdma 21>, <&apbdma 21>;
600                 dma-names = "rx", "tx";
601                 status = "disabled";
602         };
603
604         i2c@7000c400 {
605                 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
606                 reg = <0x7000c400 0x100>;
607                 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
608                 #address-cells = <1>;
609                 #size-cells = <0>;
610                 clocks = <&tegra_car TEGRA30_CLK_I2C2>,
611                          <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
612                 clock-names = "div-clk", "fast-clk";
613                 resets = <&tegra_car 54>;
614                 reset-names = "i2c";
615                 dmas = <&apbdma 22>, <&apbdma 22>;
616                 dma-names = "rx", "tx";
617                 status = "disabled";
618         };
619
620         i2c@7000c500 {
621                 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
622                 reg = <0x7000c500 0x100>;
623                 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
624                 #address-cells = <1>;
625                 #size-cells = <0>;
626                 clocks = <&tegra_car TEGRA30_CLK_I2C3>,
627                          <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
628                 clock-names = "div-clk", "fast-clk";
629                 resets = <&tegra_car 67>;
630                 reset-names = "i2c";
631                 dmas = <&apbdma 23>, <&apbdma 23>;
632                 dma-names = "rx", "tx";
633                 status = "disabled";
634         };
635
636         i2c@7000c700 {
637                 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
638                 reg = <0x7000c700 0x100>;
639                 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
640                 #address-cells = <1>;
641                 #size-cells = <0>;
642                 clocks = <&tegra_car TEGRA30_CLK_I2C4>,
643                          <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
644                 resets = <&tegra_car 103>;
645                 reset-names = "i2c";
646                 clock-names = "div-clk", "fast-clk";
647                 dmas = <&apbdma 26>, <&apbdma 26>;
648                 dma-names = "rx", "tx";
649                 status = "disabled";
650         };
651
652         i2c@7000d000 {
653                 compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
654                 reg = <0x7000d000 0x100>;
655                 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
656                 #address-cells = <1>;
657                 #size-cells = <0>;
658                 clocks = <&tegra_car TEGRA30_CLK_I2C5>,
659                          <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
660                 clock-names = "div-clk", "fast-clk";
661                 resets = <&tegra_car 47>;
662                 reset-names = "i2c";
663                 dmas = <&apbdma 24>, <&apbdma 24>;
664                 dma-names = "rx", "tx";
665                 status = "disabled";
666         };
667
668         spi@7000d400 {
669                 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
670                 reg = <0x7000d400 0x200>;
671                 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
672                 #address-cells = <1>;
673                 #size-cells = <0>;
674                 clocks = <&tegra_car TEGRA30_CLK_SBC1>;
675                 resets = <&tegra_car 41>;
676                 reset-names = "spi";
677                 dmas = <&apbdma 15>, <&apbdma 15>;
678                 dma-names = "rx", "tx";
679                 status = "disabled";
680         };
681
682         spi@7000d600 {
683                 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
684                 reg = <0x7000d600 0x200>;
685                 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
686                 #address-cells = <1>;
687                 #size-cells = <0>;
688                 clocks = <&tegra_car TEGRA30_CLK_SBC2>;
689                 resets = <&tegra_car 44>;
690                 reset-names = "spi";
691                 dmas = <&apbdma 16>, <&apbdma 16>;
692                 dma-names = "rx", "tx";
693                 status = "disabled";
694         };
695
696         spi@7000d800 {
697                 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
698                 reg = <0x7000d800 0x200>;
699                 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
700                 #address-cells = <1>;
701                 #size-cells = <0>;
702                 clocks = <&tegra_car TEGRA30_CLK_SBC3>;
703                 resets = <&tegra_car 46>;
704                 reset-names = "spi";
705                 dmas = <&apbdma 17>, <&apbdma 17>;
706                 dma-names = "rx", "tx";
707                 status = "disabled";
708         };
709
710         spi@7000da00 {
711                 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
712                 reg = <0x7000da00 0x200>;
713                 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
714                 #address-cells = <1>;
715                 #size-cells = <0>;
716                 clocks = <&tegra_car TEGRA30_CLK_SBC4>;
717                 resets = <&tegra_car 68>;
718                 reset-names = "spi";
719                 dmas = <&apbdma 18>, <&apbdma 18>;
720                 dma-names = "rx", "tx";
721                 status = "disabled";
722         };
723
724         spi@7000dc00 {
725                 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
726                 reg = <0x7000dc00 0x200>;
727                 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
728                 #address-cells = <1>;
729                 #size-cells = <0>;
730                 clocks = <&tegra_car TEGRA30_CLK_SBC5>;
731                 resets = <&tegra_car 104>;
732                 reset-names = "spi";
733                 dmas = <&apbdma 27>, <&apbdma 27>;
734                 dma-names = "rx", "tx";
735                 status = "disabled";
736         };
737
738         spi@7000de00 {
739                 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
740                 reg = <0x7000de00 0x200>;
741                 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
742                 #address-cells = <1>;
743                 #size-cells = <0>;
744                 clocks = <&tegra_car TEGRA30_CLK_SBC6>;
745                 resets = <&tegra_car 106>;
746                 reset-names = "spi";
747                 dmas = <&apbdma 28>, <&apbdma 28>;
748                 dma-names = "rx", "tx";
749                 status = "disabled";
750         };
751
752         kbc@7000e200 {
753                 compatible = "nvidia,tegra30-kbc", "nvidia,tegra20-kbc";
754                 reg = <0x7000e200 0x100>;
755                 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
756                 clocks = <&tegra_car TEGRA30_CLK_KBC>;
757                 resets = <&tegra_car 36>;
758                 reset-names = "kbc";
759                 status = "disabled";
760         };
761
762         tegra_pmc: pmc@7000e400 {
763                 compatible = "nvidia,tegra30-pmc";
764                 reg = <0x7000e400 0x400>;
765                 clocks = <&tegra_car TEGRA30_CLK_PCLK>, <&clk32k_in>;
766                 clock-names = "pclk", "clk32k_in";
767                 #clock-cells = <1>;
768         };
769
770         mc: memory-controller@7000f000 {
771                 compatible = "nvidia,tegra30-mc";
772                 reg = <0x7000f000 0x400>;
773                 clocks = <&tegra_car TEGRA30_CLK_MC>;
774                 clock-names = "mc";
775
776                 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
777
778                 #iommu-cells = <1>;
779                 #reset-cells = <1>;
780                 #interconnect-cells = <1>;
781         };
782
783         emc: memory-controller@7000f400 {
784                 compatible = "nvidia,tegra30-emc";
785                 reg = <0x7000f400 0x400>;
786                 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
787                 clocks = <&tegra_car TEGRA30_CLK_EMC>;
788
789                 nvidia,memory-controller = <&mc>;
790                 operating-points-v2 = <&emc_icc_dvfs_opp_table>;
791
792                 #interconnect-cells = <0>;
793         };
794
795         fuse@7000f800 {
796                 compatible = "nvidia,tegra30-efuse";
797                 reg = <0x7000f800 0x400>;
798                 clocks = <&tegra_car TEGRA30_CLK_FUSE>;
799                 clock-names = "fuse";
800                 resets = <&tegra_car 39>;
801                 reset-names = "fuse";
802         };
803
804         tsensor: tsensor@70014000 {
805                 compatible = "nvidia,tegra30-tsensor";
806                 reg = <0x70014000 0x500>;
807                 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
808                 clocks = <&tegra_car TEGRA30_CLK_TSENSOR>;
809                 resets = <&tegra_car TEGRA30_CLK_TSENSOR>;
810
811                 assigned-clocks = <&tegra_car TEGRA30_CLK_TSENSOR>;
812                 assigned-clock-parents = <&tegra_car TEGRA30_CLK_CLK_M>;
813                 assigned-clock-rates = <500000>;
814
815                 #thermal-sensor-cells = <1>;
816         };
817
818         hda@70030000 {
819                 compatible = "nvidia,tegra30-hda";
820                 reg = <0x70030000 0x10000>;
821                 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
822                 clocks = <&tegra_car TEGRA30_CLK_HDA>,
823                          <&tegra_car TEGRA30_CLK_HDA2HDMI>,
824                          <&tegra_car TEGRA30_CLK_HDA2CODEC_2X>;
825                 clock-names = "hda", "hda2hdmi", "hda2codec_2x";
826                 resets = <&tegra_car 125>, /* hda */
827                          <&tegra_car 128>, /* hda2hdmi */
828                          <&tegra_car 111>; /* hda2codec_2x */
829                 reset-names = "hda", "hda2hdmi", "hda2codec_2x";
830                 status = "disabled";
831         };
832
833         ahub@70080000 {
834                 compatible = "nvidia,tegra30-ahub";
835                 reg = <0x70080000 0x200>,
836                       <0x70080200 0x100>;
837                 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
838                 clocks = <&tegra_car TEGRA30_CLK_D_AUDIO>,
839                          <&tegra_car TEGRA30_CLK_APBIF>;
840                 clock-names = "d_audio", "apbif";
841                 resets = <&tegra_car 106>, /* d_audio */
842                          <&tegra_car 107>, /* apbif */
843                          <&tegra_car 30>,  /* i2s0 */
844                          <&tegra_car 11>,  /* i2s1 */
845                          <&tegra_car 18>,  /* i2s2 */
846                          <&tegra_car 101>, /* i2s3 */
847                          <&tegra_car 102>, /* i2s4 */
848                          <&tegra_car 108>, /* dam0 */
849                          <&tegra_car 109>, /* dam1 */
850                          <&tegra_car 110>, /* dam2 */
851                          <&tegra_car 10>;  /* spdif */
852                 reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
853                               "i2s3", "i2s4", "dam0", "dam1", "dam2",
854                               "spdif";
855                 dmas = <&apbdma 1>, <&apbdma 1>,
856                        <&apbdma 2>, <&apbdma 2>,
857                        <&apbdma 3>, <&apbdma 3>,
858                        <&apbdma 4>, <&apbdma 4>;
859                 dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
860                             "rx3", "tx3";
861                 ranges;
862                 #address-cells = <1>;
863                 #size-cells = <1>;
864
865                 tegra_i2s0: i2s@70080300 {
866                         compatible = "nvidia,tegra30-i2s";
867                         reg = <0x70080300 0x100>;
868                         nvidia,ahub-cif-ids = <4 4>;
869                         clocks = <&tegra_car TEGRA30_CLK_I2S0>;
870                         resets = <&tegra_car 30>;
871                         reset-names = "i2s";
872                         status = "disabled";
873                 };
874
875                 tegra_i2s1: i2s@70080400 {
876                         compatible = "nvidia,tegra30-i2s";
877                         reg = <0x70080400 0x100>;
878                         nvidia,ahub-cif-ids = <5 5>;
879                         clocks = <&tegra_car TEGRA30_CLK_I2S1>;
880                         resets = <&tegra_car 11>;
881                         reset-names = "i2s";
882                         status = "disabled";
883                 };
884
885                 tegra_i2s2: i2s@70080500 {
886                         compatible = "nvidia,tegra30-i2s";
887                         reg = <0x70080500 0x100>;
888                         nvidia,ahub-cif-ids = <6 6>;
889                         clocks = <&tegra_car TEGRA30_CLK_I2S2>;
890                         resets = <&tegra_car 18>;
891                         reset-names = "i2s";
892                         status = "disabled";
893                 };
894
895                 tegra_i2s3: i2s@70080600 {
896                         compatible = "nvidia,tegra30-i2s";
897                         reg = <0x70080600 0x100>;
898                         nvidia,ahub-cif-ids = <7 7>;
899                         clocks = <&tegra_car TEGRA30_CLK_I2S3>;
900                         resets = <&tegra_car 101>;
901                         reset-names = "i2s";
902                         status = "disabled";
903                 };
904
905                 tegra_i2s4: i2s@70080700 {
906                         compatible = "nvidia,tegra30-i2s";
907                         reg = <0x70080700 0x100>;
908                         nvidia,ahub-cif-ids = <8 8>;
909                         clocks = <&tegra_car TEGRA30_CLK_I2S4>;
910                         resets = <&tegra_car 102>;
911                         reset-names = "i2s";
912                         status = "disabled";
913                 };
914         };
915
916         mmc@78000000 {
917                 compatible = "nvidia,tegra30-sdhci";
918                 reg = <0x78000000 0x200>;
919                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
920                 clocks = <&tegra_car TEGRA30_CLK_SDMMC1>;
921                 clock-names = "sdhci";
922                 resets = <&tegra_car 14>;
923                 reset-names = "sdhci";
924                 status = "disabled";
925         };
926
927         mmc@78000200 {
928                 compatible = "nvidia,tegra30-sdhci";
929                 reg = <0x78000200 0x200>;
930                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
931                 clocks = <&tegra_car TEGRA30_CLK_SDMMC2>;
932                 clock-names = "sdhci";
933                 resets = <&tegra_car 9>;
934                 reset-names = "sdhci";
935                 status = "disabled";
936         };
937
938         mmc@78000400 {
939                 compatible = "nvidia,tegra30-sdhci";
940                 reg = <0x78000400 0x200>;
941                 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
942                 clocks = <&tegra_car TEGRA30_CLK_SDMMC3>;
943                 clock-names = "sdhci";
944                 resets = <&tegra_car 69>;
945                 reset-names = "sdhci";
946                 status = "disabled";
947         };
948
949         mmc@78000600 {
950                 compatible = "nvidia,tegra30-sdhci";
951                 reg = <0x78000600 0x200>;
952                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
953                 clocks = <&tegra_car TEGRA30_CLK_SDMMC4>;
954                 clock-names = "sdhci";
955                 resets = <&tegra_car 15>;
956                 reset-names = "sdhci";
957                 status = "disabled";
958         };
959
960         usb@7d000000 {
961                 compatible = "nvidia,tegra30-ehci", "usb-ehci";
962                 reg = <0x7d000000 0x4000>;
963                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
964                 phy_type = "utmi";
965                 clocks = <&tegra_car TEGRA30_CLK_USBD>;
966                 resets = <&tegra_car 22>;
967                 reset-names = "usb";
968                 nvidia,needs-double-reset;
969                 nvidia,phy = <&phy1>;
970                 status = "disabled";
971         };
972
973         phy1: usb-phy@7d000000 {
974                 compatible = "nvidia,tegra30-usb-phy";
975                 reg = <0x7d000000 0x4000>,
976                       <0x7d000000 0x4000>;
977                 phy_type = "utmi";
978                 clocks = <&tegra_car TEGRA30_CLK_USBD>,
979                          <&tegra_car TEGRA30_CLK_PLL_U>,
980                          <&tegra_car TEGRA30_CLK_USBD>;
981                 clock-names = "reg", "pll_u", "utmi-pads";
982                 resets = <&tegra_car 22>, <&tegra_car 22>;
983                 reset-names = "usb", "utmi-pads";
984                 #phy-cells = <0>;
985                 nvidia,hssync-start-delay = <9>;
986                 nvidia,idle-wait-delay = <17>;
987                 nvidia,elastic-limit = <16>;
988                 nvidia,term-range-adj = <6>;
989                 nvidia,xcvr-setup = <51>;
990                 nvidia,xcvr-setup-use-fuses;
991                 nvidia,xcvr-lsfslew = <1>;
992                 nvidia,xcvr-lsrslew = <1>;
993                 nvidia,xcvr-hsslew = <32>;
994                 nvidia,hssquelch-level = <2>;
995                 nvidia,hsdiscon-level = <5>;
996                 nvidia,has-utmi-pad-registers;
997                 status = "disabled";
998         };
999
1000         usb@7d004000 {
1001                 compatible = "nvidia,tegra30-ehci", "usb-ehci";
1002                 reg = <0x7d004000 0x4000>;
1003                 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1004                 phy_type = "utmi";
1005                 clocks = <&tegra_car TEGRA30_CLK_USB2>;
1006                 resets = <&tegra_car 58>;
1007                 reset-names = "usb";
1008                 nvidia,phy = <&phy2>;
1009                 status = "disabled";
1010         };
1011
1012         phy2: usb-phy@7d004000 {
1013                 compatible = "nvidia,tegra30-usb-phy";
1014                 reg = <0x7d004000 0x4000>,
1015                       <0x7d000000 0x4000>;
1016                 phy_type = "utmi";
1017                 clocks = <&tegra_car TEGRA30_CLK_USB2>,
1018                          <&tegra_car TEGRA30_CLK_PLL_U>,
1019                          <&tegra_car TEGRA30_CLK_USBD>;
1020                 clock-names = "reg", "pll_u", "utmi-pads";
1021                 resets = <&tegra_car 58>, <&tegra_car 22>;
1022                 reset-names = "usb", "utmi-pads";
1023                 #phy-cells = <0>;
1024                 nvidia,hssync-start-delay = <9>;
1025                 nvidia,idle-wait-delay = <17>;
1026                 nvidia,elastic-limit = <16>;
1027                 nvidia,term-range-adj = <6>;
1028                 nvidia,xcvr-setup = <51>;
1029                 nvidia,xcvr-setup-use-fuses;
1030                 nvidia,xcvr-lsfslew = <2>;
1031                 nvidia,xcvr-lsrslew = <2>;
1032                 nvidia,xcvr-hsslew = <32>;
1033                 nvidia,hssquelch-level = <2>;
1034                 nvidia,hsdiscon-level = <5>;
1035                 status = "disabled";
1036         };
1037
1038         usb@7d008000 {
1039                 compatible = "nvidia,tegra30-ehci", "usb-ehci";
1040                 reg = <0x7d008000 0x4000>;
1041                 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1042                 phy_type = "utmi";
1043                 clocks = <&tegra_car TEGRA30_CLK_USB3>;
1044                 resets = <&tegra_car 59>;
1045                 reset-names = "usb";
1046                 nvidia,phy = <&phy3>;
1047                 status = "disabled";
1048         };
1049
1050         phy3: usb-phy@7d008000 {
1051                 compatible = "nvidia,tegra30-usb-phy";
1052                 reg = <0x7d008000 0x4000>,
1053                       <0x7d000000 0x4000>;
1054                 phy_type = "utmi";
1055                 clocks = <&tegra_car TEGRA30_CLK_USB3>,
1056                          <&tegra_car TEGRA30_CLK_PLL_U>,
1057                          <&tegra_car TEGRA30_CLK_USBD>;
1058                 clock-names = "reg", "pll_u", "utmi-pads";
1059                 resets = <&tegra_car 59>, <&tegra_car 22>;
1060                 reset-names = "usb", "utmi-pads";
1061                 #phy-cells = <0>;
1062                 nvidia,hssync-start-delay = <0>;
1063                 nvidia,idle-wait-delay = <17>;
1064                 nvidia,elastic-limit = <16>;
1065                 nvidia,term-range-adj = <6>;
1066                 nvidia,xcvr-setup = <51>;
1067                 nvidia,xcvr-setup-use-fuses;
1068                 nvidia,xcvr-lsfslew = <2>;
1069                 nvidia,xcvr-lsrslew = <2>;
1070                 nvidia,xcvr-hsslew = <32>;
1071                 nvidia,hssquelch-level = <2>;
1072                 nvidia,hsdiscon-level = <5>;
1073                 status = "disabled";
1074         };
1075
1076         cpus {
1077                 #address-cells = <1>;
1078                 #size-cells = <0>;
1079
1080                 cpu0: cpu@0 {
1081                         device_type = "cpu";
1082                         compatible = "arm,cortex-a9";
1083                         reg = <0>;
1084                         clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1085                         #cooling-cells = <2>;
1086                 };
1087
1088                 cpu1: cpu@1 {
1089                         device_type = "cpu";
1090                         compatible = "arm,cortex-a9";
1091                         reg = <1>;
1092                         clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1093                         #cooling-cells = <2>;
1094                 };
1095
1096                 cpu2: cpu@2 {
1097                         device_type = "cpu";
1098                         compatible = "arm,cortex-a9";
1099                         reg = <2>;
1100                         clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1101                         #cooling-cells = <2>;
1102                 };
1103
1104                 cpu3: cpu@3 {
1105                         device_type = "cpu";
1106                         compatible = "arm,cortex-a9";
1107                         reg = <3>;
1108                         clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1109                         #cooling-cells = <2>;
1110                 };
1111         };
1112
1113         pmu {
1114                 compatible = "arm,cortex-a9-pmu";
1115                 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1116                              <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1117                              <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1118                              <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1119                 interrupt-affinity = <&{/cpus/cpu@0}>,
1120                                      <&{/cpus/cpu@1}>,
1121                                      <&{/cpus/cpu@2}>,
1122                                      <&{/cpus/cpu@3}>;
1123         };
1124
1125         thermal-zones {
1126                 tsensor0-thermal {
1127                         polling-delay-passive = <1000>; /* milliseconds */
1128                         polling-delay = <5000>; /* milliseconds */
1129
1130                         thermal-sensors = <&tsensor 0>;
1131
1132                         trips {
1133                                 level1_trip: dvfs-alert {
1134                                         /* throttle at 80C until temperature drops to 79.8C */
1135                                         temperature = <80000>;
1136                                         hysteresis = <200>;
1137                                         type = "passive";
1138                                 };
1139
1140                                 level2_trip: cpu-div2-throttle {
1141                                         /* hardware CPU x2 freq throttle at 85C */
1142                                         temperature = <85000>;
1143                                         hysteresis = <200>;
1144                                         type = "hot";
1145                                 };
1146
1147                                 level3_trip: soc-critical {
1148                                         /* hardware shut down at 90C */
1149                                         temperature = <90000>;
1150                                         hysteresis = <2000>;
1151                                         type = "critical";
1152                                 };
1153                         };
1154
1155                         cooling-maps {
1156                                 map0 {
1157                                         trip = <&level1_trip>;
1158                                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1159                                                          <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1160                                                          <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1161                                                          <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1162                                                          <&actmon THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1163                                 };
1164                         };
1165                 };
1166
1167                 tsensor1-thermal {
1168                         status = "disabled";
1169
1170                         polling-delay-passive = <1000>; /* milliseconds */
1171                         polling-delay = <0>; /* milliseconds */
1172
1173                         thermal-sensors = <&tsensor 1>;
1174
1175                         trips {
1176                                 dvfs-alert {
1177                                         temperature = <80000>;
1178                                         hysteresis = <200>;
1179                                         type = "passive";
1180                                 };
1181                         };
1182                 };
1183         };
1184 };