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