Linux 6.9-rc6
[sfrench/cifs-2.6.git] / arch / arm64 / boot / dts / nvidia / tegra186.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/tegra186-clock.h>
3 #include <dt-bindings/gpio/tegra186-gpio.h>
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/mailbox/tegra186-hsp.h>
6 #include <dt-bindings/memory/tegra186-mc.h>
7 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h>
8 #include <dt-bindings/power/tegra186-powergate.h>
9 #include <dt-bindings/reset/tegra186-reset.h>
10 #include <dt-bindings/thermal/tegra186-bpmp-thermal.h>
11
12 / {
13         compatible = "nvidia,tegra186";
14         interrupt-parent = <&gic>;
15         #address-cells = <2>;
16         #size-cells = <2>;
17
18         misc@100000 {
19                 compatible = "nvidia,tegra186-misc";
20                 reg = <0x0 0x00100000 0x0 0xf000>,
21                       <0x0 0x0010f000 0x0 0x1000>;
22         };
23
24         gpio: gpio@2200000 {
25                 compatible = "nvidia,tegra186-gpio";
26                 reg-names = "security", "gpio";
27                 reg = <0x0 0x2200000 0x0 0x10000>,
28                       <0x0 0x2210000 0x0 0x10000>;
29                 interrupts = <GIC_SPI  47 IRQ_TYPE_LEVEL_HIGH>,
30                              <GIC_SPI  50 IRQ_TYPE_LEVEL_HIGH>,
31                              <GIC_SPI  53 IRQ_TYPE_LEVEL_HIGH>,
32                              <GIC_SPI  56 IRQ_TYPE_LEVEL_HIGH>,
33                              <GIC_SPI  59 IRQ_TYPE_LEVEL_HIGH>,
34                              <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
35                 #interrupt-cells = <2>;
36                 interrupt-controller;
37                 #gpio-cells = <2>;
38                 gpio-controller;
39         };
40
41         ethernet@2490000 {
42                 compatible = "nvidia,tegra186-eqos",
43                              "snps,dwc-qos-ethernet-4.10";
44                 reg = <0x0 0x02490000 0x0 0x10000>;
45                 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>, /* common */
46                              <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>, /* power */
47                              <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, /* rx0 */
48                              <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, /* tx0 */
49                              <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, /* rx1 */
50                              <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, /* tx1 */
51                              <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, /* rx2 */
52                              <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, /* tx2 */
53                              <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>, /* rx3 */
54                              <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; /* tx3 */
55                 clocks = <&bpmp TEGRA186_CLK_AXI_CBB>,
56                          <&bpmp TEGRA186_CLK_EQOS_AXI>,
57                          <&bpmp TEGRA186_CLK_EQOS_RX>,
58                          <&bpmp TEGRA186_CLK_EQOS_TX>,
59                          <&bpmp TEGRA186_CLK_EQOS_PTP_REF>;
60                 clock-names = "master_bus", "slave_bus", "rx", "tx", "ptp_ref";
61                 resets = <&bpmp TEGRA186_RESET_EQOS>;
62                 reset-names = "eqos";
63                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_EQOSR &emc>,
64                                 <&mc TEGRA186_MEMORY_CLIENT_EQOSW &emc>;
65                 interconnect-names = "dma-mem", "write";
66                 iommus = <&smmu TEGRA186_SID_EQOS>;
67                 status = "disabled";
68
69                 snps,write-requests = <1>;
70                 snps,read-requests = <3>;
71                 snps,burst-map = <0x7>;
72                 snps,txpbl = <32>;
73                 snps,rxpbl = <8>;
74         };
75
76         gpcdma: dma-controller@2600000 {
77                 compatible = "nvidia,tegra186-gpcdma";
78                 reg = <0x0 0x2600000 0x0 0x210000>;
79                 resets = <&bpmp TEGRA186_RESET_GPCDMA>;
80                 reset-names = "gpcdma";
81                 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
82                              <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
83                              <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
84                              <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
85                              <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
86                              <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
87                              <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
88                              <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
89                              <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
90                              <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
91                              <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
92                              <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
93                              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
94                              <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
95                              <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
96                              <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
97                              <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
98                              <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
99                              <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
100                              <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
101                              <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
102                              <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
103                              <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
104                              <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
105                              <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
106                              <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
107                              <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
108                              <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
109                              <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
110                              <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
111                              <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
112                              <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
113                 #dma-cells = <1>;
114                 iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
115                 dma-coherent;
116                 dma-channel-mask = <0xfffffffe>;
117                 status = "okay";
118         };
119
120         aconnect@2900000 {
121                 compatible = "nvidia,tegra186-aconnect",
122                              "nvidia,tegra210-aconnect";
123                 clocks = <&bpmp TEGRA186_CLK_APE>,
124                          <&bpmp TEGRA186_CLK_APB2APE>;
125                 clock-names = "ape", "apb2ape";
126                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_AUD>;
127                 #address-cells = <1>;
128                 #size-cells = <1>;
129                 ranges = <0x02900000 0x0 0x02900000 0x200000>;
130                 status = "disabled";
131
132                 tegra_ahub: ahub@2900800 {
133                         compatible = "nvidia,tegra186-ahub";
134                         reg = <0x02900800 0x800>;
135                         clocks = <&bpmp TEGRA186_CLK_AHUB>;
136                         clock-names = "ahub";
137                         assigned-clocks = <&bpmp TEGRA186_CLK_AHUB>;
138                         assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>;
139                         assigned-clock-rates = <81600000>;
140                         #address-cells = <1>;
141                         #size-cells = <1>;
142                         ranges = <0x02900800 0x02900800 0x11800>;
143                         status = "disabled";
144
145                         tegra_i2s1: i2s@2901000 {
146                                 compatible = "nvidia,tegra186-i2s",
147                                              "nvidia,tegra210-i2s";
148                                 reg = <0x2901000 0x100>;
149                                 clocks = <&bpmp TEGRA186_CLK_I2S1>,
150                                          <&bpmp TEGRA186_CLK_I2S1_SYNC_INPUT>;
151                                 clock-names = "i2s", "sync_input";
152                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S1>;
153                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
154                                 assigned-clock-rates = <1536000>;
155                                 sound-name-prefix = "I2S1";
156                                 status = "disabled";
157                         };
158
159                         tegra_i2s2: i2s@2901100 {
160                                 compatible = "nvidia,tegra186-i2s",
161                                              "nvidia,tegra210-i2s";
162                                 reg = <0x2901100 0x100>;
163                                 clocks = <&bpmp TEGRA186_CLK_I2S2>,
164                                          <&bpmp TEGRA186_CLK_I2S2_SYNC_INPUT>;
165                                 clock-names = "i2s", "sync_input";
166                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S2>;
167                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
168                                 assigned-clock-rates = <1536000>;
169                                 sound-name-prefix = "I2S2";
170                                 status = "disabled";
171                         };
172
173                         tegra_i2s3: i2s@2901200 {
174                                 compatible = "nvidia,tegra186-i2s",
175                                              "nvidia,tegra210-i2s";
176                                 reg = <0x2901200 0x100>;
177                                 clocks = <&bpmp TEGRA186_CLK_I2S3>,
178                                          <&bpmp TEGRA186_CLK_I2S3_SYNC_INPUT>;
179                                 clock-names = "i2s", "sync_input";
180                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S3>;
181                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
182                                 assigned-clock-rates = <1536000>;
183                                 sound-name-prefix = "I2S3";
184                                 status = "disabled";
185                         };
186
187                         tegra_i2s4: i2s@2901300 {
188                                 compatible = "nvidia,tegra186-i2s",
189                                              "nvidia,tegra210-i2s";
190                                 reg = <0x2901300 0x100>;
191                                 clocks = <&bpmp TEGRA186_CLK_I2S4>,
192                                          <&bpmp TEGRA186_CLK_I2S4_SYNC_INPUT>;
193                                 clock-names = "i2s", "sync_input";
194                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S4>;
195                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
196                                 assigned-clock-rates = <1536000>;
197                                 sound-name-prefix = "I2S4";
198                                 status = "disabled";
199                         };
200
201                         tegra_i2s5: i2s@2901400 {
202                                 compatible = "nvidia,tegra186-i2s",
203                                              "nvidia,tegra210-i2s";
204                                 reg = <0x2901400 0x100>;
205                                 clocks = <&bpmp TEGRA186_CLK_I2S5>,
206                                          <&bpmp TEGRA186_CLK_I2S5_SYNC_INPUT>;
207                                 clock-names = "i2s", "sync_input";
208                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S5>;
209                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
210                                 assigned-clock-rates = <1536000>;
211                                 sound-name-prefix = "I2S5";
212                                 status = "disabled";
213                         };
214
215                         tegra_i2s6: i2s@2901500 {
216                                 compatible = "nvidia,tegra186-i2s",
217                                              "nvidia,tegra210-i2s";
218                                 reg = <0x2901500 0x100>;
219                                 clocks = <&bpmp TEGRA186_CLK_I2S6>,
220                                          <&bpmp TEGRA186_CLK_I2S6_SYNC_INPUT>;
221                                 clock-names = "i2s", "sync_input";
222                                 assigned-clocks = <&bpmp TEGRA186_CLK_I2S6>;
223                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
224                                 assigned-clock-rates = <1536000>;
225                                 sound-name-prefix = "I2S6";
226                                 status = "disabled";
227                         };
228
229                         tegra_sfc1: sfc@2902000 {
230                                 compatible = "nvidia,tegra186-sfc",
231                                              "nvidia,tegra210-sfc";
232                                 reg = <0x2902000 0x200>;
233                                 sound-name-prefix = "SFC1";
234                                 status = "disabled";
235                         };
236
237                         tegra_sfc2: sfc@2902200 {
238                                 compatible = "nvidia,tegra186-sfc",
239                                              "nvidia,tegra210-sfc";
240                                 reg = <0x2902200 0x200>;
241                                 sound-name-prefix = "SFC2";
242                                 status = "disabled";
243                         };
244
245                         tegra_sfc3: sfc@2902400 {
246                                 compatible = "nvidia,tegra186-sfc",
247                                              "nvidia,tegra210-sfc";
248                                 reg = <0x2902400 0x200>;
249                                 sound-name-prefix = "SFC3";
250                                 status = "disabled";
251                         };
252
253                         tegra_sfc4: sfc@2902600 {
254                                 compatible = "nvidia,tegra186-sfc",
255                                              "nvidia,tegra210-sfc";
256                                 reg = <0x2902600 0x200>;
257                                 sound-name-prefix = "SFC4";
258                                 status = "disabled";
259                         };
260
261                         tegra_amx1: amx@2903000 {
262                                 compatible = "nvidia,tegra186-amx",
263                                              "nvidia,tegra210-amx";
264                                 reg = <0x2903000 0x100>;
265                                 sound-name-prefix = "AMX1";
266                                 status = "disabled";
267                         };
268
269                         tegra_amx2: amx@2903100 {
270                                 compatible = "nvidia,tegra186-amx",
271                                              "nvidia,tegra210-amx";
272                                 reg = <0x2903100 0x100>;
273                                 sound-name-prefix = "AMX2";
274                                 status = "disabled";
275                         };
276
277                         tegra_amx3: amx@2903200 {
278                                 compatible = "nvidia,tegra186-amx",
279                                              "nvidia,tegra210-amx";
280                                 reg = <0x2903200 0x100>;
281                                 sound-name-prefix = "AMX3";
282                                 status = "disabled";
283                         };
284
285                         tegra_amx4: amx@2903300 {
286                                 compatible = "nvidia,tegra186-amx",
287                                              "nvidia,tegra210-amx";
288                                 reg = <0x2903300 0x100>;
289                                 sound-name-prefix = "AMX4";
290                                 status = "disabled";
291                         };
292
293                         tegra_adx1: adx@2903800 {
294                                 compatible = "nvidia,tegra186-adx",
295                                              "nvidia,tegra210-adx";
296                                 reg = <0x2903800 0x100>;
297                                 sound-name-prefix = "ADX1";
298                                 status = "disabled";
299                         };
300
301                         tegra_adx2: adx@2903900 {
302                                 compatible = "nvidia,tegra186-adx",
303                                              "nvidia,tegra210-adx";
304                                 reg = <0x2903900 0x100>;
305                                 sound-name-prefix = "ADX2";
306                                 status = "disabled";
307                         };
308
309                         tegra_adx3: adx@2903a00 {
310                                 compatible = "nvidia,tegra186-adx",
311                                              "nvidia,tegra210-adx";
312                                 reg = <0x2903a00 0x100>;
313                                 sound-name-prefix = "ADX3";
314                                 status = "disabled";
315                         };
316
317                         tegra_adx4: adx@2903b00 {
318                                 compatible = "nvidia,tegra186-adx",
319                                              "nvidia,tegra210-adx";
320                                 reg = <0x2903b00 0x100>;
321                                 sound-name-prefix = "ADX4";
322                                 status = "disabled";
323                         };
324
325                         tegra_dmic1: dmic@2904000 {
326                                 compatible = "nvidia,tegra210-dmic";
327                                 reg = <0x2904000 0x100>;
328                                 clocks = <&bpmp TEGRA186_CLK_DMIC1>;
329                                 clock-names = "dmic";
330                                 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC1>;
331                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
332                                 assigned-clock-rates = <3072000>;
333                                 sound-name-prefix = "DMIC1";
334                                 status = "disabled";
335                         };
336
337                         tegra_dmic2: dmic@2904100 {
338                                 compatible = "nvidia,tegra210-dmic";
339                                 reg = <0x2904100 0x100>;
340                                 clocks = <&bpmp TEGRA186_CLK_DMIC2>;
341                                 clock-names = "dmic";
342                                 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC2>;
343                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
344                                 assigned-clock-rates = <3072000>;
345                                 sound-name-prefix = "DMIC2";
346                                 status = "disabled";
347                         };
348
349                         tegra_dmic3: dmic@2904200 {
350                                 compatible = "nvidia,tegra210-dmic";
351                                 reg = <0x2904200 0x100>;
352                                 clocks = <&bpmp TEGRA186_CLK_DMIC3>;
353                                 clock-names = "dmic";
354                                 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC3>;
355                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
356                                 assigned-clock-rates = <3072000>;
357                                 sound-name-prefix = "DMIC3";
358                                 status = "disabled";
359                         };
360
361                         tegra_dmic4: dmic@2904300 {
362                                 compatible = "nvidia,tegra210-dmic";
363                                 reg = <0x2904300 0x100>;
364                                 clocks = <&bpmp TEGRA186_CLK_DMIC4>;
365                                 clock-names = "dmic";
366                                 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC4>;
367                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
368                                 assigned-clock-rates = <3072000>;
369                                 sound-name-prefix = "DMIC4";
370                                 status = "disabled";
371                         };
372
373                         tegra_dspk1: dspk@2905000 {
374                                 compatible = "nvidia,tegra186-dspk";
375                                 reg = <0x2905000 0x100>;
376                                 clocks = <&bpmp TEGRA186_CLK_DSPK1>;
377                                 clock-names = "dspk";
378                                 assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>;
379                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
380                                 assigned-clock-rates = <12288000>;
381                                 sound-name-prefix = "DSPK1";
382                                 status = "disabled";
383                         };
384
385                         tegra_dspk2: dspk@2905100 {
386                                 compatible = "nvidia,tegra186-dspk";
387                                 reg = <0x2905100 0x100>;
388                                 clocks = <&bpmp TEGRA186_CLK_DSPK2>;
389                                 clock-names = "dspk";
390                                 assigned-clocks = <&bpmp TEGRA186_CLK_DSPK2>;
391                                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
392                                 assigned-clock-rates = <12288000>;
393                                 sound-name-prefix = "DSPK2";
394                                 status = "disabled";
395                         };
396
397                         tegra_ope1: processing-engine@2908000 {
398                                 compatible = "nvidia,tegra186-ope",
399                                              "nvidia,tegra210-ope";
400                                 reg = <0x2908000 0x100>;
401                                 #address-cells = <1>;
402                                 #size-cells = <1>;
403                                 ranges;
404                                 sound-name-prefix = "OPE1";
405                                 status = "disabled";
406
407                                 equalizer@2908100 {
408                                         compatible = "nvidia,tegra186-peq",
409                                                      "nvidia,tegra210-peq";
410                                         reg = <0x2908100 0x100>;
411                                 };
412
413                                 dynamic-range-compressor@2908200 {
414                                         compatible = "nvidia,tegra186-mbdrc",
415                                                      "nvidia,tegra210-mbdrc";
416                                         reg = <0x2908200 0x200>;
417                                 };
418                         };
419
420                         tegra_mvc1: mvc@290a000 {
421                                 compatible = "nvidia,tegra186-mvc",
422                                              "nvidia,tegra210-mvc";
423                                 reg = <0x290a000 0x200>;
424                                 sound-name-prefix = "MVC1";
425                                 status = "disabled";
426                         };
427
428                         tegra_mvc2: mvc@290a200 {
429                                 compatible = "nvidia,tegra186-mvc",
430                                              "nvidia,tegra210-mvc";
431                                 reg = <0x290a200 0x200>;
432                                 sound-name-prefix = "MVC2";
433                                 status = "disabled";
434                         };
435
436                         tegra_amixer: amixer@290bb00 {
437                                 compatible = "nvidia,tegra186-amixer",
438                                              "nvidia,tegra210-amixer";
439                                 reg = <0x290bb00 0x800>;
440                                 sound-name-prefix = "MIXER1";
441                                 status = "disabled";
442                         };
443
444                         tegra_admaif: admaif@290f000 {
445                                 compatible = "nvidia,tegra186-admaif";
446                                 reg = <0x0290f000 0x1000>;
447                                 dmas = <&adma 1>, <&adma 1>,
448                                        <&adma 2>, <&adma 2>,
449                                        <&adma 3>, <&adma 3>,
450                                        <&adma 4>, <&adma 4>,
451                                        <&adma 5>, <&adma 5>,
452                                        <&adma 6>, <&adma 6>,
453                                        <&adma 7>, <&adma 7>,
454                                        <&adma 8>, <&adma 8>,
455                                        <&adma 9>, <&adma 9>,
456                                        <&adma 10>, <&adma 10>,
457                                        <&adma 11>, <&adma 11>,
458                                        <&adma 12>, <&adma 12>,
459                                        <&adma 13>, <&adma 13>,
460                                        <&adma 14>, <&adma 14>,
461                                        <&adma 15>, <&adma 15>,
462                                        <&adma 16>, <&adma 16>,
463                                        <&adma 17>, <&adma 17>,
464                                        <&adma 18>, <&adma 18>,
465                                        <&adma 19>, <&adma 19>,
466                                        <&adma 20>, <&adma 20>;
467                                 dma-names = "rx1", "tx1",
468                                             "rx2", "tx2",
469                                             "rx3", "tx3",
470                                             "rx4", "tx4",
471                                             "rx5", "tx5",
472                                             "rx6", "tx6",
473                                             "rx7", "tx7",
474                                             "rx8", "tx8",
475                                             "rx9", "tx9",
476                                             "rx10", "tx10",
477                                             "rx11", "tx11",
478                                             "rx12", "tx12",
479                                             "rx13", "tx13",
480                                             "rx14", "tx14",
481                                             "rx15", "tx15",
482                                             "rx16", "tx16",
483                                             "rx17", "tx17",
484                                             "rx18", "tx18",
485                                             "rx19", "tx19",
486                                             "rx20", "tx20";
487                                 status = "disabled";
488                         };
489
490                         tegra_asrc: asrc@2910000 {
491                                 compatible = "nvidia,tegra186-asrc";
492                                 reg = <0x2910000 0x2000>;
493                                 sound-name-prefix = "ASRC1";
494                                 status = "disabled";
495                         };
496                 };
497
498                 adma: dma-controller@2930000 {
499                         compatible = "nvidia,tegra186-adma";
500                         reg = <0x02930000 0x20000>;
501                         interrupt-parent = <&agic>;
502                         interrupts =  <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
503                                       <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
504                                       <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
505                                       <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
506                                       <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
507                                       <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
508                                       <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
509                                       <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
510                                       <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
511                                       <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
512                                       <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
513                                       <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
514                                       <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
515                                       <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
516                                       <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
517                                       <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
518                                       <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
519                                       <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
520                                       <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
521                                       <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
522                                       <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
523                                       <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
524                                       <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
525                                       <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
526                                       <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
527                                       <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
528                                       <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
529                                       <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
530                                       <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
531                                       <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
532                                       <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
533                                       <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
534                         #dma-cells = <1>;
535                         clocks = <&bpmp TEGRA186_CLK_AHUB>;
536                         clock-names = "d_audio";
537                         status = "disabled";
538                 };
539
540                 agic: interrupt-controller@2a40000 {
541                         compatible = "nvidia,tegra186-agic",
542                                      "nvidia,tegra210-agic";
543                         #interrupt-cells = <3>;
544                         interrupt-controller;
545                         reg = <0x02a41000 0x1000>,
546                               <0x02a42000 0x2000>;
547                         interrupts = <GIC_SPI 145
548                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
549                         clocks = <&bpmp TEGRA186_CLK_APE>;
550                         clock-names = "clk";
551                         status = "disabled";
552                 };
553         };
554
555         mc: memory-controller@2c00000 {
556                 compatible = "nvidia,tegra186-mc";
557                 reg = <0x0 0x02c00000 0x0 0x10000>,    /* MC-SID */
558                       <0x0 0x02c10000 0x0 0x10000>,    /* Broadcast channel */
559                       <0x0 0x02c20000 0x0 0x10000>,    /* MC0 */
560                       <0x0 0x02c30000 0x0 0x10000>,    /* MC1 */
561                       <0x0 0x02c40000 0x0 0x10000>,    /* MC2 */
562                       <0x0 0x02c50000 0x0 0x10000>;    /* MC3 */
563                 reg-names = "sid", "broadcast", "ch0", "ch1", "ch2", "ch3";
564                 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
565                 status = "disabled";
566
567                 #interconnect-cells = <1>;
568                 #address-cells = <2>;
569                 #size-cells = <2>;
570
571                 ranges = <0x0 0x02c00000 0x0 0x02c00000 0x0 0xb0000>;
572
573                 /*
574                  * Memory clients have access to all 40 bits that the memory
575                  * controller can address.
576                  */
577                 dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
578
579                 emc: external-memory-controller@2c60000 {
580                         compatible = "nvidia,tegra186-emc";
581                         reg = <0x0 0x02c60000 0x0 0x50000>;
582                         interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
583                         clocks = <&bpmp TEGRA186_CLK_EMC>;
584                         clock-names = "emc";
585
586                         #interconnect-cells = <0>;
587
588                         nvidia,bpmp = <&bpmp>;
589                 };
590         };
591
592         timer@3010000 {
593                 compatible = "nvidia,tegra186-timer";
594                 reg = <0x0 0x03010000 0x0 0x000e0000>;
595                 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
596                              <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
597                              <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
598                              <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
599                              <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
600                              <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
601                              <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
602                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
603                              <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
604                              <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
605                 status = "okay";
606         };
607
608         uarta: serial@3100000 {
609                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
610                 reg = <0x0 0x03100000 0x0 0x40>;
611                 reg-shift = <2>;
612                 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
613                 clocks = <&bpmp TEGRA186_CLK_UARTA>;
614                 resets = <&bpmp TEGRA186_RESET_UARTA>;
615                 status = "disabled";
616         };
617
618         uartb: serial@3110000 {
619                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
620                 reg = <0x0 0x03110000 0x0 0x40>;
621                 reg-shift = <2>;
622                 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
623                 clocks = <&bpmp TEGRA186_CLK_UARTB>;
624                 clock-names = "serial";
625                 resets = <&bpmp TEGRA186_RESET_UARTB>;
626                 reset-names = "serial";
627                 status = "disabled";
628         };
629
630         uartd: serial@3130000 {
631                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
632                 reg = <0x0 0x03130000 0x0 0x40>;
633                 reg-shift = <2>;
634                 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
635                 clocks = <&bpmp TEGRA186_CLK_UARTD>;
636                 clock-names = "serial";
637                 resets = <&bpmp TEGRA186_RESET_UARTD>;
638                 reset-names = "serial";
639                 status = "disabled";
640         };
641
642         uarte: serial@3140000 {
643                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
644                 reg = <0x0 0x03140000 0x0 0x40>;
645                 reg-shift = <2>;
646                 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
647                 clocks = <&bpmp TEGRA186_CLK_UARTE>;
648                 clock-names = "serial";
649                 resets = <&bpmp TEGRA186_RESET_UARTE>;
650                 reset-names = "serial";
651                 status = "disabled";
652         };
653
654         uartf: serial@3150000 {
655                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
656                 reg = <0x0 0x03150000 0x0 0x40>;
657                 reg-shift = <2>;
658                 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
659                 clocks = <&bpmp TEGRA186_CLK_UARTF>;
660                 clock-names = "serial";
661                 resets = <&bpmp TEGRA186_RESET_UARTF>;
662                 reset-names = "serial";
663                 status = "disabled";
664         };
665
666         gen1_i2c: i2c@3160000 {
667                 compatible = "nvidia,tegra186-i2c";
668                 reg = <0x0 0x03160000 0x0 0x10000>;
669                 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
670                 #address-cells = <1>;
671                 #size-cells = <0>;
672                 clocks = <&bpmp TEGRA186_CLK_I2C1>;
673                 clock-names = "div-clk";
674                 resets = <&bpmp TEGRA186_RESET_I2C1>;
675                 reset-names = "i2c";
676                 dmas = <&gpcdma 21>, <&gpcdma 21>;
677                 dma-names = "rx", "tx";
678                 status = "disabled";
679         };
680
681         cam_i2c: i2c@3180000 {
682                 compatible = "nvidia,tegra186-i2c";
683                 reg = <0x0 0x03180000 0x0 0x10000>;
684                 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
685                 #address-cells = <1>;
686                 #size-cells = <0>;
687                 clocks = <&bpmp TEGRA186_CLK_I2C3>;
688                 clock-names = "div-clk";
689                 resets = <&bpmp TEGRA186_RESET_I2C3>;
690                 reset-names = "i2c";
691                 dmas = <&gpcdma 23>, <&gpcdma 23>;
692                 dma-names = "rx", "tx";
693                 status = "disabled";
694         };
695
696         /* shares pads with dpaux1 */
697         dp_aux_ch1_i2c: i2c@3190000 {
698                 compatible = "nvidia,tegra186-i2c";
699                 reg = <0x0 0x03190000 0x0 0x10000>;
700                 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
701                 #address-cells = <1>;
702                 #size-cells = <0>;
703                 clocks = <&bpmp TEGRA186_CLK_I2C4>;
704                 clock-names = "div-clk";
705                 resets = <&bpmp TEGRA186_RESET_I2C4>;
706                 reset-names = "i2c";
707                 pinctrl-names = "default", "idle";
708                 pinctrl-0 = <&state_dpaux1_i2c>;
709                 pinctrl-1 = <&state_dpaux1_off>;
710                 dmas = <&gpcdma 26>, <&gpcdma 26>;
711                 dma-names = "rx", "tx";
712                 status = "disabled";
713         };
714
715         /* controlled by BPMP, should not be enabled */
716         pwr_i2c: i2c@31a0000 {
717                 compatible = "nvidia,tegra186-i2c";
718                 reg = <0x0 0x031a0000 0x0 0x10000>;
719                 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
720                 #address-cells = <1>;
721                 #size-cells = <0>;
722                 clocks = <&bpmp TEGRA186_CLK_I2C5>;
723                 clock-names = "div-clk";
724                 resets = <&bpmp TEGRA186_RESET_I2C5>;
725                 reset-names = "i2c";
726                 status = "disabled";
727         };
728
729         /* shares pads with dpaux0 */
730         dp_aux_ch0_i2c: i2c@31b0000 {
731                 compatible = "nvidia,tegra186-i2c";
732                 reg = <0x0 0x031b0000 0x0 0x10000>;
733                 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
734                 #address-cells = <1>;
735                 #size-cells = <0>;
736                 clocks = <&bpmp TEGRA186_CLK_I2C6>;
737                 clock-names = "div-clk";
738                 resets = <&bpmp TEGRA186_RESET_I2C6>;
739                 reset-names = "i2c";
740                 pinctrl-names = "default", "idle";
741                 pinctrl-0 = <&state_dpaux_i2c>;
742                 pinctrl-1 = <&state_dpaux_off>;
743                 dmas = <&gpcdma 30>, <&gpcdma 30>;
744                 dma-names = "rx", "tx";
745                 status = "disabled";
746         };
747
748         gen7_i2c: i2c@31c0000 {
749                 compatible = "nvidia,tegra186-i2c";
750                 reg = <0x0 0x031c0000 0x0 0x10000>;
751                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
752                 #address-cells = <1>;
753                 #size-cells = <0>;
754                 clocks = <&bpmp TEGRA186_CLK_I2C7>;
755                 clock-names = "div-clk";
756                 resets = <&bpmp TEGRA186_RESET_I2C7>;
757                 reset-names = "i2c";
758                 dmas = <&gpcdma 27>, <&gpcdma 27>;
759                 dma-names = "rx", "tx";
760                 status = "disabled";
761         };
762
763         gen9_i2c: i2c@31e0000 {
764                 compatible = "nvidia,tegra186-i2c";
765                 reg = <0x0 0x031e0000 0x0 0x10000>;
766                 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
767                 #address-cells = <1>;
768                 #size-cells = <0>;
769                 clocks = <&bpmp TEGRA186_CLK_I2C9>;
770                 clock-names = "div-clk";
771                 resets = <&bpmp TEGRA186_RESET_I2C9>;
772                 reset-names = "i2c";
773                 dmas = <&gpcdma 31>, <&gpcdma 31>;
774                 dma-names = "rx", "tx";
775                 status = "disabled";
776         };
777
778         pwm1: pwm@3280000 {
779                 compatible = "nvidia,tegra186-pwm";
780                 reg = <0x0 0x3280000 0x0 0x10000>;
781                 clocks = <&bpmp TEGRA186_CLK_PWM1>;
782                 resets = <&bpmp TEGRA186_RESET_PWM1>;
783                 reset-names = "pwm";
784                 status = "disabled";
785                 #pwm-cells = <2>;
786         };
787
788         pwm2: pwm@3290000 {
789                 compatible = "nvidia,tegra186-pwm";
790                 reg = <0x0 0x3290000 0x0 0x10000>;
791                 clocks = <&bpmp TEGRA186_CLK_PWM2>;
792                 resets = <&bpmp TEGRA186_RESET_PWM2>;
793                 reset-names = "pwm";
794                 status = "disabled";
795                 #pwm-cells = <2>;
796         };
797
798         pwm3: pwm@32a0000 {
799                 compatible = "nvidia,tegra186-pwm";
800                 reg = <0x0 0x32a0000 0x0 0x10000>;
801                 clocks = <&bpmp TEGRA186_CLK_PWM3>;
802                 resets = <&bpmp TEGRA186_RESET_PWM3>;
803                 reset-names = "pwm";
804                 status = "disabled";
805                 #pwm-cells = <2>;
806         };
807
808         pwm5: pwm@32c0000 {
809                 compatible = "nvidia,tegra186-pwm";
810                 reg = <0x0 0x32c0000 0x0 0x10000>;
811                 clocks = <&bpmp TEGRA186_CLK_PWM5>;
812                 resets = <&bpmp TEGRA186_RESET_PWM5>;
813                 reset-names = "pwm";
814                 status = "disabled";
815                 #pwm-cells = <2>;
816         };
817
818         pwm6: pwm@32d0000 {
819                 compatible = "nvidia,tegra186-pwm";
820                 reg = <0x0 0x32d0000 0x0 0x10000>;
821                 clocks = <&bpmp TEGRA186_CLK_PWM6>;
822                 resets = <&bpmp TEGRA186_RESET_PWM6>;
823                 reset-names = "pwm";
824                 status = "disabled";
825                 #pwm-cells = <2>;
826         };
827
828         pwm7: pwm@32e0000 {
829                 compatible = "nvidia,tegra186-pwm";
830                 reg = <0x0 0x32e0000 0x0 0x10000>;
831                 clocks = <&bpmp TEGRA186_CLK_PWM7>;
832                 resets = <&bpmp TEGRA186_RESET_PWM7>;
833                 reset-names = "pwm";
834                 status = "disabled";
835                 #pwm-cells = <2>;
836         };
837
838         pwm8: pwm@32f0000 {
839                 compatible = "nvidia,tegra186-pwm";
840                 reg = <0x0 0x32f0000 0x0 0x10000>;
841                 clocks = <&bpmp TEGRA186_CLK_PWM8>;
842                 resets = <&bpmp TEGRA186_RESET_PWM8>;
843                 reset-names = "pwm";
844                 status = "disabled";
845                 #pwm-cells = <2>;
846         };
847
848         sdmmc1: mmc@3400000 {
849                 compatible = "nvidia,tegra186-sdhci";
850                 reg = <0x0 0x03400000 0x0 0x10000>;
851                 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
852                 clocks = <&bpmp TEGRA186_CLK_SDMMC1>,
853                          <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
854                 clock-names = "sdhci", "tmclk";
855                 resets = <&bpmp TEGRA186_RESET_SDMMC1>;
856                 reset-names = "sdhci";
857                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRA &emc>,
858                                 <&mc TEGRA186_MEMORY_CLIENT_SDMMCWA &emc>;
859                 interconnect-names = "dma-mem", "write";
860                 iommus = <&smmu TEGRA186_SID_SDMMC1>;
861                 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
862                 pinctrl-0 = <&sdmmc1_3v3>;
863                 pinctrl-1 = <&sdmmc1_1v8>;
864                 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
865                 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
866                 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
867                 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
868                 nvidia,pad-autocal-pull-up-offset-sdr104 = <0x03>;
869                 nvidia,pad-autocal-pull-down-offset-sdr104 = <0x05>;
870                 nvidia,default-tap = <0x5>;
871                 nvidia,default-trim = <0xb>;
872                 assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC1>,
873                                   <&bpmp TEGRA186_CLK_PLLP_OUT0>;
874                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>;
875                 status = "disabled";
876         };
877
878         sdmmc2: mmc@3420000 {
879                 compatible = "nvidia,tegra186-sdhci";
880                 reg = <0x0 0x03420000 0x0 0x10000>;
881                 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
882                 clocks = <&bpmp TEGRA186_CLK_SDMMC2>,
883                          <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
884                 clock-names = "sdhci", "tmclk";
885                 resets = <&bpmp TEGRA186_RESET_SDMMC2>;
886                 reset-names = "sdhci";
887                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAA &emc>,
888                                 <&mc TEGRA186_MEMORY_CLIENT_SDMMCWAA &emc>;
889                 interconnect-names = "dma-mem", "write";
890                 iommus = <&smmu TEGRA186_SID_SDMMC2>;
891                 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
892                 pinctrl-0 = <&sdmmc2_3v3>;
893                 pinctrl-1 = <&sdmmc2_1v8>;
894                 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
895                 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
896                 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
897                 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
898                 nvidia,default-tap = <0x5>;
899                 nvidia,default-trim = <0xb>;
900                 status = "disabled";
901         };
902
903         sdmmc3: mmc@3440000 {
904                 compatible = "nvidia,tegra186-sdhci";
905                 reg = <0x0 0x03440000 0x0 0x10000>;
906                 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
907                 clocks = <&bpmp TEGRA186_CLK_SDMMC3>,
908                          <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
909                 clock-names = "sdhci", "tmclk";
910                 resets = <&bpmp TEGRA186_RESET_SDMMC3>;
911                 reset-names = "sdhci";
912                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCR &emc>,
913                                 <&mc TEGRA186_MEMORY_CLIENT_SDMMCW &emc>;
914                 interconnect-names = "dma-mem", "write";
915                 iommus = <&smmu TEGRA186_SID_SDMMC3>;
916                 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
917                 pinctrl-0 = <&sdmmc3_3v3>;
918                 pinctrl-1 = <&sdmmc3_1v8>;
919                 nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>;
920                 nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>;
921                 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
922                 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
923                 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
924                 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
925                 nvidia,default-tap = <0x5>;
926                 nvidia,default-trim = <0xb>;
927                 status = "disabled";
928         };
929
930         sdmmc4: mmc@3460000 {
931                 compatible = "nvidia,tegra186-sdhci";
932                 reg = <0x0 0x03460000 0x0 0x10000>;
933                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
934                 clocks = <&bpmp TEGRA186_CLK_SDMMC4>,
935                          <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
936                 clock-names = "sdhci", "tmclk";
937                 assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC4>,
938                                   <&bpmp TEGRA186_CLK_PLLC4_VCO>;
939                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLC4_VCO>;
940                 resets = <&bpmp TEGRA186_RESET_SDMMC4>;
941                 reset-names = "sdhci";
942                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAB &emc>,
943                                 <&mc TEGRA186_MEMORY_CLIENT_SDMMCWAB &emc>;
944                 interconnect-names = "dma-mem", "write";
945                 iommus = <&smmu TEGRA186_SID_SDMMC4>;
946                 nvidia,pad-autocal-pull-up-offset-hs400 = <0x05>;
947                 nvidia,pad-autocal-pull-down-offset-hs400 = <0x05>;
948                 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>;
949                 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x0a>;
950                 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>;
951                 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x0a>;
952                 nvidia,default-tap = <0x9>;
953                 nvidia,default-trim = <0x5>;
954                 nvidia,dqs-trim = <63>;
955                 mmc-hs400-1_8v;
956                 supports-cqe;
957                 status = "disabled";
958         };
959
960         sata@3507000 {
961                 compatible = "nvidia,tegra186-ahci";
962                 reg = <0x0 0x03507000 0x0 0x00002000>, /* AHCI */
963                       <0x0 0x03500000 0x0 0x00007000>, /* SATA */
964                       <0x0 0x03A90000 0x0 0x00010000>; /* SATA AUX */
965                 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
966
967                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_SAX>;
968                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SATAR &emc>,
969                                 <&mc TEGRA186_MEMORY_CLIENT_SATAW &emc>;
970                 interconnect-names = "dma-mem", "write";
971                 iommus = <&smmu TEGRA186_SID_SATA>;
972
973                 clocks = <&bpmp TEGRA186_CLK_SATA>,
974                          <&bpmp TEGRA186_CLK_SATA_OOB>;
975                 clock-names = "sata", "sata-oob";
976                 assigned-clocks = <&bpmp TEGRA186_CLK_SATA>,
977                                   <&bpmp TEGRA186_CLK_SATA_OOB>;
978                 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>,
979                                          <&bpmp TEGRA186_CLK_PLLP>;
980                 assigned-clock-rates = <102000000>,
981                                        <204000000>;
982                 resets = <&bpmp TEGRA186_RESET_SATA>,
983                         <&bpmp TEGRA186_RESET_SATACOLD>;
984                 reset-names = "sata", "sata-cold";
985                 status = "disabled";
986         };
987
988         hda@3510000 {
989                 compatible = "nvidia,tegra186-hda", "nvidia,tegra30-hda";
990                 reg = <0x0 0x03510000 0x0 0x10000>;
991                 interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
992                 clocks = <&bpmp TEGRA186_CLK_HDA>,
993                          <&bpmp TEGRA186_CLK_HDA2HDMICODEC>,
994                          <&bpmp TEGRA186_CLK_HDA2CODEC_2X>;
995                 clock-names = "hda", "hda2hdmi", "hda2codec_2x";
996                 resets = <&bpmp TEGRA186_RESET_HDA>,
997                          <&bpmp TEGRA186_RESET_HDA2HDMICODEC>,
998                          <&bpmp TEGRA186_RESET_HDA2CODEC_2X>;
999                 reset-names = "hda", "hda2hdmi", "hda2codec_2x";
1000                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1001                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_HDAR &emc>,
1002                                 <&mc TEGRA186_MEMORY_CLIENT_HDAW &emc>;
1003                 interconnect-names = "dma-mem", "write";
1004                 iommus = <&smmu TEGRA186_SID_HDA>;
1005                 status = "disabled";
1006         };
1007
1008         padctl: padctl@3520000 {
1009                 compatible = "nvidia,tegra186-xusb-padctl";
1010                 reg = <0x0 0x03520000 0x0 0x1000>,
1011                       <0x0 0x03540000 0x0 0x1000>;
1012                 reg-names = "padctl", "ao";
1013                 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
1014
1015                 resets = <&bpmp TEGRA186_RESET_XUSB_PADCTL>;
1016                 reset-names = "padctl";
1017
1018                 status = "disabled";
1019
1020                 pads {
1021                         usb2 {
1022                                 clocks = <&bpmp TEGRA186_CLK_USB2_TRK>;
1023                                 clock-names = "trk";
1024                                 status = "disabled";
1025
1026                                 lanes {
1027                                         usb2-0 {
1028                                                 status = "disabled";
1029                                                 #phy-cells = <0>;
1030                                         };
1031
1032                                         usb2-1 {
1033                                                 status = "disabled";
1034                                                 #phy-cells = <0>;
1035                                         };
1036
1037                                         usb2-2 {
1038                                                 status = "disabled";
1039                                                 #phy-cells = <0>;
1040                                         };
1041                                 };
1042                         };
1043
1044                         hsic {
1045                                 clocks = <&bpmp TEGRA186_CLK_HSIC_TRK>;
1046                                 clock-names = "trk";
1047                                 status = "disabled";
1048
1049                                 lanes {
1050                                         hsic-0 {
1051                                                 status = "disabled";
1052                                                 #phy-cells = <0>;
1053                                         };
1054                                 };
1055                         };
1056
1057                         usb3 {
1058                                 status = "disabled";
1059
1060                                 lanes {
1061                                         usb3-0 {
1062                                                 status = "disabled";
1063                                                 #phy-cells = <0>;
1064                                         };
1065
1066                                         usb3-1 {
1067                                                 status = "disabled";
1068                                                 #phy-cells = <0>;
1069                                         };
1070
1071                                         usb3-2 {
1072                                                 status = "disabled";
1073                                                 #phy-cells = <0>;
1074                                         };
1075                                 };
1076                         };
1077                 };
1078
1079                 ports {
1080                         usb2-0 {
1081                                 status = "disabled";
1082                         };
1083
1084                         usb2-1 {
1085                                 status = "disabled";
1086                         };
1087
1088                         usb2-2 {
1089                                 status = "disabled";
1090                         };
1091
1092                         hsic-0 {
1093                                 status = "disabled";
1094                         };
1095
1096                         usb3-0 {
1097                                 status = "disabled";
1098                         };
1099
1100                         usb3-1 {
1101                                 status = "disabled";
1102                         };
1103
1104                         usb3-2 {
1105                                 status = "disabled";
1106                         };
1107                 };
1108         };
1109
1110         usb@3530000 {
1111                 compatible = "nvidia,tegra186-xusb";
1112                 reg = <0x0 0x03530000 0x0 0x8000>,
1113                       <0x0 0x03538000 0x0 0x1000>;
1114                 reg-names = "hcd", "fpci";
1115                 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
1116                              <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
1117                 clocks = <&bpmp TEGRA186_CLK_XUSB_HOST>,
1118                          <&bpmp TEGRA186_CLK_XUSB_FALCON>,
1119                          <&bpmp TEGRA186_CLK_XUSB_SS>,
1120                          <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
1121                          <&bpmp TEGRA186_CLK_CLK_M>,
1122                          <&bpmp TEGRA186_CLK_XUSB_FS>,
1123                          <&bpmp TEGRA186_CLK_PLLU>,
1124                          <&bpmp TEGRA186_CLK_CLK_M>,
1125                          <&bpmp TEGRA186_CLK_PLLE>;
1126                 clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss",
1127                               "xusb_ss_src", "xusb_hs_src", "xusb_fs_src",
1128                               "pll_u_480m", "clk_m", "pll_e";
1129                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBC>,
1130                                 <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
1131                 power-domain-names = "xusb_host", "xusb_ss";
1132                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTR &emc>,
1133                                 <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTW &emc>;
1134                 interconnect-names = "dma-mem", "write";
1135                 iommus = <&smmu TEGRA186_SID_XUSB_HOST>;
1136                 #address-cells = <1>;
1137                 #size-cells = <0>;
1138                 status = "disabled";
1139
1140                 nvidia,xusb-padctl = <&padctl>;
1141         };
1142
1143         usb@3550000 {
1144                 compatible = "nvidia,tegra186-xudc";
1145                 reg = <0x0 0x03550000 0x0 0x8000>,
1146                       <0x0 0x03558000 0x0 0x1000>;
1147                 reg-names = "base", "fpci";
1148                 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
1149                 clocks = <&bpmp TEGRA186_CLK_XUSB_CORE_DEV>,
1150                          <&bpmp TEGRA186_CLK_XUSB_SS>,
1151                          <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
1152                          <&bpmp TEGRA186_CLK_XUSB_FS>;
1153                 clock-names = "dev", "ss", "ss_src", "fs_src";
1154                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_DEVR &emc>,
1155                                 <&mc TEGRA186_MEMORY_CLIENT_XUSB_DEVW &emc>;
1156                 interconnect-names = "dma-mem", "write";
1157                 iommus = <&smmu TEGRA186_SID_XUSB_DEV>;
1158                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBB>,
1159                                 <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
1160                 power-domain-names = "dev", "ss";
1161                 nvidia,xusb-padctl = <&padctl>;
1162                 status = "disabled";
1163         };
1164
1165         fuse@3820000 {
1166                 compatible = "nvidia,tegra186-efuse";
1167                 reg = <0x0 0x03820000 0x0 0x10000>;
1168                 clocks = <&bpmp TEGRA186_CLK_FUSE>;
1169                 clock-names = "fuse";
1170         };
1171
1172         gic: interrupt-controller@3881000 {
1173                 compatible = "arm,gic-400";
1174                 #interrupt-cells = <3>;
1175                 interrupt-controller;
1176                 reg = <0x0 0x03881000 0x0 0x1000>,
1177                       <0x0 0x03882000 0x0 0x2000>,
1178                       <0x0 0x03884000 0x0 0x2000>,
1179                       <0x0 0x03886000 0x0 0x2000>;
1180                 interrupts = <GIC_PPI 9
1181                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
1182                 interrupt-parent = <&gic>;
1183         };
1184
1185         cec@3960000 {
1186                 compatible = "nvidia,tegra186-cec";
1187                 reg = <0x0 0x03960000 0x0 0x10000>;
1188                 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1189                 clocks = <&bpmp TEGRA186_CLK_CEC>;
1190                 clock-names = "cec";
1191                 status = "disabled";
1192         };
1193
1194         hsp_top0: hsp@3c00000 {
1195                 compatible = "nvidia,tegra186-hsp";
1196                 reg = <0x0 0x03c00000 0x0 0xa0000>;
1197                 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
1198                 interrupt-names = "doorbell";
1199                 #mbox-cells = <2>;
1200                 status = "disabled";
1201         };
1202
1203         gen2_i2c: i2c@c240000 {
1204                 compatible = "nvidia,tegra186-i2c";
1205                 reg = <0x0 0x0c240000 0x0 0x10000>;
1206                 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
1207                 #address-cells = <1>;
1208                 #size-cells = <0>;
1209                 clocks = <&bpmp TEGRA186_CLK_I2C2>;
1210                 clock-names = "div-clk";
1211                 resets = <&bpmp TEGRA186_RESET_I2C2>;
1212                 reset-names = "i2c";
1213                 dmas = <&gpcdma 22>, <&gpcdma 22>;
1214                 dma-names = "rx", "tx";
1215                 status = "disabled";
1216         };
1217
1218         gen8_i2c: i2c@c250000 {
1219                 compatible = "nvidia,tegra186-i2c";
1220                 reg = <0x0 0x0c250000 0x0 0x10000>;
1221                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
1222                 #address-cells = <1>;
1223                 #size-cells = <0>;
1224                 clocks = <&bpmp TEGRA186_CLK_I2C8>;
1225                 clock-names = "div-clk";
1226                 resets = <&bpmp TEGRA186_RESET_I2C8>;
1227                 reset-names = "i2c";
1228                 dmas = <&gpcdma 0>, <&gpcdma 0>;
1229                 dma-names = "rx", "tx";
1230                 status = "disabled";
1231         };
1232
1233         uartc: serial@c280000 {
1234                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
1235                 reg = <0x0 0x0c280000 0x0 0x40>;
1236                 reg-shift = <2>;
1237                 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
1238                 clocks = <&bpmp TEGRA186_CLK_UARTC>;
1239                 clock-names = "serial";
1240                 resets = <&bpmp TEGRA186_RESET_UARTC>;
1241                 reset-names = "serial";
1242                 status = "disabled";
1243         };
1244
1245         uartg: serial@c290000 {
1246                 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
1247                 reg = <0x0 0x0c290000 0x0 0x40>;
1248                 reg-shift = <2>;
1249                 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1250                 clocks = <&bpmp TEGRA186_CLK_UARTG>;
1251                 clock-names = "serial";
1252                 resets = <&bpmp TEGRA186_RESET_UARTG>;
1253                 reset-names = "serial";
1254                 status = "disabled";
1255         };
1256
1257         rtc: rtc@c2a0000 {
1258                 compatible = "nvidia,tegra186-rtc", "nvidia,tegra20-rtc";
1259                 reg = <0 0x0c2a0000 0 0x10000>;
1260                 interrupt-parent = <&pmc>;
1261                 interrupts = <73 IRQ_TYPE_LEVEL_HIGH>;
1262                 clocks = <&bpmp TEGRA186_CLK_CLK_32K>;
1263                 clock-names = "rtc";
1264                 status = "disabled";
1265         };
1266
1267         gpio_aon: gpio@c2f0000 {
1268                 compatible = "nvidia,tegra186-gpio-aon";
1269                 reg-names = "security", "gpio";
1270                 reg = <0x0 0xc2f0000 0x0 0x1000>,
1271                       <0x0 0xc2f1000 0x0 0x1000>;
1272                 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
1273                 gpio-controller;
1274                 #gpio-cells = <2>;
1275                 interrupt-controller;
1276                 #interrupt-cells = <2>;
1277         };
1278
1279         pwm4: pwm@c340000 {
1280                 compatible = "nvidia,tegra186-pwm";
1281                 reg = <0x0 0xc340000 0x0 0x10000>;
1282                 clocks = <&bpmp TEGRA186_CLK_PWM4>;
1283                 resets = <&bpmp TEGRA186_RESET_PWM4>;
1284                 reset-names = "pwm";
1285                 status = "disabled";
1286                 #pwm-cells = <2>;
1287         };
1288
1289         pmc: pmc@c360000 {
1290                 compatible = "nvidia,tegra186-pmc";
1291                 reg = <0 0x0c360000 0 0x10000>,
1292                       <0 0x0c370000 0 0x10000>,
1293                       <0 0x0c380000 0 0x10000>,
1294                       <0 0x0c390000 0 0x10000>;
1295                 reg-names = "pmc", "wake", "aotag", "scratch";
1296
1297                 #interrupt-cells = <2>;
1298                 interrupt-controller;
1299
1300                 sdmmc1_1v8: sdmmc1-1v8 {
1301                         pins = "sdmmc1-hv";
1302                         power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
1303                 };
1304
1305                 sdmmc1_3v3: sdmmc1-3v3 {
1306                         pins = "sdmmc1-hv";
1307                         power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
1308                 };
1309
1310                 sdmmc2_1v8: sdmmc2-1v8 {
1311                         pins = "sdmmc2-hv";
1312                         power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
1313                 };
1314
1315                 sdmmc2_3v3: sdmmc2-3v3 {
1316                         pins = "sdmmc2-hv";
1317                         power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
1318                 };
1319
1320                 sdmmc3_1v8: sdmmc3-1v8 {
1321                         pins = "sdmmc3-hv";
1322                         power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
1323                 };
1324
1325                 sdmmc3_3v3: sdmmc3-3v3 {
1326                         pins = "sdmmc3-hv";
1327                         power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
1328                 };
1329         };
1330
1331         ccplex@e000000 {
1332                 compatible = "nvidia,tegra186-ccplex-cluster";
1333                 reg = <0x0 0x0e000000 0x0 0x400000>;
1334
1335                 nvidia,bpmp = <&bpmp>;
1336         };
1337
1338         pcie@10003000 {
1339                 compatible = "nvidia,tegra186-pcie";
1340                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>;
1341                 device_type = "pci";
1342                 reg = <0x0 0x10003000 0x0 0x00000800>, /* PADS registers */
1343                       <0x0 0x10003800 0x0 0x00000800>, /* AFI registers */
1344                       <0x0 0x40000000 0x0 0x10000000>; /* configuration space */
1345                 reg-names = "pads", "afi", "cs";
1346
1347                 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
1348                              <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
1349                 interrupt-names = "intr", "msi";
1350
1351                 #interrupt-cells = <1>;
1352                 interrupt-map-mask = <0 0 0 0>;
1353                 interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1354
1355                 bus-range = <0x00 0xff>;
1356                 #address-cells = <3>;
1357                 #size-cells = <2>;
1358
1359                 ranges = <0x02000000 0 0x10000000 0x0 0x10000000 0 0x00001000>, /* port 0 configuration space */
1360                          <0x02000000 0 0x10001000 0x0 0x10001000 0 0x00001000>,/* port 1 configuration space */
1361                          <0x02000000 0 0x10004000 0x0 0x10004000 0 0x00001000>, /* port 2 configuration space */
1362                          <0x01000000 0 0x0        0x0 0x50000000 0 0x00010000>, /* downstream I/O (64 KiB) */
1363                          <0x02000000 0 0x50100000 0x0 0x50100000 0 0x07f00000>, /* non-prefetchable memory (127 MiB) */
1364                          <0x42000000 0 0x58000000 0x0 0x58000000 0 0x28000000>; /* prefetchable memory (640 MiB) */
1365
1366                 clocks = <&bpmp TEGRA186_CLK_PCIE>,
1367                          <&bpmp TEGRA186_CLK_AFI>,
1368                          <&bpmp TEGRA186_CLK_PLLE>;
1369                 clock-names = "pex", "afi", "pll_e";
1370
1371                 resets = <&bpmp TEGRA186_RESET_PCIE>,
1372                          <&bpmp TEGRA186_RESET_AFI>,
1373                          <&bpmp TEGRA186_RESET_PCIEXCLK>;
1374                 reset-names = "pex", "afi", "pcie_x";
1375
1376                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_AFIR &emc>,
1377                                 <&mc TEGRA186_MEMORY_CLIENT_AFIW &emc>;
1378                 interconnect-names = "dma-mem", "write";
1379
1380                 iommus = <&smmu TEGRA186_SID_AFI>;
1381                 iommu-map = <0x0 &smmu TEGRA186_SID_AFI 0x1000>;
1382                 iommu-map-mask = <0x0>;
1383
1384                 status = "disabled";
1385
1386                 pci@1,0 {
1387                         device_type = "pci";
1388                         assigned-addresses = <0x82000800 0 0x10000000 0 0x1000>;
1389                         reg = <0x000800 0 0 0 0>;
1390                         status = "disabled";
1391
1392                         #address-cells = <3>;
1393                         #size-cells = <2>;
1394                         ranges;
1395
1396                         nvidia,num-lanes = <2>;
1397                 };
1398
1399                 pci@2,0 {
1400                         device_type = "pci";
1401                         assigned-addresses = <0x82001000 0 0x10001000 0 0x1000>;
1402                         reg = <0x001000 0 0 0 0>;
1403                         status = "disabled";
1404
1405                         #address-cells = <3>;
1406                         #size-cells = <2>;
1407                         ranges;
1408
1409                         nvidia,num-lanes = <1>;
1410                 };
1411
1412                 pci@3,0 {
1413                         device_type = "pci";
1414                         assigned-addresses = <0x82001800 0 0x10004000 0 0x1000>;
1415                         reg = <0x001800 0 0 0 0>;
1416                         status = "disabled";
1417
1418                         #address-cells = <3>;
1419                         #size-cells = <2>;
1420                         ranges;
1421
1422                         nvidia,num-lanes = <1>;
1423                 };
1424         };
1425
1426         smmu: iommu@12000000 {
1427                 compatible = "nvidia,tegra186-smmu", "nvidia,smmu-500";
1428                 reg = <0 0x12000000 0 0x800000>;
1429                 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1430                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1431                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1432                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1433                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1434                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1435                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1436                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1437                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1438                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1439                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1440                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1441                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1442                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1443                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1444                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1445                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1446                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1447                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1448                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1449                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1450                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1451                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1452                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1453                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1454                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1455                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1456                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1457                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1458                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1459                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1460                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1461                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1462                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1463                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1464                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1465                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1466                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1467                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1468                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1469                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1470                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1471                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1472                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1473                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1474                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1475                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1476                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1477                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1478                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1479                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1480                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1481                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1482                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1483                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1484                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1485                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1486                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1487                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1488                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1489                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1490                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1491                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1492                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1493                              <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
1494                 stream-match-mask = <0x7f80>;
1495                 #global-interrupts = <1>;
1496                 #iommu-cells = <1>;
1497
1498                 nvidia,memory-controller = <&mc>;
1499         };
1500
1501         host1x@13e00000 {
1502                 compatible = "nvidia,tegra186-host1x";
1503                 reg = <0x0 0x13e00000 0x0 0x10000>,
1504                       <0x0 0x13e10000 0x0 0x10000>;
1505                 reg-names = "hypervisor", "vm";
1506                 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
1507                              <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
1508                 interrupt-names = "syncpt", "host1x";
1509                 clocks = <&bpmp TEGRA186_CLK_HOST1X>;
1510                 clock-names = "host1x";
1511                 resets = <&bpmp TEGRA186_RESET_HOST1X>;
1512                 reset-names = "host1x";
1513
1514                 #address-cells = <1>;
1515                 #size-cells = <1>;
1516
1517                 ranges = <0x15000000 0x0 0x15000000 0x01000000>;
1518
1519                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_HOST1XDMAR &emc>;
1520                 interconnect-names = "dma-mem";
1521
1522                 iommus = <&smmu TEGRA186_SID_HOST1X>;
1523
1524                 /* Context isolation domains */
1525                 iommu-map = <0 &smmu TEGRA186_SID_HOST1X_CTX0 1>,
1526                             <1 &smmu TEGRA186_SID_HOST1X_CTX1 1>,
1527                             <2 &smmu TEGRA186_SID_HOST1X_CTX2 1>,
1528                             <3 &smmu TEGRA186_SID_HOST1X_CTX3 1>,
1529                             <4 &smmu TEGRA186_SID_HOST1X_CTX4 1>,
1530                             <5 &smmu TEGRA186_SID_HOST1X_CTX5 1>,
1531                             <6 &smmu TEGRA186_SID_HOST1X_CTX6 1>,
1532                             <7 &smmu TEGRA186_SID_HOST1X_CTX7 1>;
1533
1534                 dpaux1: dpaux@15040000 {
1535                         compatible = "nvidia,tegra186-dpaux";
1536                         reg = <0x15040000 0x10000>;
1537                         interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
1538                         clocks = <&bpmp TEGRA186_CLK_DPAUX1>,
1539                                  <&bpmp TEGRA186_CLK_PLLDP>;
1540                         clock-names = "dpaux", "parent";
1541                         resets = <&bpmp TEGRA186_RESET_DPAUX1>;
1542                         reset-names = "dpaux";
1543                         status = "disabled";
1544
1545                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1546
1547                         state_dpaux1_aux: pinmux-aux {
1548                                 groups = "dpaux-io";
1549                                 function = "aux";
1550                         };
1551
1552                         state_dpaux1_i2c: pinmux-i2c {
1553                                 groups = "dpaux-io";
1554                                 function = "i2c";
1555                         };
1556
1557                         state_dpaux1_off: pinmux-off {
1558                                 groups = "dpaux-io";
1559                                 function = "off";
1560                         };
1561
1562                         i2c-bus {
1563                                 #address-cells = <1>;
1564                                 #size-cells = <0>;
1565                         };
1566                 };
1567
1568                 display-hub@15200000 {
1569                         compatible = "nvidia,tegra186-display";
1570                         reg = <0x15200000 0x00040000>;
1571                         resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_MISC>,
1572                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP0>,
1573                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP1>,
1574                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP2>,
1575                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP3>,
1576                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP4>,
1577                                  <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP5>;
1578                         reset-names = "misc", "wgrp0", "wgrp1", "wgrp2",
1579                                       "wgrp3", "wgrp4", "wgrp5";
1580                         clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_DISP>,
1581                                  <&bpmp TEGRA186_CLK_NVDISPLAY_DSC>,
1582                                  <&bpmp TEGRA186_CLK_NVDISPLAYHUB>;
1583                         clock-names = "disp", "dsc", "hub";
1584                         status = "disabled";
1585
1586                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1587
1588                         #address-cells = <1>;
1589                         #size-cells = <1>;
1590
1591                         ranges = <0x15200000 0x15200000 0x40000>;
1592
1593                         display@15200000 {
1594                                 compatible = "nvidia,tegra186-dc";
1595                                 reg = <0x15200000 0x10000>;
1596                                 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
1597                                 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P0>;
1598                                 clock-names = "dc";
1599                                 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD0>;
1600                                 reset-names = "dc";
1601
1602                                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1603                                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1604                                                 <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1605                                 interconnect-names = "dma-mem", "read-1";
1606                                 iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1607
1608                                 nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
1609                                 nvidia,head = <0>;
1610                         };
1611
1612                         display@15210000 {
1613                                 compatible = "nvidia,tegra186-dc";
1614                                 reg = <0x15210000 0x10000>;
1615                                 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
1616                                 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P1>;
1617                                 clock-names = "dc";
1618                                 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD1>;
1619                                 reset-names = "dc";
1620
1621                                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPB>;
1622                                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1623                                                 <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1624                                 interconnect-names = "dma-mem", "read-1";
1625                                 iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1626
1627                                 nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
1628                                 nvidia,head = <1>;
1629                         };
1630
1631                         display@15220000 {
1632                                 compatible = "nvidia,tegra186-dc";
1633                                 reg = <0x15220000 0x10000>;
1634                                 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1635                                 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P2>;
1636                                 clock-names = "dc";
1637                                 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD2>;
1638                                 reset-names = "dc";
1639
1640                                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPC>;
1641                                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1642                                                 <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1643                                 interconnect-names = "dma-mem", "read-1";
1644                                 iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1645
1646                                 nvidia,outputs = <&sor0 &sor1>;
1647                                 nvidia,head = <2>;
1648                         };
1649                 };
1650
1651                 dsia: dsi@15300000 {
1652                         compatible = "nvidia,tegra186-dsi";
1653                         reg = <0x15300000 0x10000>;
1654                         interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1655                         clocks = <&bpmp TEGRA186_CLK_DSI>,
1656                                  <&bpmp TEGRA186_CLK_DSIA_LP>,
1657                                  <&bpmp TEGRA186_CLK_PLLD>;
1658                         clock-names = "dsi", "lp", "parent";
1659                         resets = <&bpmp TEGRA186_RESET_DSI>;
1660                         reset-names = "dsi";
1661                         status = "disabled";
1662
1663                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1664                 };
1665
1666                 vic@15340000 {
1667                         compatible = "nvidia,tegra186-vic";
1668                         reg = <0x15340000 0x40000>;
1669                         interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
1670                         clocks = <&bpmp TEGRA186_CLK_VIC>;
1671                         clock-names = "vic";
1672                         resets = <&bpmp TEGRA186_RESET_VIC>;
1673                         reset-names = "vic";
1674
1675                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_VIC>;
1676                         interconnects = <&mc TEGRA186_MEMORY_CLIENT_VICSRD &emc>,
1677                                         <&mc TEGRA186_MEMORY_CLIENT_VICSWR &emc>;
1678                         interconnect-names = "dma-mem", "write";
1679                         iommus = <&smmu TEGRA186_SID_VIC>;
1680                 };
1681
1682                 nvjpg@15380000 {
1683                         compatible = "nvidia,tegra186-nvjpg";
1684                         reg = <0x15380000 0x40000>;
1685                         clocks = <&bpmp TEGRA186_CLK_NVJPG>;
1686                         clock-names = "nvjpg";
1687                         resets = <&bpmp TEGRA186_RESET_NVJPG>;
1688                         reset-names = "nvjpg";
1689
1690                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVJPG>;
1691                         interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVJPGSRD &emc>,
1692                                         <&mc TEGRA186_MEMORY_CLIENT_NVJPGSWR &emc>;
1693                         interconnect-names = "dma-mem", "write";
1694                         iommus = <&smmu TEGRA186_SID_NVJPG>;
1695                 };
1696
1697                 dsib: dsi@15400000 {
1698                         compatible = "nvidia,tegra186-dsi";
1699                         reg = <0x15400000 0x10000>;
1700                         interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1701                         clocks = <&bpmp TEGRA186_CLK_DSIB>,
1702                                  <&bpmp TEGRA186_CLK_DSIB_LP>,
1703                                  <&bpmp TEGRA186_CLK_PLLD>;
1704                         clock-names = "dsi", "lp", "parent";
1705                         resets = <&bpmp TEGRA186_RESET_DSIB>;
1706                         reset-names = "dsi";
1707                         status = "disabled";
1708
1709                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1710                 };
1711
1712                 nvdec@15480000 {
1713                         compatible = "nvidia,tegra186-nvdec";
1714                         reg = <0x15480000 0x40000>;
1715                         clocks = <&bpmp TEGRA186_CLK_NVDEC>;
1716                         clock-names = "nvdec";
1717                         resets = <&bpmp TEGRA186_RESET_NVDEC>;
1718                         reset-names = "nvdec";
1719
1720                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVDEC>;
1721                         interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD &emc>,
1722                                         <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD1 &emc>,
1723                                         <&mc TEGRA186_MEMORY_CLIENT_NVDECSWR &emc>;
1724                         interconnect-names = "dma-mem", "read-1", "write";
1725                         iommus = <&smmu TEGRA186_SID_NVDEC>;
1726                 };
1727
1728                 nvenc@154c0000 {
1729                         compatible = "nvidia,tegra186-nvenc";
1730                         reg = <0x154c0000 0x40000>;
1731                         clocks = <&bpmp TEGRA186_CLK_NVENC>;
1732                         clock-names = "nvenc";
1733                         resets = <&bpmp TEGRA186_RESET_NVENC>;
1734                         reset-names = "nvenc";
1735
1736                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_MPE>;
1737                         interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVENCSRD &emc>,
1738                                         <&mc TEGRA186_MEMORY_CLIENT_NVENCSWR &emc>;
1739                         interconnect-names = "dma-mem", "write";
1740                         iommus = <&smmu TEGRA186_SID_NVENC>;
1741                 };
1742
1743                 sor0: sor@15540000 {
1744                         compatible = "nvidia,tegra186-sor";
1745                         reg = <0x15540000 0x10000>;
1746                         interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
1747                         clocks = <&bpmp TEGRA186_CLK_SOR0>,
1748                                  <&bpmp TEGRA186_CLK_SOR0_OUT>,
1749                                  <&bpmp TEGRA186_CLK_PLLD2>,
1750                                  <&bpmp TEGRA186_CLK_PLLDP>,
1751                                  <&bpmp TEGRA186_CLK_SOR_SAFE>,
1752                                  <&bpmp TEGRA186_CLK_SOR0_PAD_CLKOUT>;
1753                         clock-names = "sor", "out", "parent", "dp", "safe",
1754                                       "pad";
1755                         resets = <&bpmp TEGRA186_RESET_SOR0>;
1756                         reset-names = "sor";
1757                         pinctrl-0 = <&state_dpaux_aux>;
1758                         pinctrl-1 = <&state_dpaux_i2c>;
1759                         pinctrl-2 = <&state_dpaux_off>;
1760                         pinctrl-names = "aux", "i2c", "off";
1761                         status = "disabled";
1762
1763                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1764                         nvidia,interface = <0>;
1765                 };
1766
1767                 sor1: sor@15580000 {
1768                         compatible = "nvidia,tegra186-sor";
1769                         reg = <0x15580000 0x10000>;
1770                         interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
1771                         clocks = <&bpmp TEGRA186_CLK_SOR1>,
1772                                  <&bpmp TEGRA186_CLK_SOR1_OUT>,
1773                                  <&bpmp TEGRA186_CLK_PLLD3>,
1774                                  <&bpmp TEGRA186_CLK_PLLDP>,
1775                                  <&bpmp TEGRA186_CLK_SOR_SAFE>,
1776                                  <&bpmp TEGRA186_CLK_SOR1_PAD_CLKOUT>;
1777                         clock-names = "sor", "out", "parent", "dp", "safe",
1778                                       "pad";
1779                         resets = <&bpmp TEGRA186_RESET_SOR1>;
1780                         reset-names = "sor";
1781                         pinctrl-0 = <&state_dpaux1_aux>;
1782                         pinctrl-1 = <&state_dpaux1_i2c>;
1783                         pinctrl-2 = <&state_dpaux1_off>;
1784                         pinctrl-names = "aux", "i2c", "off";
1785                         status = "disabled";
1786
1787                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1788                         nvidia,interface = <1>;
1789                 };
1790
1791                 dpaux: dpaux@155c0000 {
1792                         compatible = "nvidia,tegra186-dpaux";
1793                         reg = <0x155c0000 0x10000>;
1794                         interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
1795                         clocks = <&bpmp TEGRA186_CLK_DPAUX>,
1796                                  <&bpmp TEGRA186_CLK_PLLDP>;
1797                         clock-names = "dpaux", "parent";
1798                         resets = <&bpmp TEGRA186_RESET_DPAUX>;
1799                         reset-names = "dpaux";
1800                         status = "disabled";
1801
1802                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1803
1804                         state_dpaux_aux: pinmux-aux {
1805                                 groups = "dpaux-io";
1806                                 function = "aux";
1807                         };
1808
1809                         state_dpaux_i2c: pinmux-i2c {
1810                                 groups = "dpaux-io";
1811                                 function = "i2c";
1812                         };
1813
1814                         state_dpaux_off: pinmux-off {
1815                                 groups = "dpaux-io";
1816                                 function = "off";
1817                         };
1818
1819                         i2c-bus {
1820                                 #address-cells = <1>;
1821                                 #size-cells = <0>;
1822                         };
1823                 };
1824
1825                 padctl@15880000 {
1826                         compatible = "nvidia,tegra186-dsi-padctl";
1827                         reg = <0x15880000 0x10000>;
1828                         resets = <&bpmp TEGRA186_RESET_DSI>;
1829                         reset-names = "dsi";
1830                         status = "disabled";
1831                 };
1832
1833                 dsic: dsi@15900000 {
1834                         compatible = "nvidia,tegra186-dsi";
1835                         reg = <0x15900000 0x10000>;
1836                         interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
1837                         clocks = <&bpmp TEGRA186_CLK_DSIC>,
1838                                  <&bpmp TEGRA186_CLK_DSIC_LP>,
1839                                  <&bpmp TEGRA186_CLK_PLLD>;
1840                         clock-names = "dsi", "lp", "parent";
1841                         resets = <&bpmp TEGRA186_RESET_DSIC>;
1842                         reset-names = "dsi";
1843                         status = "disabled";
1844
1845                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1846                 };
1847
1848                 dsid: dsi@15940000 {
1849                         compatible = "nvidia,tegra186-dsi";
1850                         reg = <0x15940000 0x10000>;
1851                         interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
1852                         clocks = <&bpmp TEGRA186_CLK_DSID>,
1853                                  <&bpmp TEGRA186_CLK_DSID_LP>,
1854                                  <&bpmp TEGRA186_CLK_PLLD>;
1855                         clock-names = "dsi", "lp", "parent";
1856                         resets = <&bpmp TEGRA186_RESET_DSID>;
1857                         reset-names = "dsi";
1858                         status = "disabled";
1859
1860                         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1861                 };
1862         };
1863
1864         gpu@17000000 {
1865                 compatible = "nvidia,gp10b";
1866                 reg = <0x0 0x17000000 0x0 0x1000000>,
1867                       <0x0 0x18000000 0x0 0x1000000>;
1868                 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
1869                              <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
1870                 interrupt-names = "stall", "nonstall";
1871
1872                 clocks = <&bpmp TEGRA186_CLK_GPCCLK>,
1873                          <&bpmp TEGRA186_CLK_GPU>;
1874                 clock-names = "gpu", "pwr";
1875                 resets = <&bpmp TEGRA186_RESET_GPU>;
1876                 reset-names = "gpu";
1877                 status = "disabled";
1878
1879                 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>;
1880                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_GPUSRD &emc>,
1881                                 <&mc TEGRA186_MEMORY_CLIENT_GPUSWR &emc>,
1882                                 <&mc TEGRA186_MEMORY_CLIENT_GPUSRD2 &emc>,
1883                                 <&mc TEGRA186_MEMORY_CLIENT_GPUSWR2 &emc>;
1884                 interconnect-names = "dma-mem", "write-0", "read-1", "write-1";
1885         };
1886
1887         sram@30000000 {
1888                 compatible = "nvidia,tegra186-sysram", "mmio-sram";
1889                 reg = <0x0 0x30000000 0x0 0x50000>;
1890                 #address-cells = <1>;
1891                 #size-cells = <1>;
1892                 ranges = <0x0 0x0 0x30000000 0x50000>;
1893                 no-memory-wc;
1894
1895                 cpu_bpmp_tx: sram@4e000 {
1896                         reg = <0x4e000 0x1000>;
1897                         label = "cpu-bpmp-tx";
1898                         pool;
1899                 };
1900
1901                 cpu_bpmp_rx: sram@4f000 {
1902                         reg = <0x4f000 0x1000>;
1903                         label = "cpu-bpmp-rx";
1904                         pool;
1905                 };
1906         };
1907
1908         bpmp: bpmp {
1909                 compatible = "nvidia,tegra186-bpmp";
1910                 interconnects = <&mc TEGRA186_MEMORY_CLIENT_BPMPR &emc>,
1911                                 <&mc TEGRA186_MEMORY_CLIENT_BPMPW &emc>,
1912                                 <&mc TEGRA186_MEMORY_CLIENT_BPMPDMAR &emc>,
1913                                 <&mc TEGRA186_MEMORY_CLIENT_BPMPDMAW &emc>;
1914                 interconnect-names = "read", "write", "dma-mem", "dma-write";
1915                 iommus = <&smmu TEGRA186_SID_BPMP>;
1916                 mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
1917                                     TEGRA_HSP_DB_MASTER_BPMP>;
1918                 shmem = <&cpu_bpmp_tx>, <&cpu_bpmp_rx>;
1919                 #clock-cells = <1>;
1920                 #reset-cells = <1>;
1921                 #power-domain-cells = <1>;
1922
1923                 bpmp_i2c: i2c {
1924                         compatible = "nvidia,tegra186-bpmp-i2c";
1925                         nvidia,bpmp-bus-id = <5>;
1926                         #address-cells = <1>;
1927                         #size-cells = <0>;
1928                         status = "disabled";
1929                 };
1930
1931                 bpmp_thermal: thermal {
1932                         compatible = "nvidia,tegra186-bpmp-thermal";
1933                         #thermal-sensor-cells = <1>;
1934                 };
1935         };
1936
1937         cpus {
1938                 #address-cells = <1>;
1939                 #size-cells = <0>;
1940
1941                 denver_0: cpu@0 {
1942                         compatible = "nvidia,tegra186-denver";
1943                         device_type = "cpu";
1944                         i-cache-size = <0x20000>;
1945                         i-cache-line-size = <64>;
1946                         i-cache-sets = <512>;
1947                         d-cache-size = <0x10000>;
1948                         d-cache-line-size = <64>;
1949                         d-cache-sets = <256>;
1950                         next-level-cache = <&L2_DENVER>;
1951                         reg = <0x000>;
1952                 };
1953
1954                 denver_1: cpu@1 {
1955                         compatible = "nvidia,tegra186-denver";
1956                         device_type = "cpu";
1957                         i-cache-size = <0x20000>;
1958                         i-cache-line-size = <64>;
1959                         i-cache-sets = <512>;
1960                         d-cache-size = <0x10000>;
1961                         d-cache-line-size = <64>;
1962                         d-cache-sets = <256>;
1963                         next-level-cache = <&L2_DENVER>;
1964                         reg = <0x001>;
1965                 };
1966
1967                 ca57_0: cpu@2 {
1968                         compatible = "arm,cortex-a57";
1969                         device_type = "cpu";
1970                         i-cache-size = <0xC000>;
1971                         i-cache-line-size = <64>;
1972                         i-cache-sets = <256>;
1973                         d-cache-size = <0x8000>;
1974                         d-cache-line-size = <64>;
1975                         d-cache-sets = <256>;
1976                         next-level-cache = <&L2_A57>;
1977                         reg = <0x100>;
1978                 };
1979
1980                 ca57_1: cpu@3 {
1981                         compatible = "arm,cortex-a57";
1982                         device_type = "cpu";
1983                         i-cache-size = <0xC000>;
1984                         i-cache-line-size = <64>;
1985                         i-cache-sets = <256>;
1986                         d-cache-size = <0x8000>;
1987                         d-cache-line-size = <64>;
1988                         d-cache-sets = <256>;
1989                         next-level-cache = <&L2_A57>;
1990                         reg = <0x101>;
1991                 };
1992
1993                 ca57_2: cpu@4 {
1994                         compatible = "arm,cortex-a57";
1995                         device_type = "cpu";
1996                         i-cache-size = <0xC000>;
1997                         i-cache-line-size = <64>;
1998                         i-cache-sets = <256>;
1999                         d-cache-size = <0x8000>;
2000                         d-cache-line-size = <64>;
2001                         d-cache-sets = <256>;
2002                         next-level-cache = <&L2_A57>;
2003                         reg = <0x102>;
2004                 };
2005
2006                 ca57_3: cpu@5 {
2007                         compatible = "arm,cortex-a57";
2008                         device_type = "cpu";
2009                         i-cache-size = <0xC000>;
2010                         i-cache-line-size = <64>;
2011                         i-cache-sets = <256>;
2012                         d-cache-size = <0x8000>;
2013                         d-cache-line-size = <64>;
2014                         d-cache-sets = <256>;
2015                         next-level-cache = <&L2_A57>;
2016                         reg = <0x103>;
2017                 };
2018
2019                 L2_DENVER: l2-cache0 {
2020                         compatible = "cache";
2021                         cache-unified;
2022                         cache-level = <2>;
2023                         cache-size = <0x200000>;
2024                         cache-line-size = <64>;
2025                         cache-sets = <2048>;
2026                 };
2027
2028                 L2_A57: l2-cache1 {
2029                         compatible = "cache";
2030                         cache-unified;
2031                         cache-level = <2>;
2032                         cache-size = <0x200000>;
2033                         cache-line-size = <64>;
2034                         cache-sets = <2048>;
2035                 };
2036         };
2037
2038         pmu-a57 {
2039                 compatible = "arm,cortex-a57-pmu";
2040                 interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
2041                              <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
2042                              <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
2043                              <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
2044                 interrupt-affinity = <&ca57_0 &ca57_1 &ca57_2 &ca57_3>;
2045         };
2046
2047         pmu-denver {
2048                 compatible = "nvidia,denver-pmu";
2049                 interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
2050                              <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
2051                 interrupt-affinity = <&denver_0 &denver_1>;
2052         };
2053
2054         sound {
2055                 status = "disabled";
2056
2057                 clocks = <&bpmp TEGRA186_CLK_PLLA>,
2058                          <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
2059                 clock-names = "pll_a", "plla_out0";
2060                 assigned-clocks = <&bpmp TEGRA186_CLK_PLLA>,
2061                                   <&bpmp TEGRA186_CLK_PLL_A_OUT0>,
2062                                   <&bpmp TEGRA186_CLK_AUD_MCLK>;
2063                 assigned-clock-parents = <0>,
2064                                          <&bpmp TEGRA186_CLK_PLLA>,
2065                                          <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
2066                 /*
2067                  * PLLA supports dynamic ramp. Below initial rate is chosen
2068                  * for this to work and oscillate between base rates required
2069                  * for 8x and 11.025x sample rate streams.
2070                  */
2071                 assigned-clock-rates = <258000000>;
2072
2073                 iommus = <&smmu TEGRA186_SID_APE>;
2074         };
2075
2076         thermal-zones {
2077                 /* Cortex-A57 cluster */
2078                 cpu-thermal {
2079                         polling-delay = <0>;
2080                         polling-delay-passive = <1000>;
2081
2082                         thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_CPU>;
2083
2084                         trips {
2085                                 critical {
2086                                         temperature = <101000>;
2087                                         hysteresis = <0>;
2088                                         type = "critical";
2089                                 };
2090                         };
2091
2092                         cooling-maps {
2093                         };
2094                 };
2095
2096                 /* Denver cluster */
2097                 aux-thermal {
2098                         polling-delay = <0>;
2099                         polling-delay-passive = <1000>;
2100
2101                         thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AUX>;
2102
2103                         trips {
2104                                 critical {
2105                                         temperature = <101000>;
2106                                         hysteresis = <0>;
2107                                         type = "critical";
2108                                 };
2109                         };
2110
2111                         cooling-maps {
2112                         };
2113                 };
2114
2115                 gpu-thermal {
2116                         polling-delay = <0>;
2117                         polling-delay-passive = <1000>;
2118
2119                         thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_GPU>;
2120
2121                         trips {
2122                                 critical {
2123                                         temperature = <101000>;
2124                                         hysteresis = <0>;
2125                                         type = "critical";
2126                                 };
2127                         };
2128
2129                         cooling-maps {
2130                         };
2131                 };
2132
2133                 pll-thermal {
2134                         polling-delay = <0>;
2135                         polling-delay-passive = <1000>;
2136
2137                         thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_PLLX>;
2138
2139                         trips {
2140                                 critical {
2141                                         temperature = <101000>;
2142                                         hysteresis = <0>;
2143                                         type = "critical";
2144                                 };
2145                         };
2146
2147                         cooling-maps {
2148                         };
2149                 };
2150
2151                 ao-thermal {
2152                         polling-delay = <0>;
2153                         polling-delay-passive = <1000>;
2154
2155                         thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AO>;
2156
2157                         trips {
2158                                 critical {
2159                                         temperature = <101000>;
2160                                         hysteresis = <0>;
2161                                         type = "critical";
2162                                 };
2163                         };
2164
2165                         cooling-maps {
2166                         };
2167                 };
2168         };
2169
2170         timer {
2171                 compatible = "arm,armv8-timer";
2172                 interrupts = <GIC_PPI 13
2173                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2174                              <GIC_PPI 14
2175                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2176                              <GIC_PPI 11
2177                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2178                              <GIC_PPI 10
2179                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
2180                 interrupt-parent = <&gic>;
2181                 always-on;
2182         };
2183 };