Merge tag 'xfs-5.1-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
[sfrench/cifs-2.6.git] / arch / arm64 / boot / dts / nvidia / tegra194.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/tegra194-clock.h>
3 #include <dt-bindings/gpio/tegra194-gpio.h>
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/mailbox/tegra186-hsp.h>
6 #include <dt-bindings/reset/tegra194-reset.h>
7 #include <dt-bindings/power/tegra194-powergate.h>
8 #include <dt-bindings/thermal/tegra194-bpmp-thermal.h>
9
10 / {
11         compatible = "nvidia,tegra194";
12         interrupt-parent = <&gic>;
13         #address-cells = <2>;
14         #size-cells = <2>;
15
16         /* control backbone */
17         cbb {
18                 compatible = "simple-bus";
19                 #address-cells = <1>;
20                 #size-cells = <1>;
21                 ranges = <0x0 0x0 0x0 0x40000000>;
22
23                 gpio: gpio@2200000 {
24                         compatible = "nvidia,tegra194-gpio";
25                         reg-names = "security", "gpio";
26                         reg = <0x2200000 0x10000>,
27                               <0x2210000 0x10000>;
28                         interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>,
29                                      <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
30                                      <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
31                                      <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
32                                      <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
33                                      <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
34                         #interrupt-cells = <2>;
35                         interrupt-controller;
36                         #gpio-cells = <2>;
37                         gpio-controller;
38                 };
39
40                 ethernet@2490000 {
41                         compatible = "nvidia,tegra186-eqos",
42                                      "snps,dwc-qos-ethernet-4.10";
43                         reg = <0x02490000 0x10000>;
44                         interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
45                         clocks = <&bpmp TEGRA194_CLK_AXI_CBB>,
46                                  <&bpmp TEGRA194_CLK_EQOS_AXI>,
47                                  <&bpmp TEGRA194_CLK_EQOS_RX>,
48                                  <&bpmp TEGRA194_CLK_EQOS_TX>,
49                                  <&bpmp TEGRA194_CLK_EQOS_PTP_REF>;
50                         clock-names = "master_bus", "slave_bus", "rx", "tx", "ptp_ref";
51                         resets = <&bpmp TEGRA194_RESET_EQOS>;
52                         reset-names = "eqos";
53                         status = "disabled";
54
55                         snps,write-requests = <1>;
56                         snps,read-requests = <3>;
57                         snps,burst-map = <0x7>;
58                         snps,txpbl = <16>;
59                         snps,rxpbl = <8>;
60                 };
61
62                 uarta: serial@3100000 {
63                         compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
64                         reg = <0x03100000 0x40>;
65                         reg-shift = <2>;
66                         interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
67                         clocks = <&bpmp TEGRA194_CLK_UARTA>;
68                         clock-names = "serial";
69                         resets = <&bpmp TEGRA194_RESET_UARTA>;
70                         reset-names = "serial";
71                         status = "disabled";
72                 };
73
74                 uartb: serial@3110000 {
75                         compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
76                         reg = <0x03110000 0x40>;
77                         reg-shift = <2>;
78                         interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
79                         clocks = <&bpmp TEGRA194_CLK_UARTB>;
80                         clock-names = "serial";
81                         resets = <&bpmp TEGRA194_RESET_UARTB>;
82                         reset-names = "serial";
83                         status = "disabled";
84                 };
85
86                 uartd: serial@3130000 {
87                         compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
88                         reg = <0x03130000 0x40>;
89                         reg-shift = <2>;
90                         interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
91                         clocks = <&bpmp TEGRA194_CLK_UARTD>;
92                         clock-names = "serial";
93                         resets = <&bpmp TEGRA194_RESET_UARTD>;
94                         reset-names = "serial";
95                         status = "disabled";
96                 };
97
98                 uarte: serial@3140000 {
99                         compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
100                         reg = <0x03140000 0x40>;
101                         reg-shift = <2>;
102                         interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
103                         clocks = <&bpmp TEGRA194_CLK_UARTE>;
104                         clock-names = "serial";
105                         resets = <&bpmp TEGRA194_RESET_UARTE>;
106                         reset-names = "serial";
107                         status = "disabled";
108                 };
109
110                 uartf: serial@3150000 {
111                         compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
112                         reg = <0x03150000 0x40>;
113                         reg-shift = <2>;
114                         interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
115                         clocks = <&bpmp TEGRA194_CLK_UARTF>;
116                         clock-names = "serial";
117                         resets = <&bpmp TEGRA194_RESET_UARTF>;
118                         reset-names = "serial";
119                         status = "disabled";
120                 };
121
122                 gen1_i2c: i2c@3160000 {
123                         compatible = "nvidia,tegra194-i2c";
124                         reg = <0x03160000 0x10000>;
125                         interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
126                         #address-cells = <1>;
127                         #size-cells = <0>;
128                         clocks = <&bpmp TEGRA194_CLK_I2C1>;
129                         clock-names = "div-clk";
130                         resets = <&bpmp TEGRA194_RESET_I2C1>;
131                         reset-names = "i2c";
132                         status = "disabled";
133                 };
134
135                 uarth: serial@3170000 {
136                         compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
137                         reg = <0x03170000 0x40>;
138                         reg-shift = <2>;
139                         interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
140                         clocks = <&bpmp TEGRA194_CLK_UARTH>;
141                         clock-names = "serial";
142                         resets = <&bpmp TEGRA194_RESET_UARTH>;
143                         reset-names = "serial";
144                         status = "disabled";
145                 };
146
147                 cam_i2c: i2c@3180000 {
148                         compatible = "nvidia,tegra194-i2c";
149                         reg = <0x03180000 0x10000>;
150                         interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
151                         #address-cells = <1>;
152                         #size-cells = <0>;
153                         clocks = <&bpmp TEGRA194_CLK_I2C3>;
154                         clock-names = "div-clk";
155                         resets = <&bpmp TEGRA194_RESET_I2C3>;
156                         reset-names = "i2c";
157                         status = "disabled";
158                 };
159
160                 /* shares pads with dpaux1 */
161                 dp_aux_ch1_i2c: i2c@3190000 {
162                         compatible = "nvidia,tegra194-i2c";
163                         reg = <0x03190000 0x10000>;
164                         interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
165                         #address-cells = <1>;
166                         #size-cells = <0>;
167                         clocks = <&bpmp TEGRA194_CLK_I2C4>;
168                         clock-names = "div-clk";
169                         resets = <&bpmp TEGRA194_RESET_I2C4>;
170                         reset-names = "i2c";
171                         status = "disabled";
172                 };
173
174                 /* shares pads with dpaux0 */
175                 dp_aux_ch0_i2c: i2c@31b0000 {
176                         compatible = "nvidia,tegra194-i2c";
177                         reg = <0x031b0000 0x10000>;
178                         interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
179                         #address-cells = <1>;
180                         #size-cells = <0>;
181                         clocks = <&bpmp TEGRA194_CLK_I2C6>;
182                         clock-names = "div-clk";
183                         resets = <&bpmp TEGRA194_RESET_I2C6>;
184                         reset-names = "i2c";
185                         status = "disabled";
186                 };
187
188                 gen7_i2c: i2c@31c0000 {
189                         compatible = "nvidia,tegra194-i2c";
190                         reg = <0x031c0000 0x10000>;
191                         interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
192                         #address-cells = <1>;
193                         #size-cells = <0>;
194                         clocks = <&bpmp TEGRA194_CLK_I2C7>;
195                         clock-names = "div-clk";
196                         resets = <&bpmp TEGRA194_RESET_I2C7>;
197                         reset-names = "i2c";
198                         status = "disabled";
199                 };
200
201                 gen9_i2c: i2c@31e0000 {
202                         compatible = "nvidia,tegra194-i2c";
203                         reg = <0x031e0000 0x10000>;
204                         interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
205                         #address-cells = <1>;
206                         #size-cells = <0>;
207                         clocks = <&bpmp TEGRA194_CLK_I2C9>;
208                         clock-names = "div-clk";
209                         resets = <&bpmp TEGRA194_RESET_I2C9>;
210                         reset-names = "i2c";
211                         status = "disabled";
212                 };
213
214                 pwm1: pwm@3280000 {
215                         compatible = "nvidia,tegra194-pwm",
216                                      "nvidia,tegra186-pwm";
217                         reg = <0x3280000 0x10000>;
218                         clocks = <&bpmp TEGRA194_CLK_PWM1>;
219                         clock-names = "pwm";
220                         resets = <&bpmp TEGRA194_RESET_PWM1>;
221                         reset-names = "pwm";
222                         status = "disabled";
223                         #pwm-cells = <2>;
224                 };
225
226                 pwm2: pwm@3290000 {
227                         compatible = "nvidia,tegra194-pwm",
228                                      "nvidia,tegra186-pwm";
229                         reg = <0x3290000 0x10000>;
230                         clocks = <&bpmp TEGRA194_CLK_PWM2>;
231                         clock-names = "pwm";
232                         resets = <&bpmp TEGRA194_RESET_PWM2>;
233                         reset-names = "pwm";
234                         status = "disabled";
235                         #pwm-cells = <2>;
236                 };
237
238                 pwm3: pwm@32a0000 {
239                         compatible = "nvidia,tegra194-pwm",
240                                      "nvidia,tegra186-pwm";
241                         reg = <0x32a0000 0x10000>;
242                         clocks = <&bpmp TEGRA194_CLK_PWM3>;
243                         clock-names = "pwm";
244                         resets = <&bpmp TEGRA194_RESET_PWM3>;
245                         reset-names = "pwm";
246                         status = "disabled";
247                         #pwm-cells = <2>;
248                 };
249
250                 pwm5: pwm@32c0000 {
251                         compatible = "nvidia,tegra194-pwm",
252                                      "nvidia,tegra186-pwm";
253                         reg = <0x32c0000 0x10000>;
254                         clocks = <&bpmp TEGRA194_CLK_PWM5>;
255                         clock-names = "pwm";
256                         resets = <&bpmp TEGRA194_RESET_PWM5>;
257                         reset-names = "pwm";
258                         status = "disabled";
259                         #pwm-cells = <2>;
260                 };
261
262                 pwm6: pwm@32d0000 {
263                         compatible = "nvidia,tegra194-pwm",
264                                      "nvidia,tegra186-pwm";
265                         reg = <0x32d0000 0x10000>;
266                         clocks = <&bpmp TEGRA194_CLK_PWM6>;
267                         clock-names = "pwm";
268                         resets = <&bpmp TEGRA194_RESET_PWM6>;
269                         reset-names = "pwm";
270                         status = "disabled";
271                         #pwm-cells = <2>;
272                 };
273
274                 pwm7: pwm@32e0000 {
275                         compatible = "nvidia,tegra194-pwm",
276                                      "nvidia,tegra186-pwm";
277                         reg = <0x32e0000 0x10000>;
278                         clocks = <&bpmp TEGRA194_CLK_PWM7>;
279                         clock-names = "pwm";
280                         resets = <&bpmp TEGRA194_RESET_PWM7>;
281                         reset-names = "pwm";
282                         status = "disabled";
283                         #pwm-cells = <2>;
284                 };
285
286                 pwm8: pwm@32f0000 {
287                         compatible = "nvidia,tegra194-pwm",
288                                      "nvidia,tegra186-pwm";
289                         reg = <0x32f0000 0x10000>;
290                         clocks = <&bpmp TEGRA194_CLK_PWM8>;
291                         clock-names = "pwm";
292                         resets = <&bpmp TEGRA194_RESET_PWM8>;
293                         reset-names = "pwm";
294                         status = "disabled";
295                         #pwm-cells = <2>;
296                 };
297
298                 sdmmc1: sdhci@3400000 {
299                         compatible = "nvidia,tegra194-sdhci", "nvidia,tegra186-sdhci";
300                         reg = <0x03400000 0x10000>;
301                         interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
302                         clocks = <&bpmp TEGRA194_CLK_SDMMC1>;
303                         clock-names = "sdhci";
304                         resets = <&bpmp TEGRA194_RESET_SDMMC1>;
305                         reset-names = "sdhci";
306                         nvidia,pad-autocal-pull-up-offset-3v3-timeout =
307                                                                         <0x07>;
308                         nvidia,pad-autocal-pull-down-offset-3v3-timeout =
309                                                                         <0x07>;
310                         nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x06>;
311                         nvidia,pad-autocal-pull-down-offset-1v8-timeout =
312                                                                         <0x07>;
313                         nvidia,pad-autocal-pull-up-offset-sdr104 = <0x00>;
314                         nvidia,pad-autocal-pull-down-offset-sdr104 = <0x00>;
315                         nvidia,default-tap = <0x9>;
316                         nvidia,default-trim = <0x5>;
317                         status = "disabled";
318                 };
319
320                 sdmmc3: sdhci@3440000 {
321                         compatible = "nvidia,tegra194-sdhci", "nvidia,tegra186-sdhci";
322                         reg = <0x03440000 0x10000>;
323                         interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
324                         clocks = <&bpmp TEGRA194_CLK_SDMMC3>;
325                         clock-names = "sdhci";
326                         resets = <&bpmp TEGRA194_RESET_SDMMC3>;
327                         reset-names = "sdhci";
328                         nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>;
329                         nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>;
330                         nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
331                         nvidia,pad-autocal-pull-down-offset-3v3-timeout =
332                                                                         <0x07>;
333                         nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x06>;
334                         nvidia,pad-autocal-pull-down-offset-1v8-timeout =
335                                                                         <0x07>;
336                         nvidia,pad-autocal-pull-up-offset-sdr104 = <0x00>;
337                         nvidia,pad-autocal-pull-down-offset-sdr104 = <0x00>;
338                         nvidia,default-tap = <0x9>;
339                         nvidia,default-trim = <0x5>;
340                         status = "disabled";
341                 };
342
343                 sdmmc4: sdhci@3460000 {
344                         compatible = "nvidia,tegra194-sdhci", "nvidia,tegra186-sdhci";
345                         reg = <0x03460000 0x10000>;
346                         interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
347                         clocks = <&bpmp TEGRA194_CLK_SDMMC4>;
348                         clock-names = "sdhci";
349                         assigned-clocks = <&bpmp TEGRA194_CLK_SDMMC4>,
350                                           <&bpmp TEGRA194_CLK_PLLC4>;
351                         assigned-clock-parents =
352                                           <&bpmp TEGRA194_CLK_PLLC4>;
353                         resets = <&bpmp TEGRA194_RESET_SDMMC4>;
354                         reset-names = "sdhci";
355                         nvidia,pad-autocal-pull-up-offset-hs400 = <0x00>;
356                         nvidia,pad-autocal-pull-down-offset-hs400 = <0x00>;
357                         nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>;
358                         nvidia,pad-autocal-pull-down-offset-1v8-timeout =
359                                                                         <0x0a>;
360                         nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>;
361                         nvidia,pad-autocal-pull-down-offset-3v3-timeout =
362                                                                         <0x0a>;
363                         nvidia,default-tap = <0x8>;
364                         nvidia,default-trim = <0x14>;
365                         nvidia,dqs-trim = <40>;
366                         supports-cqe;
367                         status = "disabled";
368                 };
369
370                 hda@3510000 {
371                         compatible = "nvidia,tegra194-hda", "nvidia,tegra30-hda";
372                         reg = <0x3510000 0x10000>;
373                         interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
374                         clocks = <&bpmp TEGRA194_CLK_HDA>,
375                                  <&bpmp TEGRA194_CLK_HDA2CODEC_2X>,
376                                  <&bpmp TEGRA194_CLK_HDA2HDMICODEC>;
377                         clock-names = "hda", "hda2codec_2x", "hda2hdmi";
378                         resets = <&bpmp TEGRA194_RESET_HDA>,
379                                  <&bpmp TEGRA194_RESET_HDA2CODEC_2X>,
380                                  <&bpmp TEGRA194_RESET_HDA2HDMICODEC>;
381                         reset-names = "hda", "hda2codec_2x", "hda2hdmi";
382                         power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
383                         status = "disabled";
384                 };
385
386                 gic: interrupt-controller@3881000 {
387                         compatible = "arm,gic-400";
388                         #interrupt-cells = <3>;
389                         interrupt-controller;
390                         reg = <0x03881000 0x1000>,
391                               <0x03882000 0x2000>,
392                               <0x03884000 0x2000>,
393                               <0x03886000 0x2000>;
394                         interrupts = <GIC_PPI 9
395                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
396                         interrupt-parent = <&gic>;
397                 };
398
399                 cec@3960000 {
400                         compatible = "nvidia,tegra194-cec";
401                         reg = <0x03960000 0x10000>;
402                         interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
403                         clocks = <&bpmp TEGRA194_CLK_CEC>;
404                         clock-names = "cec";
405                         status = "disabled";
406                 };
407
408                 hsp_top0: hsp@3c00000 {
409                         compatible = "nvidia,tegra194-hsp", "nvidia,tegra186-hsp";
410                         reg = <0x03c00000 0xa0000>;
411                         interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
412                                      <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
413                                      <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
414                                      <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
415                                      <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
416                                      <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
417                                      <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
418                                      <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
419                                      <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
420                         interrupt-names = "doorbell", "shared0", "shared1", "shared2",
421                                           "shared3", "shared4", "shared5", "shared6",
422                                           "shared7";
423                         #mbox-cells = <2>;
424                 };
425
426                 hsp_aon: hsp@c150000 {
427                         compatible = "nvidia,tegra194-hsp", "nvidia,tegra186-hsp";
428                         reg = <0x0c150000 0xa0000>;
429                         interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
430                                      <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
431                                      <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
432                                      <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
433                         /*
434                          * Shared interrupt 0 is routed only to AON/SPE, so
435                          * we only have 4 shared interrupts for the CCPLEX.
436                          */
437                         interrupt-names = "shared1", "shared2", "shared3", "shared4";
438                         #mbox-cells = <2>;
439                 };
440
441                 gen2_i2c: i2c@c240000 {
442                         compatible = "nvidia,tegra194-i2c";
443                         reg = <0x0c240000 0x10000>;
444                         interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
445                         #address-cells = <1>;
446                         #size-cells = <0>;
447                         clocks = <&bpmp TEGRA194_CLK_I2C2>;
448                         clock-names = "div-clk";
449                         resets = <&bpmp TEGRA194_RESET_I2C2>;
450                         reset-names = "i2c";
451                         status = "disabled";
452                 };
453
454                 gen8_i2c: i2c@c250000 {
455                         compatible = "nvidia,tegra194-i2c";
456                         reg = <0x0c250000 0x10000>;
457                         interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
458                         #address-cells = <1>;
459                         #size-cells = <0>;
460                         clocks = <&bpmp TEGRA194_CLK_I2C8>;
461                         clock-names = "div-clk";
462                         resets = <&bpmp TEGRA194_RESET_I2C8>;
463                         reset-names = "i2c";
464                         status = "disabled";
465                 };
466
467                 uartc: serial@c280000 {
468                         compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
469                         reg = <0x0c280000 0x40>;
470                         reg-shift = <2>;
471                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
472                         clocks = <&bpmp TEGRA194_CLK_UARTC>;
473                         clock-names = "serial";
474                         resets = <&bpmp TEGRA194_RESET_UARTC>;
475                         reset-names = "serial";
476                         status = "disabled";
477                 };
478
479                 uartg: serial@c290000 {
480                         compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
481                         reg = <0x0c290000 0x40>;
482                         reg-shift = <2>;
483                         interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
484                         clocks = <&bpmp TEGRA194_CLK_UARTG>;
485                         clock-names = "serial";
486                         resets = <&bpmp TEGRA194_RESET_UARTG>;
487                         reset-names = "serial";
488                         status = "disabled";
489                 };
490
491                 rtc: rtc@c2a0000 {
492                         compatible = "nvidia,tegra194-rtc", "nvidia,tegra20-rtc";
493                         reg = <0x0c2a0000 0x10000>;
494                         interrupt-parent = <&pmc>;
495                         interrupts = <73 IRQ_TYPE_LEVEL_HIGH>;
496                         clocks = <&bpmp TEGRA194_CLK_CLK_32K>;
497                         clock-names = "rtc";
498                         status = "disabled";
499                 };
500
501                 gpio_aon: gpio@c2f0000 {
502                         compatible = "nvidia,tegra194-gpio-aon";
503                         reg-names = "security", "gpio";
504                         reg = <0xc2f0000 0x1000>,
505                               <0xc2f1000 0x1000>;
506                         interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
507                                      <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
508                                      <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
509                                      <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
510                         gpio-controller;
511                         #gpio-cells = <2>;
512                         interrupt-controller;
513                         #interrupt-cells = <2>;
514                 };
515
516                 pwm4: pwm@c340000 {
517                         compatible = "nvidia,tegra194-pwm",
518                                      "nvidia,tegra186-pwm";
519                         reg = <0xc340000 0x10000>;
520                         clocks = <&bpmp TEGRA194_CLK_PWM4>;
521                         clock-names = "pwm";
522                         resets = <&bpmp TEGRA194_RESET_PWM4>;
523                         reset-names = "pwm";
524                         status = "disabled";
525                         #pwm-cells = <2>;
526                 };
527
528                 pmc: pmc@c360000 {
529                         compatible = "nvidia,tegra194-pmc";
530                         reg = <0x0c360000 0x10000>,
531                               <0x0c370000 0x10000>,
532                               <0x0c380000 0x10000>,
533                               <0x0c390000 0x10000>,
534                               <0x0c3a0000 0x10000>;
535                         reg-names = "pmc", "wake", "aotag", "scratch", "misc";
536
537                         #interrupt-cells = <2>;
538                         interrupt-controller;
539                 };
540
541                 host1x@13e00000 {
542                         compatible = "nvidia,tegra194-host1x", "simple-bus";
543                         reg = <0x13e00000 0x10000>,
544                               <0x13e10000 0x10000>;
545                         reg-names = "hypervisor", "vm";
546                         interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
547                                      <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
548                         clocks = <&bpmp TEGRA194_CLK_HOST1X>;
549                         clock-names = "host1x";
550                         resets = <&bpmp TEGRA194_RESET_HOST1X>;
551                         reset-names = "host1x";
552
553                         #address-cells = <1>;
554                         #size-cells = <1>;
555
556                         ranges = <0x15000000 0x15000000 0x01000000>;
557
558                         display-hub@15200000 {
559                                 compatible = "nvidia,tegra194-display", "simple-bus";
560                                 reg = <0x15200000 0x00040000>;
561                                 resets = <&bpmp TEGRA194_RESET_NVDISPLAY0_MISC>,
562                                          <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP0>,
563                                          <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP1>,
564                                          <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP2>,
565                                          <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP3>,
566                                          <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP4>,
567                                          <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP5>;
568                                 reset-names = "misc", "wgrp0", "wgrp1", "wgrp2",
569                                               "wgrp3", "wgrp4", "wgrp5";
570                                 clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_DISP>,
571                                          <&bpmp TEGRA194_CLK_NVDISPLAYHUB>;
572                                 clock-names = "disp", "hub";
573                                 status = "disabled";
574
575                                 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
576
577                                 #address-cells = <1>;
578                                 #size-cells = <1>;
579
580                                 ranges = <0x15200000 0x15200000 0x40000>;
581
582                                 display@15200000 {
583                                         compatible = "nvidia,tegra194-dc";
584                                         reg = <0x15200000 0x10000>;
585                                         interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
586                                         clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_P0>;
587                                         clock-names = "dc";
588                                         resets = <&bpmp TEGRA194_RESET_NVDISPLAY0_HEAD0>;
589                                         reset-names = "dc";
590
591                                         power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
592
593                                         nvidia,outputs = <&sor0 &sor1 &sor2 &sor3>;
594                                         nvidia,head = <0>;
595                                 };
596
597                                 display@15210000 {
598                                         compatible = "nvidia,tegra194-dc";
599                                         reg = <0x15210000 0x10000>;
600                                         interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
601                                         clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_P1>;
602                                         clock-names = "dc";
603                                         resets = <&bpmp TEGRA194_RESET_NVDISPLAY0_HEAD1>;
604                                         reset-names = "dc";
605
606                                         power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISPB>;
607
608                                         nvidia,outputs = <&sor0 &sor1 &sor2 &sor3>;
609                                         nvidia,head = <1>;
610                                 };
611
612                                 display@15220000 {
613                                         compatible = "nvidia,tegra194-dc";
614                                         reg = <0x15220000 0x10000>;
615                                         interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
616                                         clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_P2>;
617                                         clock-names = "dc";
618                                         resets = <&bpmp TEGRA194_RESET_NVDISPLAY0_HEAD2>;
619                                         reset-names = "dc";
620
621                                         power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISPC>;
622
623                                         nvidia,outputs = <&sor0 &sor1 &sor2 &sor3>;
624                                         nvidia,head = <2>;
625                                 };
626
627                                 display@15230000 {
628                                         compatible = "nvidia,tegra194-dc";
629                                         reg = <0x15230000 0x10000>;
630                                         interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
631                                         clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_P3>;
632                                         clock-names = "dc";
633                                         resets = <&bpmp TEGRA194_RESET_NVDISPLAY0_HEAD3>;
634                                         reset-names = "dc";
635
636                                         power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISPC>;
637
638                                         nvidia,outputs = <&sor0 &sor1 &sor2 &sor3>;
639                                         nvidia,head = <3>;
640                                 };
641                         };
642
643                         vic@15340000 {
644                                 compatible = "nvidia,tegra194-vic";
645                                 reg = <0x15340000 0x00040000>;
646                                 interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
647                                 clocks = <&bpmp TEGRA194_CLK_VIC>;
648                                 clock-names = "vic";
649                                 resets = <&bpmp TEGRA194_RESET_VIC>;
650                                 reset-names = "vic";
651
652                                 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_VIC>;
653                         };
654
655                         dpaux0: dpaux@155c0000 {
656                                 compatible = "nvidia,tegra194-dpaux";
657                                 reg = <0x155c0000 0x10000>;
658                                 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
659                                 clocks = <&bpmp TEGRA194_CLK_DPAUX>,
660                                          <&bpmp TEGRA194_CLK_PLLDP>;
661                                 clock-names = "dpaux", "parent";
662                                 resets = <&bpmp TEGRA194_RESET_DPAUX>;
663                                 reset-names = "dpaux";
664                                 status = "disabled";
665
666                                 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
667
668                                 state_dpaux0_aux: pinmux-aux {
669                                         groups = "dpaux-io";
670                                         function = "aux";
671                                 };
672
673                                 state_dpaux0_i2c: pinmux-i2c {
674                                         groups = "dpaux-io";
675                                         function = "i2c";
676                                 };
677
678                                 state_dpaux0_off: pinmux-off {
679                                         groups = "dpaux-io";
680                                         function = "off";
681                                 };
682
683                                 i2c-bus {
684                                         #address-cells = <1>;
685                                         #size-cells = <0>;
686                                 };
687                         };
688
689                         dpaux1: dpaux@155d0000 {
690                                 compatible = "nvidia,tegra194-dpaux";
691                                 reg = <0x155d0000 0x10000>;
692                                 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
693                                 clocks = <&bpmp TEGRA194_CLK_DPAUX1>,
694                                          <&bpmp TEGRA194_CLK_PLLDP>;
695                                 clock-names = "dpaux", "parent";
696                                 resets = <&bpmp TEGRA194_RESET_DPAUX1>;
697                                 reset-names = "dpaux";
698                                 status = "disabled";
699
700                                 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
701
702                                 state_dpaux1_aux: pinmux-aux {
703                                         groups = "dpaux-io";
704                                         function = "aux";
705                                 };
706
707                                 state_dpaux1_i2c: pinmux-i2c {
708                                         groups = "dpaux-io";
709                                         function = "i2c";
710                                 };
711
712                                 state_dpaux1_off: pinmux-off {
713                                         groups = "dpaux-io";
714                                         function = "off";
715                                 };
716
717                                 i2c-bus {
718                                         #address-cells = <1>;
719                                         #size-cells = <0>;
720                                 };
721                         };
722
723                         dpaux2: dpaux@155e0000 {
724                                 compatible = "nvidia,tegra194-dpaux";
725                                 reg = <0x155e0000 0x10000>;
726                                 interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
727                                 clocks = <&bpmp TEGRA194_CLK_DPAUX2>,
728                                          <&bpmp TEGRA194_CLK_PLLDP>;
729                                 clock-names = "dpaux", "parent";
730                                 resets = <&bpmp TEGRA194_RESET_DPAUX2>;
731                                 reset-names = "dpaux";
732                                 status = "disabled";
733
734                                 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
735
736                                 state_dpaux2_aux: pinmux-aux {
737                                         groups = "dpaux-io";
738                                         function = "aux";
739                                 };
740
741                                 state_dpaux2_i2c: pinmux-i2c {
742                                         groups = "dpaux-io";
743                                         function = "i2c";
744                                 };
745
746                                 state_dpaux2_off: pinmux-off {
747                                         groups = "dpaux-io";
748                                         function = "off";
749                                 };
750
751                                 i2c-bus {
752                                         #address-cells = <1>;
753                                         #size-cells = <0>;
754                                 };
755                         };
756
757                         dpaux3: dpaux@155f0000 {
758                                 compatible = "nvidia,tegra194-dpaux";
759                                 reg = <0x155f0000 0x10000>;
760                                 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
761                                 clocks = <&bpmp TEGRA194_CLK_DPAUX3>,
762                                          <&bpmp TEGRA194_CLK_PLLDP>;
763                                 clock-names = "dpaux", "parent";
764                                 resets = <&bpmp TEGRA194_RESET_DPAUX3>;
765                                 reset-names = "dpaux";
766                                 status = "disabled";
767
768                                 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
769
770                                 state_dpaux3_aux: pinmux-aux {
771                                         groups = "dpaux-io";
772                                         function = "aux";
773                                 };
774
775                                 state_dpaux3_i2c: pinmux-i2c {
776                                         groups = "dpaux-io";
777                                         function = "i2c";
778                                 };
779
780                                 state_dpaux3_off: pinmux-off {
781                                         groups = "dpaux-io";
782                                         function = "off";
783                                 };
784
785                                 i2c-bus {
786                                         #address-cells = <1>;
787                                         #size-cells = <0>;
788                                 };
789                         };
790
791                         sor0: sor@15b00000 {
792                                 compatible = "nvidia,tegra194-sor";
793                                 reg = <0x15b00000 0x40000>;
794                                 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
795                                 clocks = <&bpmp TEGRA194_CLK_SOR0_REF>,
796                                          <&bpmp TEGRA194_CLK_SOR0_OUT>,
797                                          <&bpmp TEGRA194_CLK_PLLD>,
798                                          <&bpmp TEGRA194_CLK_PLLDP>,
799                                          <&bpmp TEGRA194_CLK_SOR_SAFE>,
800                                          <&bpmp TEGRA194_CLK_SOR0_PAD_CLKOUT>;
801                                 clock-names = "sor", "out", "parent", "dp", "safe",
802                                               "pad";
803                                 resets = <&bpmp TEGRA194_RESET_SOR0>;
804                                 reset-names = "sor";
805                                 pinctrl-0 = <&state_dpaux0_aux>;
806                                 pinctrl-1 = <&state_dpaux0_i2c>;
807                                 pinctrl-2 = <&state_dpaux0_off>;
808                                 pinctrl-names = "aux", "i2c", "off";
809                                 status = "disabled";
810
811                                 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
812                                 nvidia,interface = <0>;
813                         };
814
815                         sor1: sor@15b40000 {
816                                 compatible = "nvidia,tegra194-sor";
817                                 reg = <0x155c0000 0x40000>;
818                                 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
819                                 clocks = <&bpmp TEGRA194_CLK_SOR1_REF>,
820                                          <&bpmp TEGRA194_CLK_SOR1_OUT>,
821                                          <&bpmp TEGRA194_CLK_PLLD2>,
822                                          <&bpmp TEGRA194_CLK_PLLDP>,
823                                          <&bpmp TEGRA194_CLK_SOR_SAFE>,
824                                          <&bpmp TEGRA194_CLK_SOR1_PAD_CLKOUT>;
825                                 clock-names = "sor", "out", "parent", "dp", "safe",
826                                               "pad";
827                                 resets = <&bpmp TEGRA194_RESET_SOR1>;
828                                 reset-names = "sor";
829                                 pinctrl-0 = <&state_dpaux1_aux>;
830                                 pinctrl-1 = <&state_dpaux1_i2c>;
831                                 pinctrl-2 = <&state_dpaux1_off>;
832                                 pinctrl-names = "aux", "i2c", "off";
833                                 status = "disabled";
834
835                                 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
836                                 nvidia,interface = <1>;
837                         };
838
839                         sor2: sor@15b80000 {
840                                 compatible = "nvidia,tegra194-sor";
841                                 reg = <0x15b80000 0x40000>;
842                                 interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
843                                 clocks = <&bpmp TEGRA194_CLK_SOR2_REF>,
844                                          <&bpmp TEGRA194_CLK_SOR2_OUT>,
845                                          <&bpmp TEGRA194_CLK_PLLD3>,
846                                          <&bpmp TEGRA194_CLK_PLLDP>,
847                                          <&bpmp TEGRA194_CLK_SOR_SAFE>,
848                                          <&bpmp TEGRA194_CLK_SOR2_PAD_CLKOUT>;
849                                 clock-names = "sor", "out", "parent", "dp", "safe",
850                                               "pad";
851                                 resets = <&bpmp TEGRA194_RESET_SOR2>;
852                                 reset-names = "sor";
853                                 pinctrl-0 = <&state_dpaux2_aux>;
854                                 pinctrl-1 = <&state_dpaux2_i2c>;
855                                 pinctrl-2 = <&state_dpaux2_off>;
856                                 pinctrl-names = "aux", "i2c", "off";
857                                 status = "disabled";
858
859                                 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
860                                 nvidia,interface = <2>;
861                         };
862
863                         sor3: sor@15bc0000 {
864                                 compatible = "nvidia,tegra194-sor";
865                                 reg = <0x15bc0000 0x40000>;
866                                 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
867                                 clocks = <&bpmp TEGRA194_CLK_SOR3_REF>,
868                                          <&bpmp TEGRA194_CLK_SOR3_OUT>,
869                                          <&bpmp TEGRA194_CLK_PLLD4>,
870                                          <&bpmp TEGRA194_CLK_PLLDP>,
871                                          <&bpmp TEGRA194_CLK_SOR_SAFE>,
872                                          <&bpmp TEGRA194_CLK_SOR3_PAD_CLKOUT>;
873                                 clock-names = "sor", "out", "parent", "dp", "safe",
874                                               "pad";
875                                 resets = <&bpmp TEGRA194_RESET_SOR3>;
876                                 reset-names = "sor";
877                                 pinctrl-0 = <&state_dpaux3_aux>;
878                                 pinctrl-1 = <&state_dpaux3_i2c>;
879                                 pinctrl-2 = <&state_dpaux3_off>;
880                                 pinctrl-names = "aux", "i2c", "off";
881                                 status = "disabled";
882
883                                 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
884                                 nvidia,interface = <3>;
885                         };
886                 };
887         };
888
889         sysram@40000000 {
890                 compatible = "nvidia,tegra194-sysram", "mmio-sram";
891                 reg = <0x0 0x40000000 0x0 0x50000>;
892                 #address-cells = <1>;
893                 #size-cells = <1>;
894                 ranges = <0x0 0x0 0x40000000 0x50000>;
895
896                 cpu_bpmp_tx: shmem@4e000 {
897                         compatible = "nvidia,tegra194-bpmp-shmem";
898                         reg = <0x4e000 0x1000>;
899                         label = "cpu-bpmp-tx";
900                         pool;
901                 };
902
903                 cpu_bpmp_rx: shmem@4f000 {
904                         compatible = "nvidia,tegra194-bpmp-shmem";
905                         reg = <0x4f000 0x1000>;
906                         label = "cpu-bpmp-rx";
907                         pool;
908                 };
909         };
910
911         bpmp: bpmp {
912                 compatible = "nvidia,tegra186-bpmp";
913                 mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
914                                     TEGRA_HSP_DB_MASTER_BPMP>;
915                 shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>;
916                 #clock-cells = <1>;
917                 #reset-cells = <1>;
918                 #power-domain-cells = <1>;
919
920                 bpmp_i2c: i2c {
921                         compatible = "nvidia,tegra186-bpmp-i2c";
922                         nvidia,bpmp-bus-id = <5>;
923                         #address-cells = <1>;
924                         #size-cells = <0>;
925                 };
926
927                 bpmp_thermal: thermal {
928                         compatible = "nvidia,tegra186-bpmp-thermal";
929                         #thermal-sensor-cells = <1>;
930                 };
931         };
932
933         cpus {
934                 #address-cells = <1>;
935                 #size-cells = <0>;
936
937                 cpu@0 {
938                         compatible = "nvidia,tegra194-carmel";
939                         device_type = "cpu";
940                         reg = <0x10000>;
941                         enable-method = "psci";
942                 };
943
944                 cpu@1 {
945                         compatible = "nvidia,tegra194-carmel";
946                         device_type = "cpu";
947                         reg = <0x10001>;
948                         enable-method = "psci";
949                 };
950
951                 cpu@2 {
952                         compatible = "nvidia,tegra194-carmel";
953                         device_type = "cpu";
954                         reg = <0x100>;
955                         enable-method = "psci";
956                 };
957
958                 cpu@3 {
959                         compatible = "nvidia,tegra194-carmel";
960                         device_type = "cpu";
961                         reg = <0x101>;
962                         enable-method = "psci";
963                 };
964
965                 cpu@4 {
966                         compatible = "nvidia,tegra194-carmel";
967                         device_type = "cpu";
968                         reg = <0x200>;
969                         enable-method = "psci";
970                 };
971
972                 cpu@5 {
973                         compatible = "nvidia,tegra194-carmel";
974                         device_type = "cpu";
975                         reg = <0x201>;
976                         enable-method = "psci";
977                 };
978
979                 cpu@6 {
980                         compatible = "nvidia,tegra194-carmel";
981                         device_type = "cpu";
982                         reg = <0x10300>;
983                         enable-method = "psci";
984                 };
985
986                 cpu@7 {
987                         compatible = "nvidia,tegra194-carmel";
988                         device_type = "cpu";
989                         reg = <0x10301>;
990                         enable-method = "psci";
991                 };
992         };
993
994         psci {
995                 compatible = "arm,psci-1.0";
996                 status = "okay";
997                 method = "smc";
998         };
999
1000         tcu: tcu {
1001                 compatible = "nvidia,tegra194-tcu";
1002                 mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_SM TEGRA_HSP_SM_RX(0)>,
1003                          <&hsp_aon TEGRA_HSP_MBOX_TYPE_SM TEGRA_HSP_SM_TX(1)>;
1004                 mbox-names = "rx", "tx";
1005         };
1006
1007         thermal-zones {
1008                 cpu {
1009                         thermal-sensors = <&{/bpmp/thermal}
1010                                            TEGRA194_BPMP_THERMAL_ZONE_CPU>;
1011                         status = "disabled";
1012                 };
1013
1014                 gpu {
1015                         thermal-sensors = <&{/bpmp/thermal}
1016                                            TEGRA194_BPMP_THERMAL_ZONE_GPU>;
1017                         status = "disabled";
1018                 };
1019
1020                 aux {
1021                         thermal-sensors = <&{/bpmp/thermal}
1022                                            TEGRA194_BPMP_THERMAL_ZONE_AUX>;
1023                         status = "disabled";
1024                 };
1025
1026                 pllx {
1027                         thermal-sensors = <&{/bpmp/thermal}
1028                                            TEGRA194_BPMP_THERMAL_ZONE_PLLX>;
1029                         status = "disabled";
1030                 };
1031
1032                 ao {
1033                         thermal-sensors = <&{/bpmp/thermal}
1034                                            TEGRA194_BPMP_THERMAL_ZONE_AO>;
1035                         status = "disabled";
1036                 };
1037
1038                 tj {
1039                         thermal-sensors = <&{/bpmp/thermal}
1040                                            TEGRA194_BPMP_THERMAL_ZONE_TJ_MAX>;
1041                         status = "disabled";
1042                 };
1043         };
1044
1045         timer {
1046                 compatible = "arm,armv8-timer";
1047                 interrupts = <GIC_PPI 13
1048                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1049                              <GIC_PPI 14
1050                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1051                              <GIC_PPI 11
1052                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1053                              <GIC_PPI 10
1054                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1055                 interrupt-parent = <&gic>;
1056         };
1057 };