blob: bf696ada856c5f5752a3af202652c40b95ce602b [file] [log] [blame]
Mikko Perttunen5425fb12018-02-20 13:58:11 +02001// 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>
Vidya Sagardbb72e22019-09-05 16:15:52 +05306#include <dt-bindings/pinctrl/pinctrl-tegra.h>
Thierry Reding3db6d3b2018-11-23 13:31:36 +01007#include <dt-bindings/power/tegra194-powergate.h>
Vidya Sagardbb72e22019-09-05 16:15:52 +05308#include <dt-bindings/reset/tegra194-reset.h>
Thierry Reding686ba002018-11-23 13:18:38 +01009#include <dt-bindings/thermal/tegra194-bpmp-thermal.h>
Thierry Redingbe9b8872019-12-22 15:10:35 +010010#include <dt-bindings/memory/tegra194-mc.h>
Mikko Perttunen5425fb12018-02-20 13:58:11 +020011
12/ {
13 compatible = "nvidia,tegra194";
14 interrupt-parent = <&gic>;
15 #address-cells = <2>;
16 #size-cells = <2>;
17
18 /* control backbone */
Thierry Redingeef97c22019-07-26 12:16:16 +020019 cbb@0 {
Mikko Perttunen5425fb12018-02-20 13:58:11 +020020 compatible = "simple-bus";
21 #address-cells = <1>;
22 #size-cells = <1>;
23 ranges = <0x0 0x0 0x0 0x40000000>;
24
JC Kuo09903c52020-01-03 16:30:18 +080025 misc@100000 {
26 compatible = "nvidia,tegra194-misc";
27 reg = <0x00100000 0xf000>,
28 <0x0010f000 0x1000>;
29 };
30
Mikko Perttunenf69ce392018-06-20 15:54:04 +030031 gpio: gpio@2200000 {
32 compatible = "nvidia,tegra194-gpio";
33 reg-names = "security", "gpio";
34 reg = <0x2200000 0x10000>,
35 <0x2210000 0x10000>;
36 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>,
37 <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
38 <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
39 <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
40 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
41 <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
42 #interrupt-cells = <2>;
43 interrupt-controller;
44 #gpio-cells = <2>;
45 gpio-controller;
46 };
47
Mikko Perttunenf89b58c2018-06-20 15:54:06 +030048 ethernet@2490000 {
Thierry Reding19dc7722019-09-25 13:38:51 +020049 compatible = "nvidia,tegra194-eqos",
50 "nvidia,tegra186-eqos",
Mikko Perttunenf89b58c2018-06-20 15:54:06 +030051 "snps,dwc-qos-ethernet-4.10";
52 reg = <0x02490000 0x10000>;
53 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
54 clocks = <&bpmp TEGRA194_CLK_AXI_CBB>,
55 <&bpmp TEGRA194_CLK_EQOS_AXI>,
56 <&bpmp TEGRA194_CLK_EQOS_RX>,
57 <&bpmp TEGRA194_CLK_EQOS_TX>,
58 <&bpmp TEGRA194_CLK_EQOS_PTP_REF>;
59 clock-names = "master_bus", "slave_bus", "rx", "tx", "ptp_ref";
60 resets = <&bpmp TEGRA194_RESET_EQOS>;
61 reset-names = "eqos";
Thierry Redingd5237c72019-12-13 11:21:33 +010062 interconnects = <&mc TEGRA194_MEMORY_CLIENT_EQOSR &emc>,
63 <&mc TEGRA194_MEMORY_CLIENT_EQOSW &emc>;
64 interconnect-names = "dma-mem", "write";
Mikko Perttunenf89b58c2018-06-20 15:54:06 +030065 status = "disabled";
66
67 snps,write-requests = <1>;
68 snps,read-requests = <3>;
69 snps,burst-map = <0x7>;
70 snps,txpbl = <16>;
71 snps,rxpbl = <8>;
72 };
73
Thierry Reding1aaa7692019-07-26 12:16:17 +020074 aconnect@2900000 {
Sameer Pujar5d2249d2019-06-19 17:21:21 +053075 compatible = "nvidia,tegra194-aconnect",
76 "nvidia,tegra210-aconnect";
77 clocks = <&bpmp TEGRA194_CLK_APE>,
78 <&bpmp TEGRA194_CLK_APB2APE>;
79 clock-names = "ape", "apb2ape";
80 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_AUD>;
81 #address-cells = <1>;
82 #size-cells = <1>;
83 ranges = <0x02900000 0x02900000 0x200000>;
84 status = "disabled";
85
86 dma-controller@2930000 {
87 compatible = "nvidia,tegra194-adma",
88 "nvidia,tegra186-adma";
89 reg = <0x02930000 0x20000>;
90 interrupt-parent = <&agic>;
91 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
92 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
93 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
94 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
95 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
96 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
97 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
98 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
99 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
100 <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
101 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
102 <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
103 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
104 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
105 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
106 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
107 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
108 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
109 <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
110 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
111 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
112 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
113 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
114 <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
115 <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
116 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
117 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
118 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
119 <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
120 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
121 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
122 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
123 #dma-cells = <1>;
124 clocks = <&bpmp TEGRA194_CLK_AHUB>;
125 clock-names = "d_audio";
126 status = "disabled";
127 };
128
129 agic: interrupt-controller@2a40000 {
130 compatible = "nvidia,tegra194-agic",
131 "nvidia,tegra210-agic";
132 #interrupt-cells = <3>;
133 interrupt-controller;
134 reg = <0x02a41000 0x1000>,
135 <0x02a42000 0x2000>;
136 interrupts = <GIC_SPI 145
137 (GIC_CPU_MASK_SIMPLE(4) |
138 IRQ_TYPE_LEVEL_HIGH)>;
139 clocks = <&bpmp TEGRA194_CLK_APE>;
140 clock-names = "clk";
141 status = "disabled";
142 };
143 };
144
Vidya Sagardbb72e22019-09-05 16:15:52 +0530145 pinmux: pinmux@2430000 {
146 compatible = "nvidia,tegra194-pinmux";
Thierry Reding644c5692020-06-12 09:13:52 +0200147 reg = <0x2430000 0x17000>,
148 <0xc300000 0x4000>;
Vidya Sagardbb72e22019-09-05 16:15:52 +0530149
150 status = "okay";
151
152 pex_rst_c5_out_state: pex_rst_c5_out {
153 pex_rst {
154 nvidia,pins = "pex_l5_rst_n_pgg1";
155 nvidia,schmitt = <TEGRA_PIN_DISABLE>;
156 nvidia,lpdr = <TEGRA_PIN_ENABLE>;
157 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
158 nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
159 nvidia,tristate = <TEGRA_PIN_DISABLE>;
160 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
161 };
162 };
163
164 clkreq_c5_bi_dir_state: clkreq_c5_bi_dir {
165 clkreq {
166 nvidia,pins = "pex_l5_clkreq_n_pgg0";
167 nvidia,schmitt = <TEGRA_PIN_DISABLE>;
168 nvidia,lpdr = <TEGRA_PIN_ENABLE>;
169 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
170 nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
171 nvidia,tristate = <TEGRA_PIN_DISABLE>;
172 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
173 };
174 };
175 };
176
Thierry Redingbe9b8872019-12-22 15:10:35 +0100177 mc: memory-controller@2c00000 {
178 compatible = "nvidia,tegra194-mc";
179 reg = <0x02c00000 0x100000>,
180 <0x02b80000 0x040000>,
181 <0x01700000 0x100000>;
Thierry Reding8613b4c2020-01-16 16:58:22 +0100182 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
Thierry Redingd5237c72019-12-13 11:21:33 +0100183 #interconnect-cells = <1>;
Thierry Redingbe9b8872019-12-22 15:10:35 +0100184 status = "disabled";
185
186 #address-cells = <2>;
187 #size-cells = <2>;
188
189 ranges = <0x01700000 0x0 0x01700000 0x0 0x100000>,
190 <0x02b80000 0x0 0x02b80000 0x0 0x040000>,
191 <0x02c00000 0x0 0x02c00000 0x0 0x100000>;
192
193 /*
194 * Bit 39 of addresses passing through the memory
195 * controller selects the XBAR format used when memory
196 * is accessed. This is used to transparently access
197 * memory in the XBAR format used by the discrete GPU
198 * (bit 39 set) or Tegra (bit 39 clear).
199 *
200 * As a consequence, the operating system must ensure
201 * that bit 39 is never used implicitly, for example
202 * via an I/O virtual address mapping of an IOMMU. If
203 * devices require access to the XBAR switch, their
204 * drivers must set this bit explicitly.
205 *
206 * Limit the DMA range for memory clients to [38:0].
207 */
208 dma-ranges = <0x0 0x0 0x0 0x80 0x0>;
209
210 emc: external-memory-controller@2c60000 {
211 compatible = "nvidia,tegra194-emc";
212 reg = <0x0 0x02c60000 0x0 0x90000>,
213 <0x0 0x01780000 0x0 0x80000>;
214 clocks = <&bpmp TEGRA194_CLK_EMC>;
215 clock-names = "emc";
216
Thierry Redingd5237c72019-12-13 11:21:33 +0100217 #interconnect-cells = <0>;
218
Thierry Redingbe9b8872019-12-22 15:10:35 +0100219 nvidia,bpmp = <&bpmp>;
220 };
221 };
222
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200223 uarta: serial@3100000 {
224 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
225 reg = <0x03100000 0x40>;
226 reg-shift = <2>;
227 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
228 clocks = <&bpmp TEGRA194_CLK_UARTA>;
229 clock-names = "serial";
230 resets = <&bpmp TEGRA194_RESET_UARTA>;
231 reset-names = "serial";
232 status = "disabled";
233 };
234
235 uartb: serial@3110000 {
236 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
237 reg = <0x03110000 0x40>;
238 reg-shift = <2>;
239 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
240 clocks = <&bpmp TEGRA194_CLK_UARTB>;
241 clock-names = "serial";
242 resets = <&bpmp TEGRA194_RESET_UARTB>;
243 reset-names = "serial";
244 status = "disabled";
245 };
246
247 uartd: serial@3130000 {
248 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
249 reg = <0x03130000 0x40>;
250 reg-shift = <2>;
251 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
252 clocks = <&bpmp TEGRA194_CLK_UARTD>;
253 clock-names = "serial";
254 resets = <&bpmp TEGRA194_RESET_UARTD>;
255 reset-names = "serial";
256 status = "disabled";
257 };
258
259 uarte: serial@3140000 {
260 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
261 reg = <0x03140000 0x40>;
262 reg-shift = <2>;
263 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
264 clocks = <&bpmp TEGRA194_CLK_UARTE>;
265 clock-names = "serial";
266 resets = <&bpmp TEGRA194_RESET_UARTE>;
267 reset-names = "serial";
268 status = "disabled";
269 };
270
271 uartf: serial@3150000 {
272 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
273 reg = <0x03150000 0x40>;
274 reg-shift = <2>;
275 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
276 clocks = <&bpmp TEGRA194_CLK_UARTF>;
277 clock-names = "serial";
278 resets = <&bpmp TEGRA194_RESET_UARTF>;
279 reset-names = "serial";
280 status = "disabled";
281 };
282
283 gen1_i2c: i2c@3160000 {
Thierry Redingd9fd22442018-09-21 12:14:46 +0200284 compatible = "nvidia,tegra194-i2c";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200285 reg = <0x03160000 0x10000>;
286 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
287 #address-cells = <1>;
288 #size-cells = <0>;
289 clocks = <&bpmp TEGRA194_CLK_I2C1>;
290 clock-names = "div-clk";
291 resets = <&bpmp TEGRA194_RESET_I2C1>;
292 reset-names = "i2c";
293 status = "disabled";
294 };
295
296 uarth: serial@3170000 {
297 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
298 reg = <0x03170000 0x40>;
299 reg-shift = <2>;
300 interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
301 clocks = <&bpmp TEGRA194_CLK_UARTH>;
302 clock-names = "serial";
303 resets = <&bpmp TEGRA194_RESET_UARTH>;
304 reset-names = "serial";
305 status = "disabled";
306 };
307
308 cam_i2c: i2c@3180000 {
Thierry Redingd9fd22442018-09-21 12:14:46 +0200309 compatible = "nvidia,tegra194-i2c";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200310 reg = <0x03180000 0x10000>;
311 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
312 #address-cells = <1>;
313 #size-cells = <0>;
314 clocks = <&bpmp TEGRA194_CLK_I2C3>;
315 clock-names = "div-clk";
316 resets = <&bpmp TEGRA194_RESET_I2C3>;
317 reset-names = "i2c";
318 status = "disabled";
319 };
320
321 /* shares pads with dpaux1 */
322 dp_aux_ch1_i2c: i2c@3190000 {
Thierry Redingd9fd22442018-09-21 12:14:46 +0200323 compatible = "nvidia,tegra194-i2c";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200324 reg = <0x03190000 0x10000>;
325 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
326 #address-cells = <1>;
327 #size-cells = <0>;
328 clocks = <&bpmp TEGRA194_CLK_I2C4>;
329 clock-names = "div-clk";
330 resets = <&bpmp TEGRA194_RESET_I2C4>;
331 reset-names = "i2c";
332 status = "disabled";
333 };
334
335 /* shares pads with dpaux0 */
336 dp_aux_ch0_i2c: i2c@31b0000 {
Thierry Redingd9fd22442018-09-21 12:14:46 +0200337 compatible = "nvidia,tegra194-i2c";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200338 reg = <0x031b0000 0x10000>;
339 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
340 #address-cells = <1>;
341 #size-cells = <0>;
342 clocks = <&bpmp TEGRA194_CLK_I2C6>;
343 clock-names = "div-clk";
344 resets = <&bpmp TEGRA194_RESET_I2C6>;
345 reset-names = "i2c";
346 status = "disabled";
347 };
348
349 gen7_i2c: i2c@31c0000 {
Thierry Redingd9fd22442018-09-21 12:14:46 +0200350 compatible = "nvidia,tegra194-i2c";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200351 reg = <0x031c0000 0x10000>;
352 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
353 #address-cells = <1>;
354 #size-cells = <0>;
355 clocks = <&bpmp TEGRA194_CLK_I2C7>;
356 clock-names = "div-clk";
357 resets = <&bpmp TEGRA194_RESET_I2C7>;
358 reset-names = "i2c";
359 status = "disabled";
360 };
361
362 gen9_i2c: i2c@31e0000 {
Thierry Redingd9fd22442018-09-21 12:14:46 +0200363 compatible = "nvidia,tegra194-i2c";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200364 reg = <0x031e0000 0x10000>;
365 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
366 #address-cells = <1>;
367 #size-cells = <0>;
368 clocks = <&bpmp TEGRA194_CLK_I2C9>;
369 clock-names = "div-clk";
370 resets = <&bpmp TEGRA194_RESET_I2C9>;
371 reset-names = "i2c";
372 status = "disabled";
373 };
374
Thierry Reding6a574ec2018-09-21 11:05:52 +0200375 pwm1: pwm@3280000 {
376 compatible = "nvidia,tegra194-pwm",
377 "nvidia,tegra186-pwm";
378 reg = <0x3280000 0x10000>;
379 clocks = <&bpmp TEGRA194_CLK_PWM1>;
380 clock-names = "pwm";
381 resets = <&bpmp TEGRA194_RESET_PWM1>;
382 reset-names = "pwm";
383 status = "disabled";
384 #pwm-cells = <2>;
385 };
386
387 pwm2: pwm@3290000 {
388 compatible = "nvidia,tegra194-pwm",
389 "nvidia,tegra186-pwm";
390 reg = <0x3290000 0x10000>;
391 clocks = <&bpmp TEGRA194_CLK_PWM2>;
392 clock-names = "pwm";
393 resets = <&bpmp TEGRA194_RESET_PWM2>;
394 reset-names = "pwm";
395 status = "disabled";
396 #pwm-cells = <2>;
397 };
398
399 pwm3: pwm@32a0000 {
400 compatible = "nvidia,tegra194-pwm",
401 "nvidia,tegra186-pwm";
402 reg = <0x32a0000 0x10000>;
403 clocks = <&bpmp TEGRA194_CLK_PWM3>;
404 clock-names = "pwm";
405 resets = <&bpmp TEGRA194_RESET_PWM3>;
406 reset-names = "pwm";
407 status = "disabled";
408 #pwm-cells = <2>;
409 };
410
411 pwm5: pwm@32c0000 {
412 compatible = "nvidia,tegra194-pwm",
413 "nvidia,tegra186-pwm";
414 reg = <0x32c0000 0x10000>;
415 clocks = <&bpmp TEGRA194_CLK_PWM5>;
416 clock-names = "pwm";
417 resets = <&bpmp TEGRA194_RESET_PWM5>;
418 reset-names = "pwm";
419 status = "disabled";
420 #pwm-cells = <2>;
421 };
422
423 pwm6: pwm@32d0000 {
424 compatible = "nvidia,tegra194-pwm",
425 "nvidia,tegra186-pwm";
426 reg = <0x32d0000 0x10000>;
427 clocks = <&bpmp TEGRA194_CLK_PWM6>;
428 clock-names = "pwm";
429 resets = <&bpmp TEGRA194_RESET_PWM6>;
430 reset-names = "pwm";
431 status = "disabled";
432 #pwm-cells = <2>;
433 };
434
435 pwm7: pwm@32e0000 {
436 compatible = "nvidia,tegra194-pwm",
437 "nvidia,tegra186-pwm";
438 reg = <0x32e0000 0x10000>;
439 clocks = <&bpmp TEGRA194_CLK_PWM7>;
440 clock-names = "pwm";
441 resets = <&bpmp TEGRA194_RESET_PWM7>;
442 reset-names = "pwm";
443 status = "disabled";
444 #pwm-cells = <2>;
445 };
446
447 pwm8: pwm@32f0000 {
448 compatible = "nvidia,tegra194-pwm",
449 "nvidia,tegra186-pwm";
450 reg = <0x32f0000 0x10000>;
451 clocks = <&bpmp TEGRA194_CLK_PWM8>;
452 clock-names = "pwm";
453 resets = <&bpmp TEGRA194_RESET_PWM8>;
454 reset-names = "pwm";
455 status = "disabled";
456 #pwm-cells = <2>;
457 };
458
Thierry Reding67bb17f2020-06-11 20:12:59 +0200459 sdmmc1: mmc@3400000 {
Thierry Reding2c3578b2020-01-16 13:41:11 +0100460 compatible = "nvidia,tegra194-sdhci";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200461 reg = <0x03400000 0x10000>;
462 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
463 clocks = <&bpmp TEGRA194_CLK_SDMMC1>;
464 clock-names = "sdhci";
465 resets = <&bpmp TEGRA194_RESET_SDMMC1>;
466 reset-names = "sdhci";
Thierry Redingd5237c72019-12-13 11:21:33 +0100467 interconnects = <&mc TEGRA194_MEMORY_CLIENT_SDMMCRA &emc>,
468 <&mc TEGRA194_MEMORY_CLIENT_SDMMCWA &emc>;
469 interconnect-names = "dma-mem", "write";
Sowjanya Komatineni4e0f1222019-01-10 14:46:02 -0800470 nvidia,pad-autocal-pull-up-offset-3v3-timeout =
471 <0x07>;
472 nvidia,pad-autocal-pull-down-offset-3v3-timeout =
473 <0x07>;
474 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x06>;
475 nvidia,pad-autocal-pull-down-offset-1v8-timeout =
476 <0x07>;
477 nvidia,pad-autocal-pull-up-offset-sdr104 = <0x00>;
478 nvidia,pad-autocal-pull-down-offset-sdr104 = <0x00>;
479 nvidia,default-tap = <0x9>;
480 nvidia,default-trim = <0x5>;
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200481 status = "disabled";
482 };
483
Thierry Reding67bb17f2020-06-11 20:12:59 +0200484 sdmmc3: mmc@3440000 {
Thierry Reding2c3578b2020-01-16 13:41:11 +0100485 compatible = "nvidia,tegra194-sdhci";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200486 reg = <0x03440000 0x10000>;
487 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
488 clocks = <&bpmp TEGRA194_CLK_SDMMC3>;
489 clock-names = "sdhci";
490 resets = <&bpmp TEGRA194_RESET_SDMMC3>;
491 reset-names = "sdhci";
Thierry Redingd5237c72019-12-13 11:21:33 +0100492 interconnects = <&mc TEGRA194_MEMORY_CLIENT_SDMMCR &emc>,
493 <&mc TEGRA194_MEMORY_CLIENT_SDMMCW &emc>;
494 interconnect-names = "dma-mem", "write";
Sowjanya Komatineni4e0f1222019-01-10 14:46:02 -0800495 nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>;
496 nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>;
497 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
498 nvidia,pad-autocal-pull-down-offset-3v3-timeout =
499 <0x07>;
500 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x06>;
501 nvidia,pad-autocal-pull-down-offset-1v8-timeout =
502 <0x07>;
503 nvidia,pad-autocal-pull-up-offset-sdr104 = <0x00>;
504 nvidia,pad-autocal-pull-down-offset-sdr104 = <0x00>;
505 nvidia,default-tap = <0x9>;
506 nvidia,default-trim = <0x5>;
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200507 status = "disabled";
508 };
509
Thierry Reding67bb17f2020-06-11 20:12:59 +0200510 sdmmc4: mmc@3460000 {
Thierry Reding2c3578b2020-01-16 13:41:11 +0100511 compatible = "nvidia,tegra194-sdhci";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200512 reg = <0x03460000 0x10000>;
513 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
514 clocks = <&bpmp TEGRA194_CLK_SDMMC4>;
515 clock-names = "sdhci";
Sowjanya Komatineni351648d2018-12-13 13:14:30 -0800516 assigned-clocks = <&bpmp TEGRA194_CLK_SDMMC4>,
517 <&bpmp TEGRA194_CLK_PLLC4>;
518 assigned-clock-parents =
519 <&bpmp TEGRA194_CLK_PLLC4>;
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200520 resets = <&bpmp TEGRA194_RESET_SDMMC4>;
521 reset-names = "sdhci";
Thierry Redingd5237c72019-12-13 11:21:33 +0100522 interconnects = <&mc TEGRA194_MEMORY_CLIENT_SDMMCRAB &emc>,
523 <&mc TEGRA194_MEMORY_CLIENT_SDMMCWAB &emc>;
524 interconnect-names = "dma-mem", "write";
Sowjanya Komatineni4e0f1222019-01-10 14:46:02 -0800525 nvidia,pad-autocal-pull-up-offset-hs400 = <0x00>;
526 nvidia,pad-autocal-pull-down-offset-hs400 = <0x00>;
527 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>;
528 nvidia,pad-autocal-pull-down-offset-1v8-timeout =
529 <0x0a>;
530 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>;
531 nvidia,pad-autocal-pull-down-offset-3v3-timeout =
532 <0x0a>;
533 nvidia,default-tap = <0x8>;
534 nvidia,default-trim = <0x14>;
535 nvidia,dqs-trim = <40>;
Sowjanya Komatinenidfd3cb62019-01-23 11:30:52 -0800536 supports-cqe;
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200537 status = "disabled";
538 };
539
Sameer Pujar4878cc02018-12-04 17:44:22 +0530540 hda@3510000 {
541 compatible = "nvidia,tegra194-hda", "nvidia,tegra30-hda";
542 reg = <0x3510000 0x10000>;
543 interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
544 clocks = <&bpmp TEGRA194_CLK_HDA>,
545 <&bpmp TEGRA194_CLK_HDA2CODEC_2X>,
546 <&bpmp TEGRA194_CLK_HDA2HDMICODEC>;
547 clock-names = "hda", "hda2codec_2x", "hda2hdmi";
548 resets = <&bpmp TEGRA194_RESET_HDA>,
549 <&bpmp TEGRA194_RESET_HDA2CODEC_2X>,
550 <&bpmp TEGRA194_RESET_HDA2HDMICODEC>;
551 reset-names = "hda", "hda2codec_2x", "hda2hdmi";
552 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
Thierry Redingd5237c72019-12-13 11:21:33 +0100553 interconnects = <&mc TEGRA194_MEMORY_CLIENT_HDAR &emc>,
554 <&mc TEGRA194_MEMORY_CLIENT_HDAW &emc>;
555 interconnect-names = "dma-mem", "write";
Sameer Pujar4878cc02018-12-04 17:44:22 +0530556 status = "disabled";
557 };
558
JC Kuofab7a032020-02-12 14:11:32 +0800559 xusb_padctl: padctl@3520000 {
560 compatible = "nvidia,tegra194-xusb-padctl";
561 reg = <0x03520000 0x1000>,
562 <0x03540000 0x1000>;
563 reg-names = "padctl", "ao";
564
565 resets = <&bpmp TEGRA194_RESET_XUSB_PADCTL>;
566 reset-names = "padctl";
567
568 status = "disabled";
569
570 pads {
571 usb2 {
572 clocks = <&bpmp TEGRA194_CLK_USB2_TRK>;
573 clock-names = "trk";
574
575 lanes {
576 usb2-0 {
577 nvidia,function = "xusb";
578 status = "disabled";
579 #phy-cells = <0>;
580 };
581
582 usb2-1 {
583 nvidia,function = "xusb";
584 status = "disabled";
585 #phy-cells = <0>;
586 };
587
588 usb2-2 {
589 nvidia,function = "xusb";
590 status = "disabled";
591 #phy-cells = <0>;
592 };
593
594 usb2-3 {
595 nvidia,function = "xusb";
596 status = "disabled";
597 #phy-cells = <0>;
598 };
599 };
600 };
601
602 usb3 {
603 lanes {
604 usb3-0 {
605 nvidia,function = "xusb";
606 status = "disabled";
607 #phy-cells = <0>;
608 };
609
610 usb3-1 {
611 nvidia,function = "xusb";
612 status = "disabled";
613 #phy-cells = <0>;
614 };
615
616 usb3-2 {
617 nvidia,function = "xusb";
618 status = "disabled";
619 #phy-cells = <0>;
620 };
621
622 usb3-3 {
623 nvidia,function = "xusb";
624 status = "disabled";
625 #phy-cells = <0>;
626 };
627 };
628 };
629 };
630
631 ports {
632 usb2-0 {
633 status = "disabled";
634 };
635
636 usb2-1 {
637 status = "disabled";
638 };
639
640 usb2-2 {
641 status = "disabled";
642 };
643
644 usb2-3 {
645 status = "disabled";
646 };
647
648 usb3-0 {
649 status = "disabled";
650 };
651
652 usb3-1 {
653 status = "disabled";
654 };
655
656 usb3-2 {
657 status = "disabled";
658 };
659
660 usb3-3 {
661 status = "disabled";
662 };
663 };
664 };
665
Nagarjuna Kristambc8788b2020-04-16 13:04:18 +0530666 usb@3550000 {
667 compatible = "nvidia,tegra194-xudc";
668 reg = <0x03550000 0x8000>,
669 <0x03558000 0x1000>;
670 reg-names = "base", "fpci";
671 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
672 clocks = <&bpmp TEGRA194_CLK_XUSB_CORE_DEV>,
673 <&bpmp TEGRA194_CLK_XUSB_CORE_SS>,
674 <&bpmp TEGRA194_CLK_XUSB_SS>,
675 <&bpmp TEGRA194_CLK_XUSB_FS>;
676 clock-names = "dev", "ss", "ss_src", "fs_src";
677 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_XUSBB>,
678 <&bpmp TEGRA194_POWER_DOMAIN_XUSBA>;
679 power-domain-names = "dev", "ss";
680 nvidia,xusb-padctl = <&xusb_padctl>;
681 status = "disabled";
682 };
683
JC Kuofab7a032020-02-12 14:11:32 +0800684 usb@3610000 {
685 compatible = "nvidia,tegra194-xusb";
686 reg = <0x03610000 0x40000>,
687 <0x03600000 0x10000>;
688 reg-names = "hcd", "fpci";
689
690 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
691 <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
692 <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
693
694 clocks = <&bpmp TEGRA194_CLK_XUSB_CORE_HOST>,
695 <&bpmp TEGRA194_CLK_XUSB_FALCON>,
696 <&bpmp TEGRA194_CLK_XUSB_CORE_SS>,
697 <&bpmp TEGRA194_CLK_XUSB_SS>,
698 <&bpmp TEGRA194_CLK_CLK_M>,
699 <&bpmp TEGRA194_CLK_XUSB_FS>,
700 <&bpmp TEGRA194_CLK_UTMIPLL>,
701 <&bpmp TEGRA194_CLK_CLK_M>,
702 <&bpmp TEGRA194_CLK_PLLE>;
703 clock-names = "xusb_host", "xusb_falcon_src",
704 "xusb_ss", "xusb_ss_src", "xusb_hs_src",
705 "xusb_fs_src", "pll_u_480m", "clk_m",
706 "pll_e";
707
708 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_XUSBC>,
709 <&bpmp TEGRA194_POWER_DOMAIN_XUSBA>;
710 power-domain-names = "xusb_host", "xusb_ss";
711
712 nvidia,xusb-padctl = <&xusb_padctl>;
713 status = "disabled";
714 };
715
JC Kuo09903c52020-01-03 16:30:18 +0800716 fuse@3820000 {
717 compatible = "nvidia,tegra194-efuse";
718 reg = <0x03820000 0x10000>;
719 clocks = <&bpmp TEGRA194_CLK_FUSE>;
720 clock-names = "fuse";
721 };
722
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200723 gic: interrupt-controller@3881000 {
724 compatible = "arm,gic-400";
725 #interrupt-cells = <3>;
726 interrupt-controller;
727 reg = <0x03881000 0x1000>,
728 <0x03882000 0x2000>,
729 <0x03884000 0x2000>,
730 <0x03886000 0x2000>;
731 interrupts = <GIC_PPI 9
732 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
733 interrupt-parent = <&gic>;
734 };
735
Thierry Redingbadb80b2018-12-06 17:50:21 +0100736 cec@3960000 {
737 compatible = "nvidia,tegra194-cec";
738 reg = <0x03960000 0x10000>;
739 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
740 clocks = <&bpmp TEGRA194_CLK_CEC>;
741 clock-names = "cec";
742 status = "disabled";
743 };
744
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200745 hsp_top0: hsp@3c00000 {
Mikko Perttunena38570c2018-11-28 10:54:19 +0100746 compatible = "nvidia,tegra194-hsp", "nvidia,tegra186-hsp";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200747 reg = <0x03c00000 0xa0000>;
Mikko Perttunena38570c2018-11-28 10:54:19 +0100748 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
749 <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
750 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
751 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
752 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
753 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
754 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
755 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
756 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
757 interrupt-names = "doorbell", "shared0", "shared1", "shared2",
758 "shared3", "shared4", "shared5", "shared6",
759 "shared7";
760 #mbox-cells = <2>;
761 };
762
Vidya Sagar2602c322019-06-12 15:23:35 +0530763 p2u_hsio_0: phy@3e10000 {
764 compatible = "nvidia,tegra194-p2u";
765 reg = <0x03e10000 0x10000>;
766 reg-names = "ctl";
767
768 #phy-cells = <0>;
769 };
770
771 p2u_hsio_1: phy@3e20000 {
772 compatible = "nvidia,tegra194-p2u";
773 reg = <0x03e20000 0x10000>;
774 reg-names = "ctl";
775
776 #phy-cells = <0>;
777 };
778
779 p2u_hsio_2: phy@3e30000 {
780 compatible = "nvidia,tegra194-p2u";
781 reg = <0x03e30000 0x10000>;
782 reg-names = "ctl";
783
784 #phy-cells = <0>;
785 };
786
787 p2u_hsio_3: phy@3e40000 {
788 compatible = "nvidia,tegra194-p2u";
789 reg = <0x03e40000 0x10000>;
790 reg-names = "ctl";
791
792 #phy-cells = <0>;
793 };
794
795 p2u_hsio_4: phy@3e50000 {
796 compatible = "nvidia,tegra194-p2u";
797 reg = <0x03e50000 0x10000>;
798 reg-names = "ctl";
799
800 #phy-cells = <0>;
801 };
802
803 p2u_hsio_5: phy@3e60000 {
804 compatible = "nvidia,tegra194-p2u";
805 reg = <0x03e60000 0x10000>;
806 reg-names = "ctl";
807
808 #phy-cells = <0>;
809 };
810
811 p2u_hsio_6: phy@3e70000 {
812 compatible = "nvidia,tegra194-p2u";
813 reg = <0x03e70000 0x10000>;
814 reg-names = "ctl";
815
816 #phy-cells = <0>;
817 };
818
819 p2u_hsio_7: phy@3e80000 {
820 compatible = "nvidia,tegra194-p2u";
821 reg = <0x03e80000 0x10000>;
822 reg-names = "ctl";
823
824 #phy-cells = <0>;
825 };
826
827 p2u_hsio_8: phy@3e90000 {
828 compatible = "nvidia,tegra194-p2u";
829 reg = <0x03e90000 0x10000>;
830 reg-names = "ctl";
831
832 #phy-cells = <0>;
833 };
834
835 p2u_hsio_9: phy@3ea0000 {
836 compatible = "nvidia,tegra194-p2u";
837 reg = <0x03ea0000 0x10000>;
838 reg-names = "ctl";
839
840 #phy-cells = <0>;
841 };
842
843 p2u_nvhs_0: phy@3eb0000 {
844 compatible = "nvidia,tegra194-p2u";
845 reg = <0x03eb0000 0x10000>;
846 reg-names = "ctl";
847
848 #phy-cells = <0>;
849 };
850
851 p2u_nvhs_1: phy@3ec0000 {
852 compatible = "nvidia,tegra194-p2u";
853 reg = <0x03ec0000 0x10000>;
854 reg-names = "ctl";
855
856 #phy-cells = <0>;
857 };
858
859 p2u_nvhs_2: phy@3ed0000 {
860 compatible = "nvidia,tegra194-p2u";
861 reg = <0x03ed0000 0x10000>;
862 reg-names = "ctl";
863
864 #phy-cells = <0>;
865 };
866
867 p2u_nvhs_3: phy@3ee0000 {
868 compatible = "nvidia,tegra194-p2u";
869 reg = <0x03ee0000 0x10000>;
870 reg-names = "ctl";
871
872 #phy-cells = <0>;
873 };
874
875 p2u_nvhs_4: phy@3ef0000 {
876 compatible = "nvidia,tegra194-p2u";
877 reg = <0x03ef0000 0x10000>;
878 reg-names = "ctl";
879
880 #phy-cells = <0>;
881 };
882
883 p2u_nvhs_5: phy@3f00000 {
884 compatible = "nvidia,tegra194-p2u";
885 reg = <0x03f00000 0x10000>;
886 reg-names = "ctl";
887
888 #phy-cells = <0>;
889 };
890
891 p2u_nvhs_6: phy@3f10000 {
892 compatible = "nvidia,tegra194-p2u";
893 reg = <0x03f10000 0x10000>;
894 reg-names = "ctl";
895
896 #phy-cells = <0>;
897 };
898
899 p2u_nvhs_7: phy@3f20000 {
900 compatible = "nvidia,tegra194-p2u";
901 reg = <0x03f20000 0x10000>;
902 reg-names = "ctl";
903
904 #phy-cells = <0>;
905 };
906
907 p2u_hsio_10: phy@3f30000 {
908 compatible = "nvidia,tegra194-p2u";
909 reg = <0x03f30000 0x10000>;
910 reg-names = "ctl";
911
912 #phy-cells = <0>;
913 };
914
915 p2u_hsio_11: phy@3f40000 {
916 compatible = "nvidia,tegra194-p2u";
917 reg = <0x03f40000 0x10000>;
918 reg-names = "ctl";
919
920 #phy-cells = <0>;
921 };
922
Mikko Perttunena38570c2018-11-28 10:54:19 +0100923 hsp_aon: hsp@c150000 {
924 compatible = "nvidia,tegra194-hsp", "nvidia,tegra186-hsp";
925 reg = <0x0c150000 0xa0000>;
926 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
927 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
928 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
929 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
930 /*
931 * Shared interrupt 0 is routed only to AON/SPE, so
932 * we only have 4 shared interrupts for the CCPLEX.
933 */
934 interrupt-names = "shared1", "shared2", "shared3", "shared4";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200935 #mbox-cells = <2>;
936 };
937
938 gen2_i2c: i2c@c240000 {
Thierry Redingd9fd22442018-09-21 12:14:46 +0200939 compatible = "nvidia,tegra194-i2c";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200940 reg = <0x0c240000 0x10000>;
941 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
942 #address-cells = <1>;
943 #size-cells = <0>;
944 clocks = <&bpmp TEGRA194_CLK_I2C2>;
945 clock-names = "div-clk";
946 resets = <&bpmp TEGRA194_RESET_I2C2>;
947 reset-names = "i2c";
948 status = "disabled";
949 };
950
951 gen8_i2c: i2c@c250000 {
Thierry Redingd9fd22442018-09-21 12:14:46 +0200952 compatible = "nvidia,tegra194-i2c";
Mikko Perttunen5425fb12018-02-20 13:58:11 +0200953 reg = <0x0c250000 0x10000>;
954 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
955 #address-cells = <1>;
956 #size-cells = <0>;
957 clocks = <&bpmp TEGRA194_CLK_I2C8>;
958 clock-names = "div-clk";
959 resets = <&bpmp TEGRA194_RESET_I2C8>;
960 reset-names = "i2c";
961 status = "disabled";
962 };
963
964 uartc: serial@c280000 {
965 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
966 reg = <0x0c280000 0x40>;
967 reg-shift = <2>;
968 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
969 clocks = <&bpmp TEGRA194_CLK_UARTC>;
970 clock-names = "serial";
971 resets = <&bpmp TEGRA194_RESET_UARTC>;
972 reset-names = "serial";
973 status = "disabled";
974 };
975
976 uartg: serial@c290000 {
977 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
978 reg = <0x0c290000 0x40>;
979 reg-shift = <2>;
980 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
981 clocks = <&bpmp TEGRA194_CLK_UARTG>;
982 clock-names = "serial";
983 resets = <&bpmp TEGRA194_RESET_UARTG>;
984 reset-names = "serial";
985 status = "disabled";
986 };
987
Thierry Reding37e5a312018-11-28 17:50:49 +0100988 rtc: rtc@c2a0000 {
989 compatible = "nvidia,tegra194-rtc", "nvidia,tegra20-rtc";
990 reg = <0x0c2a0000 0x10000>;
991 interrupt-parent = <&pmc>;
992 interrupts = <73 IRQ_TYPE_LEVEL_HIGH>;
993 clocks = <&bpmp TEGRA194_CLK_CLK_32K>;
994 clock-names = "rtc";
995 status = "disabled";
996 };
997
Thierry Reding4d286332018-11-28 18:19:56 +0100998 gpio_aon: gpio@c2f0000 {
999 compatible = "nvidia,tegra194-gpio-aon";
1000 reg-names = "security", "gpio";
1001 reg = <0xc2f0000 0x1000>,
1002 <0xc2f1000 0x1000>;
1003 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
1004 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
1005 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
1006 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
1007 gpio-controller;
1008 #gpio-cells = <2>;
1009 interrupt-controller;
1010 #interrupt-cells = <2>;
1011 };
1012
Thierry Reding6a574ec2018-09-21 11:05:52 +02001013 pwm4: pwm@c340000 {
1014 compatible = "nvidia,tegra194-pwm",
1015 "nvidia,tegra186-pwm";
1016 reg = <0xc340000 0x10000>;
1017 clocks = <&bpmp TEGRA194_CLK_PWM4>;
1018 clock-names = "pwm";
1019 resets = <&bpmp TEGRA194_RESET_PWM4>;
1020 reset-names = "pwm";
1021 status = "disabled";
1022 #pwm-cells = <2>;
1023 };
1024
Thierry Reding38ecf1e2018-11-28 18:19:55 +01001025 pmc: pmc@c360000 {
Mikko Perttunen5425fb12018-02-20 13:58:11 +02001026 compatible = "nvidia,tegra194-pmc";
1027 reg = <0x0c360000 0x10000>,
1028 <0x0c370000 0x10000>,
1029 <0x0c380000 0x10000>,
1030 <0x0c390000 0x10000>,
1031 <0x0c3a0000 0x10000>;
1032 reg-names = "pmc", "wake", "aotag", "scratch", "misc";
Thierry Reding38ecf1e2018-11-28 18:19:55 +01001033
1034 #interrupt-cells = <2>;
1035 interrupt-controller;
Mikko Perttunen5425fb12018-02-20 13:58:11 +02001036 };
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001037
1038 host1x@13e00000 {
Thierry Redingef126bc42020-06-12 09:17:34 +02001039 compatible = "nvidia,tegra194-host1x";
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001040 reg = <0x13e00000 0x10000>,
1041 <0x13e10000 0x10000>;
1042 reg-names = "hypervisor", "vm";
1043 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
1044 <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
Thierry Reding052d3f62020-02-07 18:02:08 +01001045 interrupt-names = "syncpt", "host1x";
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001046 clocks = <&bpmp TEGRA194_CLK_HOST1X>;
1047 clock-names = "host1x";
1048 resets = <&bpmp TEGRA194_RESET_HOST1X>;
1049 reset-names = "host1x";
1050
1051 #address-cells = <1>;
1052 #size-cells = <1>;
1053
1054 ranges = <0x15000000 0x15000000 0x01000000>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001055 interconnects = <&mc TEGRA194_MEMORY_CLIENT_HOST1XDMAR &emc>;
1056 interconnect-names = "dma-mem";
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001057
1058 display-hub@15200000 {
1059 compatible = "nvidia,tegra194-display", "simple-bus";
Thierry Reding611a1c62018-12-06 19:00:17 +01001060 reg = <0x15200000 0x00040000>;
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001061 resets = <&bpmp TEGRA194_RESET_NVDISPLAY0_MISC>,
1062 <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP0>,
1063 <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP1>,
1064 <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP2>,
1065 <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP3>,
1066 <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP4>,
1067 <&bpmp TEGRA194_RESET_NVDISPLAY0_WGRP5>;
1068 reset-names = "misc", "wgrp0", "wgrp1", "wgrp2",
1069 "wgrp3", "wgrp4", "wgrp5";
1070 clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_DISP>,
1071 <&bpmp TEGRA194_CLK_NVDISPLAYHUB>;
1072 clock-names = "disp", "hub";
1073 status = "disabled";
1074
1075 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
1076
1077 #address-cells = <1>;
1078 #size-cells = <1>;
1079
1080 ranges = <0x15200000 0x15200000 0x40000>;
1081
1082 display@15200000 {
1083 compatible = "nvidia,tegra194-dc";
1084 reg = <0x15200000 0x10000>;
1085 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
1086 clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_P0>;
1087 clock-names = "dc";
1088 resets = <&bpmp TEGRA194_RESET_NVDISPLAY0_HEAD0>;
1089 reset-names = "dc";
1090
1091 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001092 interconnects = <&mc TEGRA194_MEMORY_CLIENT_NVDISPLAYR &emc>,
1093 <&mc TEGRA194_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1094 interconnect-names = "dma-mem", "read-1";
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001095
1096 nvidia,outputs = <&sor0 &sor1 &sor2 &sor3>;
1097 nvidia,head = <0>;
1098 };
1099
1100 display@15210000 {
1101 compatible = "nvidia,tegra194-dc";
1102 reg = <0x15210000 0x10000>;
1103 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
1104 clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_P1>;
1105 clock-names = "dc";
1106 resets = <&bpmp TEGRA194_RESET_NVDISPLAY0_HEAD1>;
1107 reset-names = "dc";
1108
1109 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISPB>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001110 interconnects = <&mc TEGRA194_MEMORY_CLIENT_NVDISPLAYR &emc>,
1111 <&mc TEGRA194_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1112 interconnect-names = "dma-mem", "read-1";
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001113
1114 nvidia,outputs = <&sor0 &sor1 &sor2 &sor3>;
1115 nvidia,head = <1>;
1116 };
1117
1118 display@15220000 {
1119 compatible = "nvidia,tegra194-dc";
1120 reg = <0x15220000 0x10000>;
1121 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1122 clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_P2>;
1123 clock-names = "dc";
1124 resets = <&bpmp TEGRA194_RESET_NVDISPLAY0_HEAD2>;
1125 reset-names = "dc";
1126
1127 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISPC>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001128 interconnects = <&mc TEGRA194_MEMORY_CLIENT_NVDISPLAYR &emc>,
1129 <&mc TEGRA194_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1130 interconnect-names = "dma-mem", "read-1";
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001131
1132 nvidia,outputs = <&sor0 &sor1 &sor2 &sor3>;
1133 nvidia,head = <2>;
1134 };
1135
1136 display@15230000 {
1137 compatible = "nvidia,tegra194-dc";
1138 reg = <0x15230000 0x10000>;
1139 interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
1140 clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_P3>;
1141 clock-names = "dc";
1142 resets = <&bpmp TEGRA194_RESET_NVDISPLAY0_HEAD3>;
1143 reset-names = "dc";
1144
1145 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISPC>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001146 interconnects = <&mc TEGRA194_MEMORY_CLIENT_NVDISPLAYR &emc>,
1147 <&mc TEGRA194_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1148 interconnect-names = "dma-mem", "read-1";
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001149
1150 nvidia,outputs = <&sor0 &sor1 &sor2 &sor3>;
1151 nvidia,head = <3>;
1152 };
1153 };
1154
Thierry Reding8d424ec2018-11-23 13:31:37 +01001155 vic@15340000 {
1156 compatible = "nvidia,tegra194-vic";
1157 reg = <0x15340000 0x00040000>;
1158 interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
1159 clocks = <&bpmp TEGRA194_CLK_VIC>;
1160 clock-names = "vic";
1161 resets = <&bpmp TEGRA194_RESET_VIC>;
1162 reset-names = "vic";
1163
1164 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_VIC>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001165 interconnects = <&mc TEGRA194_MEMORY_CLIENT_VICSRD &emc>,
1166 <&mc TEGRA194_MEMORY_CLIENT_VICSWR &emc>;
1167 interconnect-names = "dma-mem", "write";
Thierry Reding8d424ec2018-11-23 13:31:37 +01001168 };
1169
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001170 dpaux0: dpaux@155c0000 {
1171 compatible = "nvidia,tegra194-dpaux";
1172 reg = <0x155c0000 0x10000>;
1173 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
1174 clocks = <&bpmp TEGRA194_CLK_DPAUX>,
1175 <&bpmp TEGRA194_CLK_PLLDP>;
1176 clock-names = "dpaux", "parent";
1177 resets = <&bpmp TEGRA194_RESET_DPAUX>;
1178 reset-names = "dpaux";
1179 status = "disabled";
1180
1181 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
1182
1183 state_dpaux0_aux: pinmux-aux {
1184 groups = "dpaux-io";
1185 function = "aux";
1186 };
1187
1188 state_dpaux0_i2c: pinmux-i2c {
1189 groups = "dpaux-io";
1190 function = "i2c";
1191 };
1192
1193 state_dpaux0_off: pinmux-off {
1194 groups = "dpaux-io";
1195 function = "off";
1196 };
1197
1198 i2c-bus {
1199 #address-cells = <1>;
1200 #size-cells = <0>;
1201 };
1202 };
1203
1204 dpaux1: dpaux@155d0000 {
1205 compatible = "nvidia,tegra194-dpaux";
1206 reg = <0x155d0000 0x10000>;
1207 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
1208 clocks = <&bpmp TEGRA194_CLK_DPAUX1>,
1209 <&bpmp TEGRA194_CLK_PLLDP>;
1210 clock-names = "dpaux", "parent";
1211 resets = <&bpmp TEGRA194_RESET_DPAUX1>;
1212 reset-names = "dpaux";
1213 status = "disabled";
1214
1215 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
1216
1217 state_dpaux1_aux: pinmux-aux {
1218 groups = "dpaux-io";
1219 function = "aux";
1220 };
1221
1222 state_dpaux1_i2c: pinmux-i2c {
1223 groups = "dpaux-io";
1224 function = "i2c";
1225 };
1226
1227 state_dpaux1_off: pinmux-off {
1228 groups = "dpaux-io";
1229 function = "off";
1230 };
1231
1232 i2c-bus {
1233 #address-cells = <1>;
1234 #size-cells = <0>;
1235 };
1236 };
1237
1238 dpaux2: dpaux@155e0000 {
1239 compatible = "nvidia,tegra194-dpaux";
1240 reg = <0x155e0000 0x10000>;
1241 interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
1242 clocks = <&bpmp TEGRA194_CLK_DPAUX2>,
1243 <&bpmp TEGRA194_CLK_PLLDP>;
1244 clock-names = "dpaux", "parent";
1245 resets = <&bpmp TEGRA194_RESET_DPAUX2>;
1246 reset-names = "dpaux";
1247 status = "disabled";
1248
1249 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
1250
1251 state_dpaux2_aux: pinmux-aux {
1252 groups = "dpaux-io";
1253 function = "aux";
1254 };
1255
1256 state_dpaux2_i2c: pinmux-i2c {
1257 groups = "dpaux-io";
1258 function = "i2c";
1259 };
1260
1261 state_dpaux2_off: pinmux-off {
1262 groups = "dpaux-io";
1263 function = "off";
1264 };
1265
1266 i2c-bus {
1267 #address-cells = <1>;
1268 #size-cells = <0>;
1269 };
1270 };
1271
1272 dpaux3: dpaux@155f0000 {
1273 compatible = "nvidia,tegra194-dpaux";
1274 reg = <0x155f0000 0x10000>;
1275 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
1276 clocks = <&bpmp TEGRA194_CLK_DPAUX3>,
1277 <&bpmp TEGRA194_CLK_PLLDP>;
1278 clock-names = "dpaux", "parent";
1279 resets = <&bpmp TEGRA194_RESET_DPAUX3>;
1280 reset-names = "dpaux";
1281 status = "disabled";
1282
1283 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
1284
1285 state_dpaux3_aux: pinmux-aux {
1286 groups = "dpaux-io";
1287 function = "aux";
1288 };
1289
1290 state_dpaux3_i2c: pinmux-i2c {
1291 groups = "dpaux-io";
1292 function = "i2c";
1293 };
1294
1295 state_dpaux3_off: pinmux-off {
1296 groups = "dpaux-io";
1297 function = "off";
1298 };
1299
1300 i2c-bus {
1301 #address-cells = <1>;
1302 #size-cells = <0>;
1303 };
1304 };
1305
1306 sor0: sor@15b00000 {
1307 compatible = "nvidia,tegra194-sor";
1308 reg = <0x15b00000 0x40000>;
1309 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
1310 clocks = <&bpmp TEGRA194_CLK_SOR0_REF>,
1311 <&bpmp TEGRA194_CLK_SOR0_OUT>,
1312 <&bpmp TEGRA194_CLK_PLLD>,
1313 <&bpmp TEGRA194_CLK_PLLDP>,
1314 <&bpmp TEGRA194_CLK_SOR_SAFE>,
1315 <&bpmp TEGRA194_CLK_SOR0_PAD_CLKOUT>;
1316 clock-names = "sor", "out", "parent", "dp", "safe",
1317 "pad";
1318 resets = <&bpmp TEGRA194_RESET_SOR0>;
1319 reset-names = "sor";
1320 pinctrl-0 = <&state_dpaux0_aux>;
1321 pinctrl-1 = <&state_dpaux0_i2c>;
1322 pinctrl-2 = <&state_dpaux0_off>;
1323 pinctrl-names = "aux", "i2c", "off";
1324 status = "disabled";
1325
1326 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
1327 nvidia,interface = <0>;
1328 };
1329
1330 sor1: sor@15b40000 {
1331 compatible = "nvidia,tegra194-sor";
Thierry Reding939e7432019-07-26 12:16:18 +02001332 reg = <0x15b40000 0x40000>;
Thierry Reding3db6d3b2018-11-23 13:31:36 +01001333 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
1334 clocks = <&bpmp TEGRA194_CLK_SOR1_REF>,
1335 <&bpmp TEGRA194_CLK_SOR1_OUT>,
1336 <&bpmp TEGRA194_CLK_PLLD2>,
1337 <&bpmp TEGRA194_CLK_PLLDP>,
1338 <&bpmp TEGRA194_CLK_SOR_SAFE>,
1339 <&bpmp TEGRA194_CLK_SOR1_PAD_CLKOUT>;
1340 clock-names = "sor", "out", "parent", "dp", "safe",
1341 "pad";
1342 resets = <&bpmp TEGRA194_RESET_SOR1>;
1343 reset-names = "sor";
1344 pinctrl-0 = <&state_dpaux1_aux>;
1345 pinctrl-1 = <&state_dpaux1_i2c>;
1346 pinctrl-2 = <&state_dpaux1_off>;
1347 pinctrl-names = "aux", "i2c", "off";
1348 status = "disabled";
1349
1350 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
1351 nvidia,interface = <1>;
1352 };
1353
1354 sor2: sor@15b80000 {
1355 compatible = "nvidia,tegra194-sor";
1356 reg = <0x15b80000 0x40000>;
1357 interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
1358 clocks = <&bpmp TEGRA194_CLK_SOR2_REF>,
1359 <&bpmp TEGRA194_CLK_SOR2_OUT>,
1360 <&bpmp TEGRA194_CLK_PLLD3>,
1361 <&bpmp TEGRA194_CLK_PLLDP>,
1362 <&bpmp TEGRA194_CLK_SOR_SAFE>,
1363 <&bpmp TEGRA194_CLK_SOR2_PAD_CLKOUT>;
1364 clock-names = "sor", "out", "parent", "dp", "safe",
1365 "pad";
1366 resets = <&bpmp TEGRA194_RESET_SOR2>;
1367 reset-names = "sor";
1368 pinctrl-0 = <&state_dpaux2_aux>;
1369 pinctrl-1 = <&state_dpaux2_i2c>;
1370 pinctrl-2 = <&state_dpaux2_off>;
1371 pinctrl-names = "aux", "i2c", "off";
1372 status = "disabled";
1373
1374 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
1375 nvidia,interface = <2>;
1376 };
1377
1378 sor3: sor@15bc0000 {
1379 compatible = "nvidia,tegra194-sor";
1380 reg = <0x15bc0000 0x40000>;
1381 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
1382 clocks = <&bpmp TEGRA194_CLK_SOR3_REF>,
1383 <&bpmp TEGRA194_CLK_SOR3_OUT>,
1384 <&bpmp TEGRA194_CLK_PLLD4>,
1385 <&bpmp TEGRA194_CLK_PLLDP>,
1386 <&bpmp TEGRA194_CLK_SOR_SAFE>,
1387 <&bpmp TEGRA194_CLK_SOR3_PAD_CLKOUT>;
1388 clock-names = "sor", "out", "parent", "dp", "safe",
1389 "pad";
1390 resets = <&bpmp TEGRA194_RESET_SOR3>;
1391 reset-names = "sor";
1392 pinctrl-0 = <&state_dpaux3_aux>;
1393 pinctrl-1 = <&state_dpaux3_i2c>;
1394 pinctrl-2 = <&state_dpaux3_off>;
1395 pinctrl-names = "aux", "i2c", "off";
1396 status = "disabled";
1397
1398 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_DISP>;
1399 nvidia,interface = <3>;
1400 };
1401 };
Mikko Perttunen5425fb12018-02-20 13:58:11 +02001402 };
1403
Vidya Sagar2602c322019-06-12 15:23:35 +05301404 pcie@14100000 {
Jon Hunterf9f711e2020-02-14 13:53:53 +00001405 compatible = "nvidia,tegra194-pcie";
Vidya Sagar2602c322019-06-12 15:23:35 +05301406 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>;
Thierry Reding644c5692020-06-12 09:13:52 +02001407 reg = <0x00 0x14100000 0x0 0x00020000>, /* appl registers (128K) */
1408 <0x00 0x30000000 0x0 0x00040000>, /* configuration space (256K) */
1409 <0x00 0x30040000 0x0 0x00040000>, /* iATU_DMA reg space (256K) */
1410 <0x00 0x30080000 0x0 0x00040000>; /* DBI reg space (256K) */
Vidya Sagar2602c322019-06-12 15:23:35 +05301411 reg-names = "appl", "config", "atu_dma", "dbi";
1412
1413 status = "disabled";
1414
1415 #address-cells = <3>;
1416 #size-cells = <2>;
1417 device_type = "pci";
1418 num-lanes = <1>;
1419 num-viewport = <8>;
1420 linux,pci-domain = <1>;
1421
1422 clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_1>;
1423 clock-names = "core";
1424
1425 resets = <&bpmp TEGRA194_RESET_PEX0_CORE_1_APB>,
1426 <&bpmp TEGRA194_RESET_PEX0_CORE_1>;
1427 reset-names = "apb", "core";
1428
1429 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
1430 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
1431 interrupt-names = "intr", "msi";
1432
1433 #interrupt-cells = <1>;
1434 interrupt-map-mask = <0 0 0 0>;
1435 interrupt-map = <0 0 0 0 &gic GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
1436
1437 nvidia,bpmp = <&bpmp 1>;
1438
Vidya Sagar2602c322019-06-12 15:23:35 +05301439 nvidia,aspm-cmrt-us = <60>;
1440 nvidia,aspm-pwr-on-t-us = <20>;
1441 nvidia,aspm-l0s-entrance-latency-us = <3>;
1442
1443 bus-range = <0x0 0xff>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001444
Thierry Reding644c5692020-06-12 09:13:52 +02001445 ranges = <0x01000000 0x0 0x30100000 0x0 0x30100000 0x0 0x00100000>, /* downstream I/O (1MB) */
1446 <0x43000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000>, /* prefetchable memory (768MB) */
1447 <0x02000000 0x0 0x40000000 0x12 0x30000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
Thierry Redingd5237c72019-12-13 11:21:33 +01001448
1449 interconnects = <&mc TEGRA194_MEMORY_CLIENT_PCIE1R &emc>,
1450 <&mc TEGRA194_MEMORY_CLIENT_PCIE1W &emc>;
1451 interconnect-names = "read", "write";
Vidya Sagar2602c322019-06-12 15:23:35 +05301452 };
1453
1454 pcie@14120000 {
Jon Hunterf9f711e2020-02-14 13:53:53 +00001455 compatible = "nvidia,tegra194-pcie";
Vidya Sagar2602c322019-06-12 15:23:35 +05301456 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>;
Thierry Reding644c5692020-06-12 09:13:52 +02001457 reg = <0x00 0x14120000 0x0 0x00020000>, /* appl registers (128K) */
1458 <0x00 0x32000000 0x0 0x00040000>, /* configuration space (256K) */
1459 <0x00 0x32040000 0x0 0x00040000>, /* iATU_DMA reg space (256K) */
1460 <0x00 0x32080000 0x0 0x00040000>; /* DBI reg space (256K) */
Vidya Sagar2602c322019-06-12 15:23:35 +05301461 reg-names = "appl", "config", "atu_dma", "dbi";
1462
1463 status = "disabled";
1464
1465 #address-cells = <3>;
1466 #size-cells = <2>;
1467 device_type = "pci";
1468 num-lanes = <1>;
1469 num-viewport = <8>;
1470 linux,pci-domain = <2>;
1471
1472 clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_2>;
1473 clock-names = "core";
1474
1475 resets = <&bpmp TEGRA194_RESET_PEX0_CORE_2_APB>,
1476 <&bpmp TEGRA194_RESET_PEX0_CORE_2>;
1477 reset-names = "apb", "core";
1478
1479 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
1480 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
1481 interrupt-names = "intr", "msi";
1482
1483 #interrupt-cells = <1>;
1484 interrupt-map-mask = <0 0 0 0>;
1485 interrupt-map = <0 0 0 0 &gic GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
1486
1487 nvidia,bpmp = <&bpmp 2>;
1488
Vidya Sagar2602c322019-06-12 15:23:35 +05301489 nvidia,aspm-cmrt-us = <60>;
1490 nvidia,aspm-pwr-on-t-us = <20>;
1491 nvidia,aspm-l0s-entrance-latency-us = <3>;
1492
1493 bus-range = <0x0 0xff>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001494
Thierry Reding644c5692020-06-12 09:13:52 +02001495 ranges = <0x01000000 0x0 0x32100000 0x0 0x32100000 0x0 0x00100000>, /* downstream I/O (1MB) */
1496 <0x43000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000>, /* prefetchable memory (768MB) */
1497 <0x02000000 0x0 0x40000000 0x12 0x70000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
Thierry Redingd5237c72019-12-13 11:21:33 +01001498
1499 interconnects = <&mc TEGRA194_MEMORY_CLIENT_PCIE2AR &emc>,
1500 <&mc TEGRA194_MEMORY_CLIENT_PCIE2AW &emc>;
1501 interconnect-names = "read", "write";
Vidya Sagar2602c322019-06-12 15:23:35 +05301502 };
1503
1504 pcie@14140000 {
Jon Hunterf9f711e2020-02-14 13:53:53 +00001505 compatible = "nvidia,tegra194-pcie";
Vidya Sagar2602c322019-06-12 15:23:35 +05301506 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>;
Thierry Reding644c5692020-06-12 09:13:52 +02001507 reg = <0x00 0x14140000 0x0 0x00020000>, /* appl registers (128K) */
1508 <0x00 0x34000000 0x0 0x00040000>, /* configuration space (256K) */
1509 <0x00 0x34040000 0x0 0x00040000>, /* iATU_DMA reg space (256K) */
1510 <0x00 0x34080000 0x0 0x00040000>; /* DBI reg space (256K) */
Vidya Sagar2602c322019-06-12 15:23:35 +05301511 reg-names = "appl", "config", "atu_dma", "dbi";
1512
1513 status = "disabled";
1514
1515 #address-cells = <3>;
1516 #size-cells = <2>;
1517 device_type = "pci";
1518 num-lanes = <1>;
1519 num-viewport = <8>;
1520 linux,pci-domain = <3>;
1521
1522 clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_3>;
1523 clock-names = "core";
1524
1525 resets = <&bpmp TEGRA194_RESET_PEX0_CORE_3_APB>,
1526 <&bpmp TEGRA194_RESET_PEX0_CORE_3>;
1527 reset-names = "apb", "core";
1528
1529 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
1530 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
1531 interrupt-names = "intr", "msi";
1532
1533 #interrupt-cells = <1>;
1534 interrupt-map-mask = <0 0 0 0>;
1535 interrupt-map = <0 0 0 0 &gic GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
1536
1537 nvidia,bpmp = <&bpmp 3>;
1538
Vidya Sagar2602c322019-06-12 15:23:35 +05301539 nvidia,aspm-cmrt-us = <60>;
1540 nvidia,aspm-pwr-on-t-us = <20>;
1541 nvidia,aspm-l0s-entrance-latency-us = <3>;
1542
1543 bus-range = <0x0 0xff>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001544
Thierry Reding644c5692020-06-12 09:13:52 +02001545 ranges = <0x01000000 0x0 0x34100000 0x0 0x34100000 0x0 0x00100000>, /* downstream I/O (1MB) */
1546 <0x43000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000>, /* prefetchable memory (768MB) */
1547 <0x02000000 0x0 0x40000000 0x12 0xb0000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
Thierry Redingd5237c72019-12-13 11:21:33 +01001548
1549 interconnects = <&mc TEGRA194_MEMORY_CLIENT_PCIE3R &emc>,
1550 <&mc TEGRA194_MEMORY_CLIENT_PCIE3W &emc>;
1551 interconnect-names = "read", "write";
Vidya Sagar2602c322019-06-12 15:23:35 +05301552 };
1553
1554 pcie@14160000 {
Jon Hunterf9f711e2020-02-14 13:53:53 +00001555 compatible = "nvidia,tegra194-pcie";
Vidya Sagar2602c322019-06-12 15:23:35 +05301556 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX4A>;
Thierry Reding644c5692020-06-12 09:13:52 +02001557 reg = <0x00 0x14160000 0x0 0x00020000>, /* appl registers (128K) */
1558 <0x00 0x36000000 0x0 0x00040000>, /* configuration space (256K) */
1559 <0x00 0x36040000 0x0 0x00040000>, /* iATU_DMA reg space (256K) */
1560 <0x00 0x36080000 0x0 0x00040000>; /* DBI reg space (256K) */
Vidya Sagar2602c322019-06-12 15:23:35 +05301561 reg-names = "appl", "config", "atu_dma", "dbi";
1562
1563 status = "disabled";
1564
1565 #address-cells = <3>;
1566 #size-cells = <2>;
1567 device_type = "pci";
1568 num-lanes = <4>;
1569 num-viewport = <8>;
1570 linux,pci-domain = <4>;
1571
1572 clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_4>;
1573 clock-names = "core";
1574
1575 resets = <&bpmp TEGRA194_RESET_PEX0_CORE_4_APB>,
1576 <&bpmp TEGRA194_RESET_PEX0_CORE_4>;
1577 reset-names = "apb", "core";
1578
1579 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
1580 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
1581 interrupt-names = "intr", "msi";
1582
1583 #interrupt-cells = <1>;
1584 interrupt-map-mask = <0 0 0 0>;
1585 interrupt-map = <0 0 0 0 &gic GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
1586
1587 nvidia,bpmp = <&bpmp 4>;
1588
Vidya Sagar2602c322019-06-12 15:23:35 +05301589 nvidia,aspm-cmrt-us = <60>;
1590 nvidia,aspm-pwr-on-t-us = <20>;
1591 nvidia,aspm-l0s-entrance-latency-us = <3>;
1592
1593 bus-range = <0x0 0xff>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001594
Thierry Reding644c5692020-06-12 09:13:52 +02001595 ranges = <0x01000000 0x0 0x36100000 0x0 0x36100000 0x0 0x00100000>, /* downstream I/O (1MB) */
1596 <0x43000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000>, /* prefetchable memory (13GB) */
1597 <0x02000000 0x0 0x40000000 0x17 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
Thierry Redingd5237c72019-12-13 11:21:33 +01001598
1599 interconnects = <&mc TEGRA194_MEMORY_CLIENT_PCIE4R &emc>,
1600 <&mc TEGRA194_MEMORY_CLIENT_PCIE4W &emc>;
1601 interconnect-names = "read", "write";
Vidya Sagar2602c322019-06-12 15:23:35 +05301602 };
1603
1604 pcie@14180000 {
Jon Hunterf9f711e2020-02-14 13:53:53 +00001605 compatible = "nvidia,tegra194-pcie";
Vidya Sagar2602c322019-06-12 15:23:35 +05301606 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8B>;
Thierry Reding644c5692020-06-12 09:13:52 +02001607 reg = <0x00 0x14180000 0x0 0x00020000>, /* appl registers (128K) */
1608 <0x00 0x38000000 0x0 0x00040000>, /* configuration space (256K) */
1609 <0x00 0x38040000 0x0 0x00040000>, /* iATU_DMA reg space (256K) */
1610 <0x00 0x38080000 0x0 0x00040000>; /* DBI reg space (256K) */
Vidya Sagar2602c322019-06-12 15:23:35 +05301611 reg-names = "appl", "config", "atu_dma", "dbi";
1612
1613 status = "disabled";
1614
1615 #address-cells = <3>;
1616 #size-cells = <2>;
1617 device_type = "pci";
1618 num-lanes = <8>;
1619 num-viewport = <8>;
1620 linux,pci-domain = <0>;
1621
1622 clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_0>;
1623 clock-names = "core";
1624
1625 resets = <&bpmp TEGRA194_RESET_PEX0_CORE_0_APB>,
1626 <&bpmp TEGRA194_RESET_PEX0_CORE_0>;
1627 reset-names = "apb", "core";
1628
1629 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
1630 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
1631 interrupt-names = "intr", "msi";
1632
1633 #interrupt-cells = <1>;
1634 interrupt-map-mask = <0 0 0 0>;
1635 interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1636
1637 nvidia,bpmp = <&bpmp 0>;
1638
Vidya Sagar2602c322019-06-12 15:23:35 +05301639 nvidia,aspm-cmrt-us = <60>;
1640 nvidia,aspm-pwr-on-t-us = <20>;
1641 nvidia,aspm-l0s-entrance-latency-us = <3>;
1642
1643 bus-range = <0x0 0xff>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001644
Thierry Reding644c5692020-06-12 09:13:52 +02001645 ranges = <0x01000000 0x0 0x38100000 0x0 0x38100000 0x0 0x00100000>, /* downstream I/O (1MB) */
1646 <0x43000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000>, /* prefetchable memory (13GB) */
1647 <0x02000000 0x0 0x40000000 0x1b 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
Thierry Redingd5237c72019-12-13 11:21:33 +01001648
1649 interconnects = <&mc TEGRA194_MEMORY_CLIENT_PCIE0R &emc>,
1650 <&mc TEGRA194_MEMORY_CLIENT_PCIE0W &emc>;
1651 interconnect-names = "read", "write";
Vidya Sagar2602c322019-06-12 15:23:35 +05301652 };
1653
1654 pcie@141a0000 {
Jon Hunterf9f711e2020-02-14 13:53:53 +00001655 compatible = "nvidia,tegra194-pcie";
Vidya Sagar2602c322019-06-12 15:23:35 +05301656 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8A>;
Thierry Reding644c5692020-06-12 09:13:52 +02001657 reg = <0x00 0x141a0000 0x0 0x00020000>, /* appl registers (128K) */
1658 <0x00 0x3a000000 0x0 0x00040000>, /* configuration space (256K) */
1659 <0x00 0x3a040000 0x0 0x00040000>, /* iATU_DMA reg space (256K) */
1660 <0x00 0x3a080000 0x0 0x00040000>; /* DBI reg space (256K) */
Vidya Sagar2602c322019-06-12 15:23:35 +05301661 reg-names = "appl", "config", "atu_dma", "dbi";
1662
1663 status = "disabled";
1664
1665 #address-cells = <3>;
1666 #size-cells = <2>;
1667 device_type = "pci";
1668 num-lanes = <8>;
1669 num-viewport = <8>;
1670 linux,pci-domain = <5>;
1671
Vidya Sagardbb72e22019-09-05 16:15:52 +05301672 pinctrl-names = "default";
1673 pinctrl-0 = <&pex_rst_c5_out_state>, <&clkreq_c5_bi_dir_state>;
1674
Vidya Sagar2602c322019-06-12 15:23:35 +05301675 clocks = <&bpmp TEGRA194_CLK_PEX1_CORE_5>,
1676 <&bpmp TEGRA194_CLK_PEX1_CORE_5M>;
1677 clock-names = "core", "core_m";
1678
1679 resets = <&bpmp TEGRA194_RESET_PEX1_CORE_5_APB>,
1680 <&bpmp TEGRA194_RESET_PEX1_CORE_5>;
1681 reset-names = "apb", "core";
1682
1683 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
1684 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
1685 interrupt-names = "intr", "msi";
1686
1687 nvidia,bpmp = <&bpmp 5>;
1688
1689 #interrupt-cells = <1>;
1690 interrupt-map-mask = <0 0 0 0>;
1691 interrupt-map = <0 0 0 0 &gic GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
1692
Vidya Sagar2602c322019-06-12 15:23:35 +05301693 nvidia,aspm-cmrt-us = <60>;
1694 nvidia,aspm-pwr-on-t-us = <20>;
1695 nvidia,aspm-l0s-entrance-latency-us = <3>;
1696
1697 bus-range = <0x0 0xff>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001698
Thierry Reding644c5692020-06-12 09:13:52 +02001699 ranges = <0x01000000 0x0 0x3a100000 0x0 0x3a100000 0x0 0x00100000>, /* downstream I/O (1MB) */
1700 <0x43000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000>, /* prefetchable memory (13GB) */
1701 <0x02000000 0x0 0x40000000 0x1f 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
Thierry Redingd5237c72019-12-13 11:21:33 +01001702
1703 interconnects = <&mc TEGRA194_MEMORY_CLIENT_PCIE5R &emc>,
1704 <&mc TEGRA194_MEMORY_CLIENT_PCIE5W &emc>;
1705 interconnect-names = "read", "write";
Vidya Sagar2602c322019-06-12 15:23:35 +05301706 };
1707
Vidya Sagar0c988b72020-03-03 23:40:50 +05301708 pcie_ep@14160000 {
1709 compatible = "nvidia,tegra194-pcie-ep", "snps,dw-pcie-ep";
1710 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX4A>;
Thierry Reding644c5692020-06-12 09:13:52 +02001711 reg = <0x00 0x14160000 0x0 0x00020000>, /* appl registers (128K) */
1712 <0x00 0x36040000 0x0 0x00040000>, /* iATU_DMA reg space (256K) */
1713 <0x00 0x36080000 0x0 0x00040000>, /* DBI reg space (256K) */
1714 <0x14 0x00000000 0x4 0x00000000>; /* Address Space (16G) */
Vidya Sagar0c988b72020-03-03 23:40:50 +05301715 reg-names = "appl", "atu_dma", "dbi", "addr_space";
1716
1717 status = "disabled";
1718
1719 num-lanes = <4>;
1720 num-ib-windows = <2>;
1721 num-ob-windows = <8>;
1722
1723 clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_4>;
1724 clock-names = "core";
1725
1726 resets = <&bpmp TEGRA194_RESET_PEX0_CORE_4_APB>,
1727 <&bpmp TEGRA194_RESET_PEX0_CORE_4>;
1728 reset-names = "apb", "core";
1729
1730 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
1731 interrupt-names = "intr";
1732
1733 nvidia,bpmp = <&bpmp 4>;
1734
1735 nvidia,aspm-cmrt-us = <60>;
1736 nvidia,aspm-pwr-on-t-us = <20>;
1737 nvidia,aspm-l0s-entrance-latency-us = <3>;
1738 };
1739
1740 pcie_ep@14180000 {
1741 compatible = "nvidia,tegra194-pcie-ep", "snps,dw-pcie-ep";
1742 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8B>;
Thierry Reding644c5692020-06-12 09:13:52 +02001743 reg = <0x00 0x14180000 0x0 0x00020000>, /* appl registers (128K) */
1744 <0x00 0x38040000 0x0 0x00040000>, /* iATU_DMA reg space (256K) */
1745 <0x00 0x38080000 0x0 0x00040000>, /* DBI reg space (256K) */
1746 <0x18 0x00000000 0x4 0x00000000>; /* Address Space (16G) */
Vidya Sagar0c988b72020-03-03 23:40:50 +05301747 reg-names = "appl", "atu_dma", "dbi", "addr_space";
1748
1749 status = "disabled";
1750
1751 num-lanes = <8>;
1752 num-ib-windows = <2>;
1753 num-ob-windows = <8>;
1754
1755 clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_0>;
1756 clock-names = "core";
1757
1758 resets = <&bpmp TEGRA194_RESET_PEX0_CORE_0_APB>,
1759 <&bpmp TEGRA194_RESET_PEX0_CORE_0>;
1760 reset-names = "apb", "core";
1761
1762 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
1763 interrupt-names = "intr";
1764
1765 nvidia,bpmp = <&bpmp 0>;
1766
1767 nvidia,aspm-cmrt-us = <60>;
1768 nvidia,aspm-pwr-on-t-us = <20>;
1769 nvidia,aspm-l0s-entrance-latency-us = <3>;
1770 };
1771
1772 pcie_ep@141a0000 {
1773 compatible = "nvidia,tegra194-pcie-ep", "snps,dw-pcie-ep";
1774 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8A>;
Thierry Reding644c5692020-06-12 09:13:52 +02001775 reg = <0x00 0x141a0000 0x0 0x00020000>, /* appl registers (128K) */
1776 <0x00 0x3a040000 0x0 0x00040000>, /* iATU_DMA reg space (256K) */
1777 <0x00 0x3a080000 0x0 0x00040000>, /* DBI reg space (256K) */
1778 <0x1c 0x00000000 0x4 0x00000000>; /* Address Space (16G) */
Vidya Sagar0c988b72020-03-03 23:40:50 +05301779 reg-names = "appl", "atu_dma", "dbi", "addr_space";
1780
1781 status = "disabled";
1782
1783 num-lanes = <8>;
1784 num-ib-windows = <2>;
1785 num-ob-windows = <8>;
1786
1787 pinctrl-names = "default";
1788 pinctrl-0 = <&clkreq_c5_bi_dir_state>;
1789
1790 clocks = <&bpmp TEGRA194_CLK_PEX1_CORE_5>;
1791 clock-names = "core";
1792
1793 resets = <&bpmp TEGRA194_RESET_PEX1_CORE_5_APB>,
1794 <&bpmp TEGRA194_RESET_PEX1_CORE_5>;
1795 reset-names = "apb", "core";
1796
1797 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
1798 interrupt-names = "intr";
1799
1800 nvidia,bpmp = <&bpmp 5>;
1801
1802 nvidia,aspm-cmrt-us = <60>;
1803 nvidia,aspm-pwr-on-t-us = <20>;
1804 nvidia,aspm-l0s-entrance-latency-us = <3>;
1805 };
1806
Mikko Perttunen5425fb12018-02-20 13:58:11 +02001807 sysram@40000000 {
1808 compatible = "nvidia,tegra194-sysram", "mmio-sram";
1809 reg = <0x0 0x40000000 0x0 0x50000>;
1810 #address-cells = <1>;
1811 #size-cells = <1>;
1812 ranges = <0x0 0x0 0x40000000 0x50000>;
1813
1814 cpu_bpmp_tx: shmem@4e000 {
1815 compatible = "nvidia,tegra194-bpmp-shmem";
1816 reg = <0x4e000 0x1000>;
1817 label = "cpu-bpmp-tx";
1818 pool;
1819 };
1820
1821 cpu_bpmp_rx: shmem@4f000 {
1822 compatible = "nvidia,tegra194-bpmp-shmem";
1823 reg = <0x4f000 0x1000>;
1824 label = "cpu-bpmp-rx";
1825 pool;
1826 };
1827 };
1828
1829 bpmp: bpmp {
1830 compatible = "nvidia,tegra186-bpmp";
1831 mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
1832 TEGRA_HSP_DB_MASTER_BPMP>;
1833 shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>;
1834 #clock-cells = <1>;
1835 #reset-cells = <1>;
1836 #power-domain-cells = <1>;
Thierry Redingd5237c72019-12-13 11:21:33 +01001837 interconnects = <&mc TEGRA194_MEMORY_CLIENT_BPMPR &emc>,
1838 <&mc TEGRA194_MEMORY_CLIENT_BPMPW &emc>,
1839 <&mc TEGRA194_MEMORY_CLIENT_BPMPDMAR &emc>,
1840 <&mc TEGRA194_MEMORY_CLIENT_BPMPDMAW &emc>;
1841 interconnect-names = "read", "write", "dma-mem", "dma-write";
Mikko Perttunen5425fb12018-02-20 13:58:11 +02001842
1843 bpmp_i2c: i2c {
1844 compatible = "nvidia,tegra186-bpmp-i2c";
1845 nvidia,bpmp-bus-id = <5>;
1846 #address-cells = <1>;
1847 #size-cells = <0>;
1848 };
1849
1850 bpmp_thermal: thermal {
1851 compatible = "nvidia,tegra186-bpmp-thermal";
1852 #thermal-sensor-cells = <1>;
1853 };
1854 };
1855
Mikko Perttunen7780a032018-07-02 15:11:31 +03001856 cpus {
1857 #address-cells = <1>;
1858 #size-cells = <0>;
1859
Thierry Redingb45d3222019-09-20 16:56:21 +02001860 cpu0_0: cpu@0 {
Rob Herring31af04c2019-01-14 11:45:33 -06001861 compatible = "nvidia,tegra194-carmel";
Mikko Perttunen7780a032018-07-02 15:11:31 +03001862 device_type = "cpu";
Thierry Redingb45d3222019-09-20 16:56:21 +02001863 reg = <0x000>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001864 enable-method = "psci";
Thierry Redingb45d3222019-09-20 16:56:21 +02001865 i-cache-size = <131072>;
1866 i-cache-line-size = <64>;
1867 i-cache-sets = <512>;
1868 d-cache-size = <65536>;
1869 d-cache-line-size = <64>;
1870 d-cache-sets = <256>;
1871 next-level-cache = <&l2c_0>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001872 };
1873
Thierry Redingb45d3222019-09-20 16:56:21 +02001874 cpu0_1: cpu@1 {
Rob Herring31af04c2019-01-14 11:45:33 -06001875 compatible = "nvidia,tegra194-carmel";
Mikko Perttunen7780a032018-07-02 15:11:31 +03001876 device_type = "cpu";
Thierry Redingb45d3222019-09-20 16:56:21 +02001877 reg = <0x001>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001878 enable-method = "psci";
Thierry Redingb45d3222019-09-20 16:56:21 +02001879 i-cache-size = <131072>;
1880 i-cache-line-size = <64>;
1881 i-cache-sets = <512>;
1882 d-cache-size = <65536>;
1883 d-cache-line-size = <64>;
1884 d-cache-sets = <256>;
1885 next-level-cache = <&l2c_0>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001886 };
1887
Thierry Redingb45d3222019-09-20 16:56:21 +02001888 cpu1_0: cpu@100 {
Rob Herring31af04c2019-01-14 11:45:33 -06001889 compatible = "nvidia,tegra194-carmel";
Mikko Perttunen7780a032018-07-02 15:11:31 +03001890 device_type = "cpu";
1891 reg = <0x100>;
1892 enable-method = "psci";
Thierry Redingb45d3222019-09-20 16:56:21 +02001893 i-cache-size = <131072>;
1894 i-cache-line-size = <64>;
1895 i-cache-sets = <512>;
1896 d-cache-size = <65536>;
1897 d-cache-line-size = <64>;
1898 d-cache-sets = <256>;
1899 next-level-cache = <&l2c_1>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001900 };
1901
Thierry Redingb45d3222019-09-20 16:56:21 +02001902 cpu1_1: cpu@101 {
Rob Herring31af04c2019-01-14 11:45:33 -06001903 compatible = "nvidia,tegra194-carmel";
Mikko Perttunen7780a032018-07-02 15:11:31 +03001904 device_type = "cpu";
1905 reg = <0x101>;
1906 enable-method = "psci";
Thierry Redingb45d3222019-09-20 16:56:21 +02001907 i-cache-size = <131072>;
1908 i-cache-line-size = <64>;
1909 i-cache-sets = <512>;
1910 d-cache-size = <65536>;
1911 d-cache-line-size = <64>;
1912 d-cache-sets = <256>;
1913 next-level-cache = <&l2c_1>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001914 };
1915
Thierry Redingb45d3222019-09-20 16:56:21 +02001916 cpu2_0: cpu@200 {
Rob Herring31af04c2019-01-14 11:45:33 -06001917 compatible = "nvidia,tegra194-carmel";
Mikko Perttunen7780a032018-07-02 15:11:31 +03001918 device_type = "cpu";
1919 reg = <0x200>;
1920 enable-method = "psci";
Thierry Redingb45d3222019-09-20 16:56:21 +02001921 i-cache-size = <131072>;
1922 i-cache-line-size = <64>;
1923 i-cache-sets = <512>;
1924 d-cache-size = <65536>;
1925 d-cache-line-size = <64>;
1926 d-cache-sets = <256>;
1927 next-level-cache = <&l2c_2>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001928 };
1929
Thierry Redingb45d3222019-09-20 16:56:21 +02001930 cpu2_1: cpu@201 {
Rob Herring31af04c2019-01-14 11:45:33 -06001931 compatible = "nvidia,tegra194-carmel";
Mikko Perttunen7780a032018-07-02 15:11:31 +03001932 device_type = "cpu";
1933 reg = <0x201>;
1934 enable-method = "psci";
Thierry Redingb45d3222019-09-20 16:56:21 +02001935 i-cache-size = <131072>;
1936 i-cache-line-size = <64>;
1937 i-cache-sets = <512>;
1938 d-cache-size = <65536>;
1939 d-cache-line-size = <64>;
1940 d-cache-sets = <256>;
1941 next-level-cache = <&l2c_2>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001942 };
1943
Thierry Redingb45d3222019-09-20 16:56:21 +02001944 cpu3_0: cpu@300 {
Rob Herring31af04c2019-01-14 11:45:33 -06001945 compatible = "nvidia,tegra194-carmel";
Mikko Perttunen7780a032018-07-02 15:11:31 +03001946 device_type = "cpu";
Thierry Redingb45d3222019-09-20 16:56:21 +02001947 reg = <0x300>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001948 enable-method = "psci";
Thierry Redingb45d3222019-09-20 16:56:21 +02001949 i-cache-size = <131072>;
1950 i-cache-line-size = <64>;
1951 i-cache-sets = <512>;
1952 d-cache-size = <65536>;
1953 d-cache-line-size = <64>;
1954 d-cache-sets = <256>;
1955 next-level-cache = <&l2c_3>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001956 };
1957
Thierry Redingb45d3222019-09-20 16:56:21 +02001958 cpu3_1: cpu@301 {
Rob Herring31af04c2019-01-14 11:45:33 -06001959 compatible = "nvidia,tegra194-carmel";
Mikko Perttunen7780a032018-07-02 15:11:31 +03001960 device_type = "cpu";
Thierry Redingb45d3222019-09-20 16:56:21 +02001961 reg = <0x301>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03001962 enable-method = "psci";
Thierry Redingb45d3222019-09-20 16:56:21 +02001963 i-cache-size = <131072>;
1964 i-cache-line-size = <64>;
1965 i-cache-sets = <512>;
1966 d-cache-size = <65536>;
1967 d-cache-line-size = <64>;
1968 d-cache-sets = <256>;
1969 next-level-cache = <&l2c_3>;
1970 };
1971
1972 cpu-map {
1973 cluster0 {
1974 core0 {
1975 cpu = <&cpu0_0>;
1976 };
1977
1978 core1 {
1979 cpu = <&cpu0_1>;
1980 };
1981 };
1982
1983 cluster1 {
1984 core0 {
1985 cpu = <&cpu1_0>;
1986 };
1987
1988 core1 {
1989 cpu = <&cpu1_1>;
1990 };
1991 };
1992
1993 cluster2 {
1994 core0 {
1995 cpu = <&cpu2_0>;
1996 };
1997
1998 core1 {
1999 cpu = <&cpu2_1>;
2000 };
2001 };
2002
2003 cluster3 {
2004 core0 {
2005 cpu = <&cpu3_0>;
2006 };
2007
2008 core1 {
2009 cpu = <&cpu3_1>;
2010 };
2011 };
2012 };
2013
2014 l2c_0: l2-cache0 {
2015 cache-size = <2097152>;
2016 cache-line-size = <64>;
2017 cache-sets = <2048>;
2018 next-level-cache = <&l3c>;
2019 };
2020
2021 l2c_1: l2-cache1 {
2022 cache-size = <2097152>;
2023 cache-line-size = <64>;
2024 cache-sets = <2048>;
2025 next-level-cache = <&l3c>;
2026 };
2027
2028 l2c_2: l2-cache2 {
2029 cache-size = <2097152>;
2030 cache-line-size = <64>;
2031 cache-sets = <2048>;
2032 next-level-cache = <&l3c>;
2033 };
2034
2035 l2c_3: l2-cache3 {
2036 cache-size = <2097152>;
2037 cache-line-size = <64>;
2038 cache-sets = <2048>;
2039 next-level-cache = <&l3c>;
2040 };
2041
2042 l3c: l3-cache {
2043 cache-size = <4194304>;
2044 cache-line-size = <64>;
2045 cache-sets = <4096>;
Mikko Perttunen7780a032018-07-02 15:11:31 +03002046 };
2047 };
2048
2049 psci {
2050 compatible = "arm,psci-1.0";
2051 status = "okay";
2052 method = "smc";
2053 };
2054
Mikko Perttunena38570c2018-11-28 10:54:19 +01002055 tcu: tcu {
2056 compatible = "nvidia,tegra194-tcu";
2057 mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_SM TEGRA_HSP_SM_RX(0)>,
2058 <&hsp_aon TEGRA_HSP_MBOX_TYPE_SM TEGRA_HSP_SM_TX(1)>;
2059 mbox-names = "rx", "tx";
2060 };
2061
Thierry Reding686ba002018-11-23 13:18:38 +01002062 thermal-zones {
2063 cpu {
2064 thermal-sensors = <&{/bpmp/thermal}
2065 TEGRA194_BPMP_THERMAL_ZONE_CPU>;
2066 status = "disabled";
2067 };
2068
2069 gpu {
2070 thermal-sensors = <&{/bpmp/thermal}
2071 TEGRA194_BPMP_THERMAL_ZONE_GPU>;
2072 status = "disabled";
2073 };
2074
2075 aux {
2076 thermal-sensors = <&{/bpmp/thermal}
2077 TEGRA194_BPMP_THERMAL_ZONE_AUX>;
2078 status = "disabled";
2079 };
2080
2081 pllx {
2082 thermal-sensors = <&{/bpmp/thermal}
2083 TEGRA194_BPMP_THERMAL_ZONE_PLLX>;
2084 status = "disabled";
2085 };
2086
2087 ao {
2088 thermal-sensors = <&{/bpmp/thermal}
2089 TEGRA194_BPMP_THERMAL_ZONE_AO>;
2090 status = "disabled";
2091 };
2092
2093 tj {
2094 thermal-sensors = <&{/bpmp/thermal}
2095 TEGRA194_BPMP_THERMAL_ZONE_TJ_MAX>;
2096 status = "disabled";
2097 };
2098 };
2099
Mikko Perttunen5425fb12018-02-20 13:58:11 +02002100 timer {
2101 compatible = "arm,armv8-timer";
2102 interrupts = <GIC_PPI 13
2103 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2104 <GIC_PPI 14
2105 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2106 <GIC_PPI 11
2107 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2108 <GIC_PPI 10
2109 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
2110 interrupt-parent = <&gic>;
Thierry Redingb30be672019-06-14 12:52:36 +02002111 always-on;
Mikko Perttunen5425fb12018-02-20 13:58:11 +02002112 };
2113};