1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2023 Rockchip Electronics Co., Ltd. 4 */ 5 6#include <dt-bindings/clock/rockchip,rk3576-cru.h> 7#include <dt-bindings/interrupt-controller/arm-gic.h> 8#include <dt-bindings/interrupt-controller/irq.h> 9#include <dt-bindings/phy/phy.h> 10#include <dt-bindings/power/rk3576-power.h> 11#include <dt-bindings/pinctrl/rockchip.h> 12#include <dt-bindings/soc/rockchip,boot-mode.h> 13#include <dt-bindings/soc/rockchip-system-status.h> 14#include <dt-bindings/thermal/thermal.h> 15 16/ { 17 compatible = "rockchip,rk3576"; 18 19 interrupt-parent = <&gic>; 20 #address-cells = <2>; 21 #size-cells = <2>; 22 23 aliases { 24 csi2dcphy0 = &csi2_dcphy0; 25 csi2dphy0 = &csi2_dphy0; 26 csi2dphy1 = &csi2_dphy1; 27 csi2dphy2 = &csi2_dphy2; 28 csi2dphy3 = &csi2_dphy3; 29 csi2dphy4 = &csi2_dphy4; 30 csi2dphy5 = &csi2_dphy5; 31 ethernet0 = &gmac0; 32 ethernet1 = &gmac1; 33 gpio0 = &gpio0; 34 gpio1 = &gpio1; 35 gpio2 = &gpio2; 36 gpio3 = &gpio3; 37 gpio4 = &gpio4; 38 hdcp0 = &hdcp0; 39 hdcp1 = &hdcp1; 40 i2c0 = &i2c0; 41 i2c1 = &i2c1; 42 i2c2 = &i2c2; 43 i2c3 = &i2c3; 44 i2c4 = &i2c4; 45 i2c5 = &i2c5; 46 i2c6 = &i2c6; 47 i2c7 = &i2c7; 48 i2c8 = &i2c8; 49 i2c9 = &i2c9; 50 i3c0 = &i3c0; 51 i3c1 = &i3c1; 52 rkcif_mipi_lvds0 = &rkcif_mipi_lvds; 53 rkcif_mipi_lvds1 = &rkcif_mipi_lvds1; 54 rkcif_mipi_lvds2 = &rkcif_mipi_lvds2; 55 rkcif_mipi_lvds3 = &rkcif_mipi_lvds3; 56 rkcif_mipi_lvds4 = &rkcif_mipi_lvds4; 57 serial0 = &uart0; 58 serial1 = &uart1; 59 serial2 = &uart2; 60 serial3 = &uart3; 61 serial4 = &uart4; 62 serial5 = &uart5; 63 serial6 = &uart6; 64 serial7 = &uart7; 65 serial8 = &uart8; 66 serial9 = &uart9; 67 serial10 = &uart10; 68 serial11 = &uart11; 69 spi0 = &spi0; 70 spi1 = &spi1; 71 spi2 = &spi2; 72 spi3 = &spi3; 73 spi4 = &spi4; 74 spi5 = &sfc0; 75 spi6 = &sfc1; 76 }; 77 78 clocks { 79 compatible = "simple-bus"; 80 #address-cells = <2>; 81 #size-cells = <2>; 82 ranges; 83 84 xin32k: xin32k { 85 compatible = "fixed-clock"; 86 #clock-cells = <0>; 87 clock-frequency = <32768>; 88 clock-output-names = "xin32k"; 89 }; 90 91 xin24m: xin24m { 92 compatible = "fixed-clock"; 93 #clock-cells = <0>; 94 clock-frequency = <24000000>; 95 clock-output-names = "xin24m"; 96 }; 97 98 spll: spll { 99 compatible = "fixed-clock"; 100 #clock-cells = <0>; 101 clock-frequency = <702000000>; 102 clock-output-names = "spll"; 103 }; 104 105 mclkin_sai0: mclkin-sai0 { 106 compatible = "fixed-clock"; 107 #clock-cells = <0>; 108 clock-frequency = <0>; 109 clock-output-names = "sai0_mclkin"; 110 }; 111 112 mclkin_sai1: mclkin-sai1 { 113 compatible = "fixed-clock"; 114 #clock-cells = <0>; 115 clock-frequency = <0>; 116 clock-output-names = "sai1_mclkin"; 117 }; 118 119 mclkin_sai2: mclkin-sai2 { 120 compatible = "fixed-clock"; 121 #clock-cells = <0>; 122 clock-frequency = <0>; 123 clock-output-names = "sai2_mclkin"; 124 }; 125 126 mclkin_sai3: mclkin-sai3 { 127 compatible = "fixed-clock"; 128 #clock-cells = <0>; 129 clock-frequency = <0>; 130 clock-output-names = "sai3_mclkin"; 131 }; 132 133 mclkin_sai4: mclkin-sai4 { 134 compatible = "fixed-clock"; 135 #clock-cells = <0>; 136 clock-frequency = <0>; 137 clock-output-names = "sai4_mclkin"; 138 }; 139 140 mclkout_sai0: mclkout-sai0@26046400 { 141 compatible = "rockchip,clk-out"; 142 reg = <0 0x26046400 0 0x4>; 143 clocks = <&cru CLK_SAI0_MCLKOUT>; 144 #clock-cells = <0>; 145 clock-output-names = "mclk_sai0_to_io"; 146 rockchip,bit-shift = <0>; 147 rockchip,bit-set-to-disable; 148 }; 149 150 mclkout_sai1: mclkout-sai1@26046400 { 151 compatible = "rockchip,clk-out"; 152 reg = <0 0x26046400 0 0x4>; 153 clocks = <&cru CLK_SAI1_MCLKOUT>; 154 #clock-cells = <0>; 155 clock-output-names = "mclk_sai1_to_io"; 156 rockchip,bit-shift = <1>; 157 rockchip,bit-set-to-disable; 158 }; 159 160 mclkout_sai2: mclkout-sai2@26046400 { 161 compatible = "rockchip,clk-out"; 162 reg = <0 0x26046400 0 0x4>; 163 clocks = <&cru CLK_SAI2_MCLKOUT>; 164 #clock-cells = <0>; 165 clock-output-names = "mclk_sai2_to_io"; 166 rockchip,bit-shift = <2>; 167 rockchip,bit-set-to-disable; 168 }; 169 170 mclkout_sai3: mclkout-sai3@26046400 { 171 compatible = "rockchip,clk-out"; 172 reg = <0 0x26046400 0 0x4>; 173 clocks = <&cru CLK_SAI3_MCLKOUT>; 174 #clock-cells = <0>; 175 clock-output-names = "mclk_sai3_to_io"; 176 rockchip,bit-shift = <3>; 177 rockchip,bit-set-to-disable; 178 }; 179 180 mclkout_sai4: mclkout-sai4@26046400 { 181 compatible = "rockchip,clk-out"; 182 reg = <0 0x26046400 0 0x4>; 183 clocks = <&cru CLK_SAI4_MCLKOUT>; 184 #clock-cells = <0>; 185 clock-output-names = "mclk_sai4_to_io"; 186 rockchip,bit-shift = <4>; 187 rockchip,bit-set-to-disable; 188 }; 189 190 mclkout_sai4m2: mclkout-sai4m2@2604a400 { 191 compatible = "rockchip,clk-out"; 192 reg = <0 0x2604a400 0 0x4>; 193 clocks = <&cru CLK_SAI4_MCLKOUT>; 194 #clock-cells = <0>; 195 clock-output-names = "mclk_sai4_to_io"; 196 rockchip,bit-shift = <0>; 197 rockchip,bit-set-to-disable; 198 }; 199 200 sclkin_sai0: sclkin-sai0 { 201 compatible = "fixed-clock"; 202 #clock-cells = <0>; 203 clock-frequency = <0>; 204 clock-output-names = "sai0_sclk_in"; 205 }; 206 207 sclkin_sai1: sclkin-sai1 { 208 compatible = "fixed-clock"; 209 #clock-cells = <0>; 210 clock-frequency = <0>; 211 clock-output-names = "sai1_sclk_in"; 212 }; 213 214 sclkin_sai2: sclkin-sai2 { 215 compatible = "fixed-clock"; 216 #clock-cells = <0>; 217 clock-frequency = <0>; 218 clock-output-names = "sai2_sclk_in"; 219 }; 220 221 sclkin_sai3: sclkin-sai3 { 222 compatible = "fixed-clock"; 223 #clock-cells = <0>; 224 clock-frequency = <0>; 225 clock-output-names = "sai3_sclk_in"; 226 }; 227 228 sclkin_sai4: sclkin-sai4 { 229 compatible = "fixed-clock"; 230 #clock-cells = <0>; 231 clock-frequency = <0>; 232 clock-output-names = "sai4_sclk_in"; 233 }; 234 235 clk_pvtm_clkout: clk_pvtm_clkout { 236 compatible = "fixed-clock"; 237 #clock-cells = <0>; 238 clock-frequency = <32768>; 239 clock-output-names = "clk_pvtm_clkout"; 240 }; 241 242 aclk_usb: aclk_usb@272008bc { 243 compatible = "rockchip,rk3576-clock-gate-link"; 244 reg = <0 0x272008bc 0 0x10>; 245 clock-names = "link"; 246 clocks = <&cru ACLK_VOP_ROOT>; 247 #power-domain-cells = <1>; 248 #clock-cells = <0>; 249 }; 250 251 aclk_ufs: aclk_ufs@272008bc { 252 compatible = "rockchip,rk3576-clock-gate-link"; 253 reg = <0 0x272008bc 0 0x10>; 254 clock-names = "link"; 255 clocks = <&aclk_usb>; 256 #power-domain-cells = <1>; 257 #clock-cells = <0>; 258 }; 259 260 pclk_usbufs: pclk_usbufs@272008bc { 261 compatible = "rockchip,rk3576-clock-gate-link"; 262 reg = <0 0x272008bc 0 0x10>; 263 clock-names = "link"; 264 clocks = <&cru HCLK_VOP_ROOT>; 265 #power-domain-cells = <1>; 266 #clock-cells = <0>; 267 }; 268 269 aclk_hdcp1: aclk_hdcp1@27200910 { 270 compatible = "rockchip,rk3576-clock-gate-link"; 271 reg = <0 0x27200910 0 0x10>; 272 clock-names = "link"; 273 clocks = <&cru ACLK_VOP_ROOT>; 274 #power-domain-cells = <1>; 275 #clock-cells = <0>; 276 }; 277 278 aclk_hdcp0: aclk_hdcp0@272008fc { 279 compatible = "rockchip,rk3576-clock-gate-link"; 280 reg = <0 0x272008fc 0 0x10>; 281 clock-names = "link"; 282 clocks = <&cru ACLK_VOP_ROOT>; 283 #power-domain-cells = <1>; 284 #clock-cells = <0>; 285 }; 286 287 aclk_sdgmac: aclk_sdgmac@272008a8 { 288 compatible = "rockchip,rk3576-clock-gate-link"; 289 reg = <0 0x272008a8 0 0x10>; 290 clock-names = "link"; 291 clocks = <&cru ACLK_NVM_ROOT>; 292 #power-domain-cells = <1>; 293 #clock-cells = <0>; 294 }; 295 296 hclk_sdgmac: hclk_sdgmac@272008a8 { 297 compatible = "rockchip,rk3576-clock-gate-link"; 298 reg = <0 0x272008a8 0 0x10>; 299 clock-names = "link"; 300 clocks = <&aclk_sdgmac>; 301 #power-domain-cells = <1>; 302 #clock-cells = <0>; 303 }; 304 305 aclk_vdpp: aclk_vdpp@272008c8 { 306 compatible = "rockchip,rk3576-clock-gate-link"; 307 reg = <0 0x272008c8 0 0x10>; 308 clock-names = "link"; 309 clocks = <&cru ACLK_VPU_ROOT>; 310 #power-domain-cells = <1>; 311 #clock-cells = <0>; 312 }; 313 314 aclk_ebc: aclk_ebc@272008c8 { 315 compatible = "rockchip,rk3576-clock-gate-link"; 316 reg = <0 0x272008c8 0 0x10>; 317 clock-names = "link"; 318 clocks = <&cru ACLK_VPU_ROOT>; 319 #power-domain-cells = <1>; 320 #clock-cells = <0>; 321 }; 322 323 aclk_jpeg: aclk_jpeg@272008c8 { 324 compatible = "rockchip,rk3576-clock-gate-link"; 325 reg = <0 0x272008c8 0 0x10>; 326 clock-names = "link"; 327 clocks = <&cru ACLK_VPU_ROOT>; 328 #power-domain-cells = <1>; 329 #clock-cells = <0>; 330 }; 331 332 aclk_vepu0: aclk_vepu0@272008cc { 333 compatible = "rockchip,rk3576-clock-gate-link"; 334 reg = <0 0x272008cc 0 0x10>; 335 clock-names = "link"; 336 clocks = <&cru ACLK_VI_ROOT>; 337 #power-domain-cells = <1>; 338 #clock-cells = <0>; 339 }; 340 341 hclk_vo1: hclk_vo1@2720090c { 342 compatible = "rockchip,rk3576-clock-gate-link"; 343 reg = <0 0x2720090c 0 0x10>; 344 clock-names = "link"; 345 clocks = <&cru HCLK_VOP_ROOT>; 346 #power-domain-cells = <1>; 347 #clock-cells = <0>; 348 }; 349 350 hclk_vo0: hclk_vo0@272008fc { 351 compatible = "rockchip,rk3576-clock-gate-link"; 352 reg = <0 0x272008fc 0 0x10>; 353 clock-names = "link"; 354 clocks = <&cru HCLK_VOP_ROOT>; 355 #power-domain-cells = <1>; 356 #clock-cells = <0>; 357 }; 358 359 aclk_dsmc: aclk_dsmc@272008ac { 360 compatible = "rockchip,rk3576-clock-gate-link"; 361 reg = <0 0x272008ac 0 0x10>; 362 clock-names = "link"; 363 clocks = <&cru HCLK_NVM_ROOT>; 364 #power-domain-cells = <1>; 365 #clock-cells = <0>; 366 }; 367 368 pclk_sdgmac: pclk_sdgmac@272008a8 { 369 compatible = "rockchip,rk3576-clock-gate-link"; 370 reg = <0 0x272008a8 0 0x10>; 371 clock-names = "link"; 372 clocks = <&aclk_dsmc>; 373 #power-domain-cells = <1>; 374 #clock-cells = <0>; 375 }; 376 377 hclk_vepu0: hclk_vepu0@272008cc { 378 compatible = "rockchip,rk3576-clock-gate-link"; 379 reg = <0 0x272008cc 0 0x10>; 380 clock-names = "link"; 381 clocks = <&cru HCLK_VI_ROOT>; 382 #power-domain-cells = <1>; 383 #clock-cells = <0>; 384 }; 385 }; 386 387 cpus { 388 #address-cells = <1>; 389 #size-cells = <0>; 390 391 cpu-map { 392 cluster0 { 393 core0 { 394 cpu = <&cpu_l0>; 395 }; 396 core1 { 397 cpu = <&cpu_l1>; 398 }; 399 core2 { 400 cpu = <&cpu_l2>; 401 }; 402 core3 { 403 cpu = <&cpu_l3>; 404 }; 405 }; 406 cluster1 { 407 core0 { 408 cpu = <&cpu_b0>; 409 }; 410 core1 { 411 cpu = <&cpu_b1>; 412 }; 413 core2 { 414 cpu = <&cpu_b2>; 415 }; 416 core3 { 417 cpu = <&cpu_b3>; 418 }; 419 }; 420 }; 421 422 cpu_l0: cpu@0 { 423 device_type = "cpu"; 424 compatible = "arm,cortex-a53"; 425 reg = <0x0>; 426 enable-method = "psci"; 427 capacity-dmips-mhz = <485>; 428 clocks = <&cru ARMCLK_L>; 429 operating-points-v2 = <&cluster0_opp_table>; 430 }; 431 432 cpu_l1: cpu@1 { 433 device_type = "cpu"; 434 compatible = "arm,cortex-a53"; 435 reg = <0x1>; 436 enable-method = "psci"; 437 capacity-dmips-mhz = <485>; 438 clocks = <&cru ARMCLK_L>; 439 operating-points-v2 = <&cluster0_opp_table>; 440 }; 441 442 cpu_l2: cpu@2 { 443 device_type = "cpu"; 444 compatible = "arm,cortex-a53"; 445 reg = <0x2>; 446 enable-method = "psci"; 447 capacity-dmips-mhz = <485>; 448 clocks = <&cru ARMCLK_L>; 449 operating-points-v2 = <&cluster0_opp_table>; 450 }; 451 452 cpu_l3: cpu@3 { 453 device_type = "cpu"; 454 compatible = "arm,cortex-a53"; 455 reg = <0x3>; 456 enable-method = "psci"; 457 capacity-dmips-mhz = <485>; 458 clocks = <&cru ARMCLK_L>; 459 operating-points-v2 = <&cluster0_opp_table>; 460 }; 461 462 cpu_b0: cpu@100 { 463 device_type = "cpu"; 464 compatible = "arm,cortex-a72"; 465 reg = <0x100>; 466 enable-method = "psci"; 467 capacity-dmips-mhz = <1024>; 468 clocks = <&cru ARMCLK_B>; 469 operating-points-v2 = <&cluster1_opp_table>; 470 }; 471 472 cpu_b1: cpu@101 { 473 device_type = "cpu"; 474 compatible = "arm,cortex-a72"; 475 reg = <0x101>; 476 enable-method = "psci"; 477 capacity-dmips-mhz = <1024>; 478 clocks = <&cru ARMCLK_B>; 479 operating-points-v2 = <&cluster1_opp_table>; 480 }; 481 482 cpu_b2: cpu@102 { 483 device_type = "cpu"; 484 compatible = "arm,cortex-a72"; 485 reg = <0x102>; 486 enable-method = "psci"; 487 capacity-dmips-mhz = <1024>; 488 clocks = <&cru ARMCLK_B>; 489 operating-points-v2 = <&cluster1_opp_table>; 490 }; 491 492 cpu_b3: cpu@103 { 493 device_type = "cpu"; 494 compatible = "arm,cortex-a72"; 495 reg = <0x103>; 496 enable-method = "psci"; 497 capacity-dmips-mhz = <1024>; 498 clocks = <&cru ARMCLK_B>; 499 operating-points-v2 = <&cluster1_opp_table>; 500 }; 501 }; 502 503 cluster0_opp_table: cluster0-opp-table { 504 compatible = "operating-points-v2"; 505 opp-shared; 506 507 opp-408000000 { 508 opp-hz = /bits/ 64 <408000000>; 509 opp-microvolt = <950000 950000 950000>; 510 clock-latency-ns = <40000>; 511 }; 512 opp-600000000 { 513 opp-hz = /bits/ 64 <600000000>; 514 opp-microvolt = <950000 950000 950000>; 515 clock-latency-ns = <40000>; 516 }; 517 opp-816000000 { 518 opp-hz = /bits/ 64 <816000000>; 519 opp-microvolt = <950000 950000 950000>; 520 clock-latency-ns = <40000>; 521 }; 522 opp-1008000000 { 523 opp-hz = /bits/ 64 <1008000000>; 524 opp-microvolt = <950000 950000 950000>; 525 clock-latency-ns = <40000>; 526 }; 527 opp-1200000000 { 528 opp-hz = /bits/ 64 <1200000000>; 529 opp-microvolt = <950000 950000 950000>; 530 clock-latency-ns = <40000>; 531 }; 532 opp-1416000000 { 533 opp-hz = /bits/ 64 <1416000000>; 534 opp-microvolt = <950000 950000 950000>; 535 clock-latency-ns = <40000>; 536 }; 537 }; 538 539 cluster1_opp_table: cluster1-opp-table { 540 compatible = "operating-points-v2"; 541 opp-shared; 542 543 opp-408000000 { 544 opp-hz = /bits/ 64 <408000000>; 545 opp-microvolt = <950000 950000 950000>; 546 clock-latency-ns = <40000>; 547 }; 548 opp-600000000 { 549 opp-hz = /bits/ 64 <600000000>; 550 opp-microvolt = <950000 950000 950000>; 551 clock-latency-ns = <40000>; 552 }; 553 opp-816000000 { 554 opp-hz = /bits/ 64 <816000000>; 555 opp-microvolt = <950000 950000 950000>; 556 clock-latency-ns = <40000>; 557 }; 558 opp-1008000000 { 559 opp-hz = /bits/ 64 <1008000000>; 560 opp-microvolt = <950000 950000 950000>; 561 clock-latency-ns = <40000>; 562 }; 563 opp-1200000000 { 564 opp-hz = /bits/ 64 <1200000000>; 565 opp-microvolt = <950000 950000 950000>; 566 clock-latency-ns = <40000>; 567 }; 568 opp-1416000000 { 569 opp-hz = /bits/ 64 <1416000000>; 570 opp-microvolt = <950000 950000 950000>; 571 clock-latency-ns = <40000>; 572 }; 573 opp-1608000000 { 574 opp-hz = /bits/ 64 <1608000000>; 575 opp-microvolt = <950000 950000 950000>; 576 clock-latency-ns = <40000>; 577 }; 578 }; 579 580 cpuinfo { 581 compatible = "rockchip,cpuinfo"; 582 nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>; 583 nvmem-cell-names = "id", "cpu-version", "cpu-code"; 584 }; 585 586 csi2_dcphy0: csi2-dcphy0 { 587 compatible = "rockchip,rk3576-csi2-dphy"; 588 rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 589 phys = <&mipidcphy0>; 590 phy-names = "dcphy0"; 591 status = "disabled"; 592 }; 593 594 csi2_dphy0: csi2-dphy0 { 595 compatible = "rockchip,rk3576-csi2-dphy"; 596 rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 597 phys = <&mipidcphy0>; 598 phy-names = "dcphy0"; 599 status = "disabled"; 600 }; 601 602 csi2_dphy1: csi2-dphy1 { 603 compatible = "rockchip,rk3576-csi2-dphy"; 604 rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 605 phys = <&mipidcphy0>; 606 phy-names = "dcphy0"; 607 status = "disabled"; 608 }; 609 610 csi2_dphy2: csi2-dphy2 { 611 compatible = "rockchip,rk3576-csi2-dphy"; 612 rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 613 phys = <&mipidcphy0>; 614 phy-names = "dcphy0"; 615 status = "disabled"; 616 }; 617 618 csi2_dphy3: csi2-dphy3 { 619 compatible = "rockchip,rk3576-csi2-dphy"; 620 rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 621 phys = <&mipidcphy0>; 622 phy-names = "dcphy0"; 623 status = "disabled"; 624 }; 625 626 csi2_dphy4: csi2-dphy4 { 627 compatible = "rockchip,rk3576-csi2-dphy"; 628 rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 629 phys = <&mipidcphy0>; 630 phy-names = "dcphy0"; 631 status = "disabled"; 632 }; 633 634 csi2_dphy5: csi2-dphy5 { 635 compatible = "rockchip,rk3576-csi2-dphy"; 636 rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 637 phys = <&mipidcphy0>; 638 phy-names = "dcphy0"; 639 status = "disabled"; 640 }; 641 642 display_subsystem: display-subsystem { 643 compatible = "rockchip,display-subsystem"; 644 ports = <&vop_out>, <&vopl_out>; 645 646 route { 647 route_dsi: route-dsi { 648 status = "disabled"; 649 logo,uboot = "logo.bmp"; 650 logo,kernel = "logo_kernel.bmp"; 651 logo,mode = "center"; 652 charge_logo,mode = "center"; 653 connect = <&vp2_out_dsi>; 654 }; 655 656 route_edp: route-edp { 657 status = "disabled"; 658 logo,uboot = "logo.bmp"; 659 logo,kernel = "logo_kernel.bmp"; 660 logo,mode = "center"; 661 charge_logo,mode = "center"; 662 connect = <&vp1_out_edp>; 663 }; 664 665 route_hdmi: route-hdmi { 666 status = "disabled"; 667 logo,uboot = "logo.bmp"; 668 logo,kernel = "logo_kernel.bmp"; 669 logo,mode = "center"; 670 charge_logo,mode = "center"; 671 connect = <&vp0_out_hdmi>; 672 }; 673 674 route_dp0: route-dp0 { 675 status = "disabled"; 676 logo,uboot = "logo.bmp"; 677 logo,kernel = "logo_kernel.bmp"; 678 logo,mode = "center"; 679 charge_logo,mode = "center"; 680 connect = <&vp0_out_dp0>; 681 }; 682 683 route_rgb: route-rgb { 684 status = "disabled"; 685 logo,uboot = "logo.bmp"; 686 logo,kernel = "logo_kernel.bmp"; 687 logo,mode = "center"; 688 charge_logo,mode = "center"; 689 connect = <&vp2_out_rgb>; 690 }; 691 }; 692 }; 693 694 firmware: firmware { 695 scmi: scmi { 696 compatible = "arm,scmi-smc"; 697 arm,smc-id = <0x82000010>; 698 shmem = <&scmi_shmem>; 699 #address-cells = <1>; 700 #size-cells = <0>; 701 702 scmi_clk: protocol@14 { 703 reg = <0x14>; 704 #clock-cells = <1>; 705 }; 706 }; 707 }; 708 709 mipi0_csi2: mipi0-csi2 { 710 compatible = "rockchip,rk3576-mipi-csi2"; 711 rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 712 <&mipi2_csi2_hw>, <&mipi3_csi2_hw>, 713 <&mipi4_csi2_hw>; 714 status = "disabled"; 715 }; 716 717 mipi1_csi2: mipi1-csi2 { 718 compatible = "rockchip,rk3576-mipi-csi2"; 719 rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 720 <&mipi2_csi2_hw>, <&mipi3_csi2_hw>, 721 <&mipi4_csi2_hw>; 722 status = "disabled"; 723 }; 724 725 mipi2_csi2: mipi2-csi2 { 726 compatible = "rockchip,rk3576-mipi-csi2"; 727 rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 728 <&mipi2_csi2_hw>, <&mipi3_csi2_hw>, 729 <&mipi4_csi2_hw>; 730 status = "disabled"; 731 }; 732 733 mipi3_csi2: mipi3-csi2 { 734 compatible = "rockchip,rk3576-mipi-csi2"; 735 rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 736 <&mipi2_csi2_hw>, <&mipi3_csi2_hw>, 737 <&mipi4_csi2_hw>; 738 status = "disabled"; 739 }; 740 741 mipi4_csi2: mipi4-csi2 { 742 compatible = "rockchip,rk3576-mipi-csi2"; 743 rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 744 <&mipi2_csi2_hw>, <&mipi3_csi2_hw>, 745 <&mipi4_csi2_hw>; 746 status = "disabled"; 747 }; 748 749 mpp_srv: mpp-srv { 750 compatible = "rockchip,mpp-service"; 751 rockchip,taskqueue-count = <6>; 752 rockchip,resetgroup-count = <1>; 753 status = "disabled"; 754 }; 755 756 pmu_a53: pmu-a53 { 757 compatible = "arm,cortex-a53-pmu"; 758 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 759 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 760 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 761 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 762 interrupt-affinity = <&cpu_l0>, <&cpu_l1>, <&cpu_l2>, <&cpu_l3>; 763 }; 764 765 pmu_a72: pmu-a72 { 766 compatible = "arm,cortex-a72-pmu"; 767 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 768 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 769 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 770 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 771 interrupt-affinity = <&cpu_b0>, <&cpu_b1>, <&cpu_b2>, <&cpu_b3>; 772 }; 773 774 psci: psci { 775 compatible = "arm,psci-1.0"; 776 method = "smc"; 777 }; 778 779 rkcif_dvp: rkcif-dvp { 780 compatible = "rockchip,rkcif-dvp"; 781 rockchip,hw = <&rkcif>; 782 iommus = <&rkcif_mmu>; 783 status = "disabled"; 784 }; 785 786 rkcif_dvp_sditf: rkcif-dvp-sditf { 787 compatible = "rockchip,rkcif-sditf"; 788 rockchip,cif = <&rkcif_dvp>; 789 status = "disabled"; 790 }; 791 792 rkcif_mipi_lvds: rkcif-mipi-lvds { 793 compatible = "rockchip,rkcif-mipi-lvds"; 794 rockchip,hw = <&rkcif>; 795 iommus = <&rkcif_mmu>; 796 status = "disabled"; 797 }; 798 799 rkcif_mipi_lvds_sditf: rkcif-mipi-lvds-sditf { 800 compatible = "rockchip,rkcif-sditf"; 801 rockchip,cif = <&rkcif_mipi_lvds>; 802 status = "disabled"; 803 }; 804 805 rkcif_mipi_lvds_sditf_vir1: rkcif-mipi-lvds-sditf-vir1 { 806 compatible = "rockchip,rkcif-sditf"; 807 rockchip,cif = <&rkcif_mipi_lvds>; 808 status = "disabled"; 809 }; 810 811 rkcif_mipi_lvds_sditf_vir2: rkcif-mipi-lvds-sditf-vir2 { 812 compatible = "rockchip,rkcif-sditf"; 813 rockchip,cif = <&rkcif_mipi_lvds>; 814 status = "disabled"; 815 }; 816 817 rkcif_mipi_lvds_sditf_vir3: rkcif-mipi-lvds-sditf-vir3 { 818 compatible = "rockchip,rkcif-sditf"; 819 rockchip,cif = <&rkcif_mipi_lvds>; 820 status = "disabled"; 821 }; 822 823 rkcif_mipi_lvds1: rkcif-mipi-lvds1 { 824 compatible = "rockchip,rkcif-mipi-lvds"; 825 rockchip,hw = <&rkcif>; 826 iommus = <&rkcif_mmu>; 827 status = "disabled"; 828 }; 829 830 rkcif_mipi_lvds1_sditf: rkcif-mipi-lvds1-sditf { 831 compatible = "rockchip,rkcif-sditf"; 832 rockchip,cif = <&rkcif_mipi_lvds1>; 833 status = "disabled"; 834 }; 835 836 rkcif_mipi_lvds1_sditf_vir1: rkcif-mipi-lvds1-sditf-vir1 { 837 compatible = "rockchip,rkcif-sditf"; 838 rockchip,cif = <&rkcif_mipi_lvds1>; 839 status = "disabled"; 840 }; 841 842 rkcif_mipi_lvds1_sditf_vir2: rkcif-mipi-lvds1-sditf-vir2 { 843 compatible = "rockchip,rkcif-sditf"; 844 rockchip,cif = <&rkcif_mipi_lvds1>; 845 status = "disabled"; 846 }; 847 848 rkcif_mipi_lvds1_sditf_vir3: rkcif-mipi-lvds1-sditf-vir3 { 849 compatible = "rockchip,rkcif-sditf"; 850 rockchip,cif = <&rkcif_mipi_lvds1>; 851 status = "disabled"; 852 }; 853 854 rkcif_mipi_lvds2: rkcif-mipi-lvds2 { 855 compatible = "rockchip,rkcif-mipi-lvds"; 856 rockchip,hw = <&rkcif>; 857 iommus = <&rkcif_mmu>; 858 status = "disabled"; 859 }; 860 861 rkcif_mipi_lvds2_sditf: rkcif-mipi-lvds2-sditf { 862 compatible = "rockchip,rkcif-sditf"; 863 rockchip,cif = <&rkcif_mipi_lvds2>; 864 status = "disabled"; 865 }; 866 867 rkcif_mipi_lvds2_sditf_vir1: rkcif-mipi-lvds2-sditf-vir1 { 868 compatible = "rockchip,rkcif-sditf"; 869 rockchip,cif = <&rkcif_mipi_lvds2>; 870 status = "disabled"; 871 }; 872 873 rkcif_mipi_lvds2_sditf_vir2: rkcif-mipi-lvds2-sditf-vir2 { 874 compatible = "rockchip,rkcif-sditf"; 875 rockchip,cif = <&rkcif_mipi_lvds2>; 876 status = "disabled"; 877 }; 878 879 rkcif_mipi_lvds2_sditf_vir3: rkcif-mipi-lvds2-sditf-vir3 { 880 compatible = "rockchip,rkcif-sditf"; 881 rockchip,cif = <&rkcif_mipi_lvds2>; 882 status = "disabled"; 883 }; 884 885 rkcif_mipi_lvds3: rkcif-mipi-lvds3 { 886 compatible = "rockchip,rkcif-mipi-lvds"; 887 rockchip,hw = <&rkcif>; 888 iommus = <&rkcif_mmu>; 889 status = "disabled"; 890 }; 891 892 rkcif_mipi_lvds3_sditf: rkcif-mipi-lvds3-sditf { 893 compatible = "rockchip,rkcif-sditf"; 894 rockchip,cif = <&rkcif_mipi_lvds3>; 895 status = "disabled"; 896 }; 897 898 rkcif_mipi_lvds3_sditf_vir1: rkcif-mipi-lvds3-sditf-vir1 { 899 compatible = "rockchip,rkcif-sditf"; 900 rockchip,cif = <&rkcif_mipi_lvds3>; 901 status = "disabled"; 902 }; 903 904 rkcif_mipi_lvds3_sditf_vir2: rkcif-mipi-lvds3-sditf-vir2 { 905 compatible = "rockchip,rkcif-sditf"; 906 rockchip,cif = <&rkcif_mipi_lvds3>; 907 status = "disabled"; 908 }; 909 910 rkcif_mipi_lvds3_sditf_vir3: rkcif-mipi-lvds3-sditf-vir3 { 911 compatible = "rockchip,rkcif-sditf"; 912 rockchip,cif = <&rkcif_mipi_lvds3>; 913 status = "disabled"; 914 }; 915 916 rkcif_mipi_lvds4: rkcif-mipi-lvds4 { 917 compatible = "rockchip,rkcif-mipi-lvds"; 918 rockchip,hw = <&rkcif>; 919 iommus = <&rkcif_mmu>; 920 status = "disabled"; 921 }; 922 923 rkcif_mipi_lvds4_sditf: rkcif-mipi-lvds4-sditf { 924 compatible = "rockchip,rkcif-sditf"; 925 rockchip,cif = <&rkcif_mipi_lvds4>; 926 status = "disabled"; 927 }; 928 929 rkcif_mipi_lvds4_sditf_vir1: rkcif-mipi-lvds4-sditf-vir1 { 930 compatible = "rockchip,rkcif-sditf"; 931 rockchip,cif = <&rkcif_mipi_lvds4>; 932 status = "disabled"; 933 }; 934 935 rkcif_mipi_lvds4_sditf_vir2: rkcif-mipi-lvds4-sditf-vir2 { 936 compatible = "rockchip,rkcif-sditf"; 937 rockchip,cif = <&rkcif_mipi_lvds4>; 938 status = "disabled"; 939 }; 940 941 rkcif_mipi_lvds4_sditf_vir3: rkcif-mipi-lvds4-sditf-vir3 { 942 compatible = "rockchip,rkcif-sditf"; 943 rockchip,cif = <&rkcif_mipi_lvds4>; 944 status = "disabled"; 945 }; 946 947 rkisp_vir0: rkisp-vir0 { 948 compatible = "rockchip,rkisp-vir"; 949 rockchip,hw = <&rkisp>; 950 status = "disabled"; 951 }; 952 953 rkisp_vir1: rkisp-vir1 { 954 compatible = "rockchip,rkisp-vir"; 955 rockchip,hw = <&rkisp>; 956 status = "disabled"; 957 }; 958 959 rkisp_vir2: rkisp-vir2 { 960 compatible = "rockchip,rkisp-vir"; 961 rockchip,hw = <&rkisp>; 962 status = "disabled"; 963 }; 964 965 rkisp_vir3: rkisp-vir3 { 966 compatible = "rockchip,rkisp-vir"; 967 rockchip,hw = <&rkisp>; 968 status = "disabled"; 969 }; 970 971 rkisp_vir4: rkisp-vir4 { 972 compatible = "rockchip,rkisp-vir"; 973 rockchip,hw = <&rkisp>; 974 status = "disabled"; 975 }; 976 977 rkisp_vir5: rkisp-vir5 { 978 compatible = "rockchip,rkisp-vir"; 979 rockchip,hw = <&rkisp>; 980 status = "disabled"; 981 }; 982 983 rkisp_vir0_sditf: rkisp-vir0-sditf { 984 compatible = "rockchip,rkisp-sditf"; 985 rockchip,isp = <&rkisp_vir0>; 986 status = "disabled"; 987 988 port { 989 isp_sditf0: endpoint { 990 remote-endpoint = <&vpss0_in>; 991 }; 992 }; 993 }; 994 995 rkisp_vir1_sditf: rkisp-vir1-sditf { 996 compatible = "rockchip,rkisp-sditf"; 997 rockchip,isp = <&rkisp_vir1>; 998 status = "disabled"; 999 1000 port { 1001 isp_sditf1: endpoint { 1002 remote-endpoint = <&vpss1_in>; 1003 }; 1004 }; 1005 }; 1006 1007 rkisp_vir2_sditf: rkisp-vir2-sditf { 1008 compatible = "rockchip,rkisp-sditf"; 1009 rockchip,isp = <&rkisp_vir2>; 1010 status = "disabled"; 1011 1012 port { 1013 isp_sditf2: endpoint { 1014 remote-endpoint = <&vpss2_in>; 1015 }; 1016 }; 1017 }; 1018 1019 rkisp_vir3_sditf: rkisp-vir3-sditf { 1020 compatible = "rockchip,rkisp-sditf"; 1021 rockchip,isp = <&rkisp_vir3>; 1022 status = "disabled"; 1023 1024 port { 1025 isp_sditf3: endpoint { 1026 remote-endpoint = <&vpss3_in>; 1027 }; 1028 }; 1029 }; 1030 1031 rkisp_vir4_sditf: rkisp-vir4-sditf { 1032 compatible = "rockchip,rkisp-sditf"; 1033 rockchip,isp = <&rkisp_vir4>; 1034 status = "disabled"; 1035 1036 port { 1037 isp_sditf4: endpoint { 1038 remote-endpoint = <&vpss4_in>; 1039 }; 1040 }; 1041 }; 1042 1043 rkisp_vir5_sditf: rkisp-vir5-sditf { 1044 compatible = "rockchip,rkisp-sditf"; 1045 rockchip,isp = <&rkisp_vir5>; 1046 status = "disabled"; 1047 1048 port { 1049 isp_sditf5: endpoint { 1050 remote-endpoint = <&vpss5_in>; 1051 }; 1052 }; 1053 }; 1054 1055 rkvenc_ccu: rkvenc-ccu { 1056 compatible = "rockchip,rkv-encoder-rk3576-ccu", "rockchip,rkv-encoder-v2-ccu"; 1057 status = "disabled"; 1058 }; 1059 1060 rkvpss_vir0: rkvpss-vir0 { 1061 compatible = "rockchip,rkvpss-vir"; 1062 rockchip,hw = <&rkvpss>; 1063 status = "disabled"; 1064 1065 port { 1066 vpss0_in: endpoint { 1067 remote-endpoint = <&isp_sditf0>; 1068 }; 1069 }; 1070 }; 1071 1072 rkvpss_vir1: rkvpss-vir1 { 1073 compatible = "rockchip,rkvpss-vir"; 1074 rockchip,hw = <&rkvpss>; 1075 status = "disabled"; 1076 1077 port { 1078 vpss1_in: endpoint { 1079 remote-endpoint = <&isp_sditf1>; 1080 }; 1081 }; 1082 }; 1083 1084 rkvpss_vir2: rkvpss-vir2 { 1085 compatible = "rockchip,rkvpss-vir"; 1086 rockchip,hw = <&rkvpss>; 1087 status = "disabled"; 1088 1089 port { 1090 vpss2_in: endpoint { 1091 remote-endpoint = <&isp_sditf2>; 1092 }; 1093 }; 1094 }; 1095 1096 rkvpss_vir3: rkvpss-vir3 { 1097 compatible = "rockchip,rkvpss-vir"; 1098 rockchip,hw = <&rkvpss>; 1099 status = "disabled"; 1100 1101 port { 1102 vpss3_in: endpoint { 1103 remote-endpoint = <&isp_sditf3>; 1104 }; 1105 }; 1106 }; 1107 1108 rkvpss_vir4: rkvpss-vir4 { 1109 compatible = "rockchip,rkvpss-vir"; 1110 rockchip,hw = <&rkvpss>; 1111 status = "disabled"; 1112 1113 port { 1114 vpss4_in: endpoint { 1115 remote-endpoint = <&isp_sditf4>; 1116 }; 1117 }; 1118 }; 1119 1120 rkvpss_vir5: rkvpss-vir5 { 1121 compatible = "rockchip,rkvpss-vir"; 1122 rockchip,hw = <&rkvpss>; 1123 status = "disabled"; 1124 1125 port { 1126 vpss5_in: endpoint { 1127 remote-endpoint = <&isp_sditf5>; 1128 }; 1129 }; 1130 }; 1131 1132 thermal_zones: thermal-zones { 1133 soc_thermal: soc-thermal { 1134 polling-delay-passive = <20>; /* milliseconds */ 1135 polling-delay = <1000>; /* milliseconds */ 1136 thermal-sensors = <&tsadc 0>; 1137 trips { 1138 soc_crit: soc-crit { 1139 /* millicelsius */ 1140 temperature = <115000>; 1141 /* millicelsius */ 1142 hysteresis = <2000>; 1143 type = "critical"; 1144 }; 1145 }; 1146 }; 1147 bigcore_thermal: bigcore-thermal { 1148 polling-delay-passive = <20>; /* milliseconds */ 1149 polling-delay = <1000>; /* milliseconds */ 1150 thermal-sensors = <&tsadc 1>; 1151 trips { 1152 bigcore_crit: bigcore-crit { 1153 /* millicelsius */ 1154 temperature = <115000>; 1155 /* millicelsius */ 1156 hysteresis = <2000>; 1157 type = "critical"; 1158 }; 1159 }; 1160 }; 1161 little_core_thermal: little-core-thermal { 1162 polling-delay-passive = <20>; /* milliseconds */ 1163 polling-delay = <1000>; /* milliseconds */ 1164 thermal-sensors = <&tsadc 2>; 1165 trips { 1166 little_core_crit: little-core-crit { 1167 /* millicelsius */ 1168 temperature = <115000>; 1169 /* millicelsius */ 1170 hysteresis = <2000>; 1171 type = "critical"; 1172 }; 1173 }; 1174 }; 1175 ddr_thermal: ddr-thermal { 1176 polling-delay-passive = <20>; /* milliseconds */ 1177 polling-delay = <1000>; /* milliseconds */ 1178 thermal-sensors = <&tsadc 3>; 1179 trips { 1180 ddr_crit: ddr-crit { 1181 /* millicelsius */ 1182 temperature = <115000>; 1183 /* millicelsius */ 1184 hysteresis = <2000>; 1185 type = "critical"; 1186 }; 1187 }; 1188 }; 1189 npu_thermal: npu-thermal { 1190 polling-delay-passive = <20>; /* milliseconds */ 1191 polling-delay = <1000>; /* milliseconds */ 1192 thermal-sensors = <&tsadc 4>; 1193 trips { 1194 npu_crit: npu-crit { 1195 /* millicelsius */ 1196 temperature = <115000>; 1197 /* millicelsius */ 1198 hysteresis = <2000>; 1199 type = "critical"; 1200 }; 1201 }; 1202 }; 1203 gpu_thermal: gpu-thermal { 1204 polling-delay-passive = <20>; /* milliseconds */ 1205 polling-delay = <1000>; /* milliseconds */ 1206 thermal-sensors = <&tsadc 5>; 1207 trips { 1208 gpu_crit: gpu-crit { 1209 /* millicelsius */ 1210 temperature = <115000>; 1211 /* millicelsius */ 1212 hysteresis = <2000>; 1213 type = "critical"; 1214 }; 1215 }; 1216 }; 1217 }; 1218 1219 timer { 1220 compatible = "arm,armv8-timer"; 1221 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 1222 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 1223 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 1224 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 1225 }; 1226 1227 usb_drd0_dwc3: usb@23000000 { 1228 compatible = "rockchip,rk3576-dwc3", "snps,dwc3"; 1229 reg = <0x0 0x23000000 0x0 0x400000>; 1230 clocks = <&cru CLK_REF_USB3OTG0>, 1231 <&cru CLK_SUSPEND_USB3OTG0>, 1232 <&cru ACLK_USB3OTG0>; 1233 clock-names = "ref", "suspend", "bus_clk"; 1234 interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>; 1235 power-domains = <&power RK3576_PD_USB>; 1236 resets = <&cru SRST_A_USB3OTG0>; 1237 reset-names = "usb3-otg"; 1238 dr_mode = "otg"; 1239 phys = <&u2phy0_otg>, <&usbdp_phy_u3>; 1240 phy-names = "usb2-phy", "usb3-phy"; 1241 phy_type = "utmi_wide"; 1242 snps,dis_enblslpm_quirk; 1243 snps,dis-u1-entry-quirk; 1244 snps,dis-u2-entry-quirk; 1245 snps,dis-u2-freeclk-exists-quirk; 1246 snps,dis-del-phy-power-chg-quirk; 1247 snps,dis-tx-ipgap-linecheck-quirk; 1248 snps,parkmode-disable-hs-quirk; 1249 snps,parkmode-disable-ss-quirk; 1250 status = "disabled"; 1251 }; 1252 1253 usb_drd1_dwc3: usb@23400000 { 1254 compatible = "rockchip,rk3576-dwc3", "snps,dwc3"; 1255 reg = <0x0 0x23400000 0x0 0x400000>; 1256 clocks = <&cru CLK_REF_USB3OTG1>, 1257 <&cru CLK_SUSPEND_USB3OTG1>, 1258 <&cru ACLK_USB3OTG1>; 1259 clock-names = "ref", "suspend", "bus_clk"; 1260 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>; 1261 power-domains = <&power RK3576_PD_PHP>; 1262 resets = <&cru SRST_A_USB3OTG1>; 1263 reset-names = "usb3-otg"; 1264 dr_mode = "otg"; 1265 phys = <&u2phy1_otg>, <&combphy1_psu PHY_TYPE_USB3>; 1266 phy-names = "usb2-phy", "usb3-phy"; 1267 phy_type = "utmi_wide"; 1268 snps,dis_enblslpm_quirk; 1269 snps,dis-u1-entry-quirk; 1270 snps,dis-u2-entry-quirk; 1271 snps,dis-u2-freeclk-exists-quirk; 1272 snps,dis-del-phy-power-chg-quirk; 1273 snps,dis-tx-ipgap-linecheck-quirk; 1274 snps,dis_rxdet_inp3_quirk; 1275 snps,parkmode-disable-hs-quirk; 1276 snps,parkmode-disable-ss-quirk; 1277 status = "disabled"; 1278 }; 1279 1280 sys_grf: syscon@2600a000 { 1281 compatible = "rockchip,rk3576-sys-grf", "syscon", "simple-mfd"; 1282 reg = <0x0 0x2600a000 0x0 0x10000>; 1283 }; 1284 1285 vo0_grf: syscon@2601a000 { 1286 compatible = "rockchip,rk3576-vo0-grf", "syscon"; 1287 reg = <0x0 0x2601a000 0x0 0x2000>; 1288 clocks = <&cru PCLK_VO0_ROOT>; 1289 }; 1290 1291 usb_grf: syscon@2601e000 { 1292 compatible = "rockchip,rk3576-usb-grf", "syscon"; 1293 reg = <0x0 0x2601e000 0x0 0x1000>; 1294 clocks = <&cru PCLK_USB_ROOT>; 1295 }; 1296 1297 php_grf: syscon@26020000 { 1298 compatible = "rockchip,rk3576-php-grf", "syscon"; 1299 reg = <0x0 0x26020000 0x0 0x2000>; 1300 clocks = <&cru PCLK_PHP_ROOT>; 1301 }; 1302 1303 pmu0_grf: syscon@26024000 { 1304 compatible = "rockchip,rk3576-pmu0-grf", "syscon", "simple-mfd"; 1305 reg = <0x0 0x26024000 0x0 0x1000>; 1306 1307 reboot_mode: reboot-mode { 1308 compatible = "syscon-reboot-mode"; 1309 offset = <0x40>; 1310 mode-bootloader = <BOOT_BL_DOWNLOAD>; 1311 mode-charge = <BOOT_CHARGING>; 1312 mode-fastboot = <BOOT_FASTBOOT>; 1313 mode-loader = <BOOT_BL_DOWNLOAD>; 1314 mode-normal = <BOOT_NORMAL>; 1315 mode-recovery = <BOOT_RECOVERY>; 1316 mode-ums = <BOOT_UMS>; 1317 mode-panic = <BOOT_PANIC>; 1318 mode-watchdog = <BOOT_WATCHDOG>; 1319 mode-quiescent = <BOOT_QUIESCENT>; 1320 /* add a mode to capture the ramdump through usb */ 1321 mode-winusb = <BOOT_WINUSB>; 1322 }; 1323 }; 1324 1325 pipe_phy0_grf: syscon@26028000 { 1326 compatible = "rockchip,rk3576-pipe-phy-grf", "syscon"; 1327 reg = <0x0 0x26028000 0x0 0x2000>; 1328 clocks = <&cru PCLK_PCIE2_COMBOPHY0>; 1329 }; 1330 1331 pipe_phy1_grf: syscon@2602a000 { 1332 compatible = "rockchip,rk3576-pipe-phy-grf", "syscon"; 1333 reg = <0x0 0x2602a000 0x0 0x2000>; 1334 clocks = <&cru PCLK_PCIE2_COMBOPHY1>; 1335 }; 1336 1337 usbdpphy_grf: syscon@2602c000 { 1338 compatible = "rockchip,rk3576-usbdpphy-grf", "syscon"; 1339 reg = <0x0 0x2602c000 0x0 0x2000>; 1340 clocks = <&cru PCLK_PMUPHY_ROOT>; 1341 }; 1342 1343 usb2phy_grf: syscon@2602e000 { 1344 compatible = "rockchip,rk3576-usb2phy-grf", "syscon", "simple-mfd"; 1345 reg = <0x0 0x2602e000 0x0 0x4000>; 1346 #address-cells = <1>; 1347 #size-cells = <1>; 1348 clocks = <&cru PCLK_PMUPHY_ROOT>; 1349 1350 u2phy0: usb2-phy@0 { 1351 compatible = "rockchip,rk3576-usb2phy"; 1352 reg = <0x0 0x10>; 1353 resets = <&cru SRST_OTGPHY_0>, <&cru SRST_P_USBPHY_GRF_0>; 1354 reset-names = "phy", "apb"; 1355 clocks = <&cru CLK_PHY_REF_SRC>; 1356 clock-names = "phyclk"; 1357 clock-output-names = "usb480m_phy0"; 1358 #clock-cells = <0>; 1359 rockchip,usbctrl-grf = <&usb_grf>; 1360 status = "disabled"; 1361 1362 u2phy0_otg: otg-port { 1363 #phy-cells = <0>; 1364 interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>, 1365 <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>, 1366 <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>; 1367 interrupt-names = "otg-bvalid", "otg-id", "linestate"; 1368 status = "disabled"; 1369 }; 1370 }; 1371 1372 u2phy1: usb2-phy@2000 { 1373 compatible = "rockchip,rk3576-usb2phy"; 1374 reg = <0x2000 0x10>; 1375 resets = <&cru SRST_OTGPHY_1>, <&cru SRST_P_USBPHY_GRF_1>; 1376 reset-names = "phy", "apb"; 1377 clocks = <&cru CLK_PHY_REF_SRC>; 1378 clock-names = "phyclk"; 1379 clock-output-names = "usb480m_phy1"; 1380 #clock-cells = <0>; 1381 rockchip,usbctrl-grf = <&php_grf>; 1382 status = "disabled"; 1383 1384 u2phy1_otg: otg-port { 1385 #phy-cells = <0>; 1386 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>, 1387 <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>, 1388 <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 1389 interrupt-names = "otg-bvalid", "otg-id", "linestate"; 1390 status = "disabled"; 1391 }; 1392 }; 1393 }; 1394 1395 hdptxphy_grf: syscon@26032000 { 1396 compatible = "rockchip,rk3576-hdptxphy-grf", "syscon"; 1397 reg = <0x0 0x26032000 0x0 0x100>; 1398 clocks = <&cru PCLK_PMUPHY_ROOT>; 1399 }; 1400 1401 mipidcphy0_grf: syscon@26034000 { 1402 compatible = "rockchip,rk3576-mipi-dcphy-grf", "syscon"; 1403 reg = <0x0 0x26034000 0x0 0x2000>; 1404 clocks = <&cru PCLK_PMUPHY_ROOT>; 1405 }; 1406 1407 vo1_grf: syscon@26036000 { 1408 compatible = "rockchip,rk3576-vo-grf", "syscon"; 1409 reg = <0x0 0x26036000 0x0 0x100>; 1410 clocks = <&cru PCLK_VO1_ROOT>; 1411 }; 1412 1413 sdgmac_grf: syscon@26038000 { 1414 compatible = "rockchip,rk3576-sdgmac-grf", "syscon"; 1415 reg = <0x0 0x26038000 0x0 0x1000>; 1416 clocks = <&cru PCLK_SDGMAC_ROOT>; 1417 }; 1418 1419 mipidphy0_grf: syscon@2603a000 { 1420 compatible = "rockchip,rk3576-mipi-dphy-grf", "syscon"; 1421 reg = <0x0 0x2603a000 0x0 0x2000>; 1422 clocks = <&cru PCLK_PMUPHY_ROOT>; 1423 }; 1424 1425 ioc_grf: syscon@26040000 { 1426 compatible = "rockchip,rk3576-ioc-grf", "syscon", "simple-mfd"; 1427 reg = <0x0 0x26040000 0x0 0xc000>; 1428 1429 rgb: rgb { 1430 compatible = "rockchip,rk3576-rgb"; 1431 pinctrl-names = "default"; 1432 status = "disabled"; 1433 1434 ports { 1435 #address-cells = <1>; 1436 #size-cells = <0>; 1437 1438 port@0 { 1439 reg = <0>; 1440 #address-cells = <1>; 1441 #size-cells = <0>; 1442 1443 rgb_in_vopl: endpoint@0 { 1444 reg = <0>; 1445 remote-endpoint = <&vopl_out_rgb>; 1446 status = "disabled"; 1447 }; 1448 1449 rgb_in_vp1: endpoint@1 { 1450 reg = <1>; 1451 remote-endpoint = <&vp1_out_rgb>; 1452 status = "disabled"; 1453 }; 1454 1455 rgb_in_vp2: endpoint@2 { 1456 reg = <2>; 1457 remote-endpoint = <&vp2_out_rgb>; 1458 status = "disabled"; 1459 }; 1460 }; 1461 }; 1462 }; 1463 }; 1464 1465 mipidphy1_grf: syscon@2604c000 { 1466 compatible = "rockchip,rk3576-mipi-dphy-grf", "syscon"; 1467 reg = <0x0 0x2604c000 0x0 0x2000>; 1468 }; 1469 1470 cru: clock-controller@27200000 { 1471 compatible = "rockchip,rk3576-cru"; 1472 reg = <0x0 0x27200000 0x0 0x50000>; 1473 rockchip,grf = <&pmu0_grf>; 1474 #clock-cells = <1>; 1475 #reset-cells = <1>; 1476 1477 assigned-clocks = 1478 <&cru PLL_GPLL>, <&cru PLL_CPLL>, 1479 <&cru PLL_AUPLL>, <&cru CLK_UART_FRAC_0>, 1480 <&cru CLK_UART_FRAC_1>, <&cru CLK_UART_FRAC_2>; 1481 assigned-clock-rates = 1482 <1188000000>, <1000000000>, 1483 <786432000>, <18432000>, 1484 <48000000>, <64000000>; 1485 }; 1486 1487 i2c0: i2c@27300000 { 1488 compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 1489 reg = <0x0 0x27300000 0x0 0x1000>; 1490 clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>; 1491 clock-names = "i2c", "pclk"; 1492 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 1493 pinctrl-names = "default"; 1494 pinctrl-0 = <&i2c0m0_xfer>; 1495 resets = <&cru SRST_I2C0>, <&cru SRST_P_I2C0>; 1496 reset-names = "i2c", "apb"; 1497 #address-cells = <1>; 1498 #size-cells = <0>; 1499 status = "disabled"; 1500 }; 1501 1502 uart1: serial@27310000 { 1503 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 1504 reg = <0x0 0x27310000 0x0 0x100>; 1505 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 1506 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 1507 clock-names = "baudclk", "apb_pclk"; 1508 reg-shift = <2>; 1509 reg-io-width = <4>; 1510 dmas = <&dmac0 8>, <&dmac0 9>; 1511 pinctrl-names = "default"; 1512 pinctrl-0 = <&uart1m0_xfer>; 1513 status = "disabled"; 1514 }; 1515 1516 pwm0_2ch_0: pwm@27330000 { 1517 compatible = "rockchip,rk3576-pwm"; 1518 reg = <0x0 0x27330000 0x0 0x1000>; 1519 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 1520 #pwm-cells = <3>; 1521 pinctrl-names = "active"; 1522 pinctrl-0 = <&pwm0m0_ch0>; 1523 clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 1524 clock-names = "pwm", "pclk"; 1525 status = "disabled"; 1526 }; 1527 1528 pwm0_2ch_1: pwm@27331000 { 1529 compatible = "rockchip,rk3576-pwm"; 1530 reg = <0x0 0x27331000 0x0 0x1000>; 1531 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1532 #pwm-cells = <3>; 1533 pinctrl-names = "active"; 1534 pinctrl-0 = <&pwm0m0_ch1>; 1535 clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 1536 clock-names = "pwm", "pclk"; 1537 status = "disabled"; 1538 }; 1539 1540 pmu: power-management@27380000 { 1541 compatible = "rockchip,rk3576-pmu", "syscon", "simple-mfd"; 1542 reg = <0x0 0x27380000 0x0 0x800>; 1543 1544 power: power-controller { 1545 compatible = "rockchip,rk3576-power-controller"; 1546 #power-domain-cells = <1>; 1547 #address-cells = <1>; 1548 #size-cells = <0>; 1549 status = "okay"; 1550 1551 /* These power domains are grouped by VD_NPU */ 1552 power-domain@RK3576_PD_NPU { 1553 reg = <RK3576_PD_NPU>; 1554 #address-cells = <1>; 1555 #size-cells = <0>; 1556 1557 power-domain@RK3576_PD_NPUTOP { 1558 reg = <RK3576_PD_NPUTOP>; 1559 #address-cells = <1>; 1560 #size-cells = <0>; 1561 1562 power-domain@RK3576_PD_NPU0 { 1563 reg = <RK3576_PD_NPU0>; 1564 }; 1565 power-domain@RK3576_PD_NPU1 { 1566 reg = <RK3576_PD_NPU1>; 1567 }; 1568 }; 1569 }; 1570 /* These power domains are grouped by VD_GPU */ 1571 power-domain@RK3576_PD_GPU { 1572 reg = <RK3576_PD_GPU>; 1573 }; 1574 /* These power domains are grouped by VD_LOGIC */ 1575 power-domain@RK3576_PD_NVM { 1576 reg = <RK3576_PD_NVM>; 1577 #address-cells = <1>; 1578 #size-cells = <0>; 1579 1580 power-domain@RK3576_PD_SDGMAC { 1581 reg = <RK3576_PD_SDGMAC>; 1582 }; 1583 }; 1584 power-domain@RK3576_PD_PHP { 1585 reg = <RK3576_PD_PHP>; 1586 #address-cells = <1>; 1587 #size-cells = <0>; 1588 1589 power-domain@RK3576_PD_SUBPHP { 1590 reg = <RK3576_PD_SUBPHP>; 1591 }; 1592 }; 1593 power-domain@RK3576_PD_AUDIO { 1594 reg = <RK3576_PD_AUDIO>; 1595 }; 1596 power-domain@RK3576_PD_VEPU1 { 1597 reg = <RK3576_PD_VEPU1>; 1598 }; 1599 power-domain@RK3576_PD_VPU { 1600 reg = <RK3576_PD_VPU>; 1601 }; 1602 power-domain@RK3576_PD_VDEC { 1603 reg = <RK3576_PD_VDEC>; 1604 }; 1605 power-domain@RK3576_PD_VI { 1606 reg = <RK3576_PD_VI>; 1607 #address-cells = <1>; 1608 #size-cells = <0>; 1609 1610 power-domain@RK3576_PD_VEPU0 { 1611 reg = <RK3576_PD_VEPU0>; 1612 }; 1613 }; 1614 power-domain@RK3576_PD_VOP { 1615 reg = <RK3576_PD_VOP>; 1616 #address-cells = <1>; 1617 #size-cells = <0>; 1618 1619 power-domain@RK3576_PD_USB { 1620 reg = <RK3576_PD_USB>; 1621 }; 1622 power-domain@RK3576_PD_VO0 { 1623 reg = <RK3576_PD_VO0>; 1624 }; 1625 power-domain@RK3576_PD_VO1 { 1626 reg = <RK3576_PD_VO1>; 1627 }; 1628 }; 1629 }; 1630 }; 1631 1632 pdm0: pdm@273b0000 { 1633 compatible = "rockchip,rk3576-pdm"; 1634 reg = <0x0 0x273b0000 0x0 0x1000>; 1635 interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; 1636 clocks = <&cru MCLK_PDM0>, <&cru HCLK_PDM0>, <&cru CLK_PDM0_OUT>; 1637 clock-names = "pdm_clk", "pdm_hclk", "pdm_clk_out"; 1638 dmas = <&dmac0 4>; 1639 dma-names = "rx"; 1640 pinctrl-names = "default"; 1641 pinctrl-0 = <&pdm0m0_clk0 1642 &pdm0m0_clk1 1643 &pdm0m0_sdi0 1644 &pdm0m0_sdi1 1645 &pdm0m0_sdi2 1646 &pdm0m0_sdi3>; 1647 #sound-dai-cells = <0>; 1648 sound-name-prefix = "PDM0"; 1649 status = "disabled"; 1650 }; 1651 1652 rknpu: npu@27700000 { 1653 compatible = "rockchip,rk3576-rknpu"; 1654 reg = <0x0 0x27700000 0x0 0x8000>, 1655 <0x0 0x27708000 0x0 0x8000>; 1656 interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 1657 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>; 1658 interrupt-names = "npu0_irq", "npu1_irq"; 1659 clocks = <&cru ACLK_RKNN0>, <&cru ACLK_RKNN1>, <&cru HCLK_RKNN_ROOT>, 1660 <&cru ACLK_RKNN_CBUF>, <&cru HCLK_RKNN_CBUF>; 1661 clock-names = "aclk0", "aclk1", "hclk_root", 1662 "aclk_cbuf", "hclk_cbuf"; 1663 resets = <&cru SRST_A_RKNN0>, <&cru SRST_A_RKNN1>, 1664 <&cru SRST_A_RKNN_CBUF>, <&cru SRST_A_RKNN_CBUF>; 1665 reset-names = "srst_a0", "srst_a1", 1666 "srst_a_cbuf", "srst_h_cbuf"; 1667 power-domains = <&power RK3576_PD_NPU0>, <&power RK3576_PD_NPU1>; 1668 power-domain-names = "npu0", "npu1"; 1669 iommus = <&rknpu_mmu>; 1670 status = "disabled"; 1671 }; 1672 1673 rknpu_mmu: iommu@27702000 { 1674 compatible = "rockchip,iommu-v2"; 1675 reg = <0x0 0x27702000 0x0 0x100>, 1676 <0x0 0x27702100 0x0 0x100>, 1677 <0x0 0x2770a000 0x0 0x100>, 1678 <0x0 0x2770a100 0x0 0x100>; 1679 interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 1680 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>; 1681 interrupt-names = "npu0_mmu", "npu1_mmu"; 1682 clocks = <&cru ACLK_RKNN0>, <&cru ACLK_RKNN1>, <&cru HCLK_RKNN_ROOT>; 1683 clock-names = "aclk0", "aclk1", "iface"; 1684 #iommu-cells = <0>; 1685 status = "disabled"; 1686 }; 1687 1688 gpu: gpu@27800000 { 1689 compatible = "arm,mali-bifrost"; 1690 reg = <0x0 0x27800000 0x0 0x20000>; 1691 1692 interrupts = <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>, 1693 <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>, 1694 <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>; 1695 interrupt-names = "GPU", "MMU", "JOB"; 1696 1697 upthreshold = <40>; 1698 downdifferential = <10>; 1699 1700 clocks = <&cru CLK_GPU>; 1701 clock-names = "clk_mali"; 1702 power-domains = <&power RK3576_PD_GPU>; 1703 operating-points-v2 = <&gpu_opp_table>; 1704 #cooling-cells = <2>; 1705 1706 status = "disabled"; 1707 }; 1708 1709 gpu_opp_table: gpu-opp-table { 1710 compatible = "operating-points-v2"; 1711 1712 opp-300000000 { 1713 opp-hz = /bits/ 64 <300000000>; 1714 opp-microvolt = <850000 850000 850000>; 1715 }; 1716 opp-400000000 { 1717 opp-hz = /bits/ 64 <400000000>; 1718 opp-microvolt = <850000 850000 850000>; 1719 }; 1720 opp-500000000 { 1721 opp-hz = /bits/ 64 <500000000>; 1722 opp-microvolt = <850000 850000 850000>; 1723 }; 1724 opp-600000000 { 1725 opp-hz = /bits/ 64 <600000000>; 1726 opp-microvolt = <850000 850000 850000>; 1727 }; 1728 }; 1729 1730 ebc: ebc@27900000 { 1731 compatible = "rockchip,rk3576-ebc-tcon"; 1732 reg = <0x0 0x27900000 0x0 0x5000>; 1733 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>; 1734 clocks = <&cru HCLK_EBC>, <&cru ACLK_EBC>, <&cru DCLK_EBC>; 1735 clock-names = "hclk", "aclk", "dclk"; 1736 pinctrl-names = "default"; 1737 pinctrl-0 = <&vo_ebc_pins>; 1738 power-domains = <&power RK3576_PD_VPU>; 1739 rockchip,grf = <&sys_grf>; 1740 status = "disabled"; 1741 }; 1742 1743 vopl: vop@27900000 { 1744 compatible = "rockchip,rk3576-vop-lit"; 1745 reg = <0x0 0x27900000 0x0 0x200>; 1746 reg-names = "regs"; 1747 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>; 1748 clocks = <&cru ACLK_EBC>, <&cru DCLK_EBC>, <&cru HCLK_EBC>; 1749 clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 1750 power-domains = <&power RK3576_PD_VPU>; 1751 rockchip,grf = <&ioc_grf>; 1752 rockchip,vo0_grf = <&vo0_grf>; 1753 status = "disabled"; 1754 1755 vopl_out: port { 1756 #address-cells = <1>; 1757 #size-cells = <0>; 1758 1759 vopl_out_rgb: endpoint@0 { 1760 reg = <0>; 1761 remote-endpoint = <&rgb_in_vopl>; 1762 }; 1763 1764 vopl_out_dsi: endpoint@1 { 1765 reg = <1>; 1766 remote-endpoint = <&dsi_in_vopl>; 1767 }; 1768 1769 vopl_out_edp: endpoint@2 { 1770 reg = <2>; 1771 remote-endpoint = <&edp_in_vopl>; 1772 }; 1773 1774 vopl_out_hdmi: endpoint@3 { 1775 reg = <3>; 1776 remote-endpoint = <&hdmi_in_vopl>; 1777 }; 1778 }; 1779 }; 1780 1781 jpegd: jpegd@27910000 { 1782 compatible = "rockchip,rkv-jpeg-decoder-v1"; 1783 reg = <0x0 0x27910000 0x0 0x330>; 1784 interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>; 1785 interrupt-names = "irq_jpegd"; 1786 clocks = <&aclk_jpeg>, <&cru HCLK_JPEG>; 1787 clock-names = "aclk_vcodec", "hclk_vcodec"; 1788 rockchip,normal-rates = <700000000>, <0>; 1789 assigned-clocks = <&aclk_jpeg>; 1790 assigned-clock-rates = <700000000>; 1791 resets = <&cru SRST_A_JPEG>, <&cru SRST_H_JPEG>; 1792 reset-names = "shared_video_a", "shared_video_h"; 1793 rockchip,skip-pmu-idle-request; 1794 iommus = <&jpeg_mmu>; 1795 rockchip,srv = <&mpp_srv>; 1796 rockchip,taskqueue-node = <0>; 1797 rockchip,resetgroup-node = <0>; 1798 power-domains = <&power RK3576_PD_VPU>; 1799 status = "disabled"; 1800 }; 1801 1802 jpege: jpege@27910800 { 1803 compatible = "rockchip,rkv-jpeg-encoder-v1"; 1804 reg = <0x0 0x27910800 0x0 0x13c>; 1805 interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>; 1806 interrupt-names = "irq_jpege"; 1807 clocks = <&aclk_jpeg>, <&cru HCLK_JPEG>; 1808 clock-names = "aclk_vcodec", "hclk_vcodec"; 1809 rockchip,normal-rates = <700000000>, <0>; 1810 assigned-clocks = <&aclk_jpeg>; 1811 assigned-clock-rates = <700000000>; 1812 resets = <&cru SRST_A_JPEG>, <&cru SRST_H_JPEG>; 1813 reset-names = "shared_video_a", "shared_video_h"; 1814 rockchip,skip-pmu-idle-request; 1815 iommus = <&jpeg_mmu>; 1816 rockchip,srv = <&mpp_srv>; 1817 rockchip,taskqueue-node = <0>; 1818 rockchip,resetgroup-node = <0>; 1819 power-domains = <&power RK3576_PD_VPU>; 1820 status = "disabled"; 1821 }; 1822 1823 jpeg_mmu: iommu@27910f00 { 1824 compatible = "rockchip,iommu-v2"; 1825 reg = <0x0 0x27910f00 0x0 0x28>; 1826 interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>; 1827 interrupt-names = "irq_jpeg_mmu"; 1828 clocks = <&aclk_jpeg>, <&cru HCLK_JPEG>; 1829 clock-name = "aclk", "iface"; 1830 #iommu-cells = <0>; 1831 rockchip,shootdown-entire; 1832 power-domains = <&power RK3576_PD_VPU>; 1833 status = "disabled"; 1834 }; 1835 1836 rga2_core0: rga@27920000 { 1837 compatible = "rockchip,rga2_core0"; 1838 reg = <0x0 0x27920000 0x0 0x1000>; 1839 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>; 1840 interrupt-names = "rga2_core0_irq"; 1841 clocks = <&cru ACLK_RGA2E_0>, <&cru HCLK_RGA2E_0>, <&cru CLK_CORE_RGA2E_0>; 1842 clock-names = "aclk_rga2e_0", "hclk_rga2e_0", "clk_rga2e_0"; 1843 power-domains = <&power RK3576_PD_VPU>; 1844 iommus = <&rga2_core0_mmu>; 1845 status = "disabled"; 1846 }; 1847 1848 rga2_core0_mmu: iommu@27920f00 { 1849 compatible = "rockchip,iommu-v2"; 1850 reg = <0x0 0x27920f00 0x0 0x100>; 1851 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>; 1852 interrupt-names = "rga2_0_mmu"; 1853 clocks = <&cru ACLK_RGA2E_0>, <&cru HCLK_RGA2E_0>; 1854 clock-names = "aclk", "iface"; 1855 power-domains = <&power RK3576_PD_VPU>; 1856 #iommu-cells = <0>; 1857 status = "disabled"; 1858 }; 1859 1860 rga2_core1: rga@27930000 { 1861 compatible = "rockchip,rga2_core1"; 1862 reg = <0x0 0x27930000 0x0 0x1000>; 1863 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>; 1864 interrupt-names = "rga2_core1_irq"; 1865 clocks = <&cru ACLK_RGA2E_1>, <&cru HCLK_RGA2E_1>, <&cru CLK_CORE_RGA2E_1>; 1866 clock-names = "aclk_rga2e_1", "hclk_rga2e_1", "clk_rga2e_1"; 1867 power-domains = <&power RK3576_PD_VPU>; 1868 iommus = <&rga2_core1_mmu>; 1869 status = "disabled"; 1870 }; 1871 1872 rga2_core1_mmu: iommu@27930f00 { 1873 compatible = "rockchip,iommu-v2"; 1874 reg = <0x0 0x27930f00 0x0 0x100>; 1875 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>; 1876 interrupt-names = "rga2_1_mmu"; 1877 clocks = <&cru ACLK_RGA2E_1>, <&cru HCLK_RGA2E_1>; 1878 clock-names = "aclk", "iface"; 1879 power-domains = <&power RK3576_PD_VPU>; 1880 #iommu-cells = <0>; 1881 status = "disabled"; 1882 }; 1883 1884 iep: iep@27960000 { 1885 compatible = "rockchip,iep-v2"; 1886 reg = <0x0 0x27960000 0x0 0x500>; 1887 interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>; 1888 interrupt-names = "irq_vdpp"; 1889 clocks = <&aclk_vdpp>, <&cru HCLK_VDPP>, <&cru CLK_CORE_VDPP>; 1890 clock-names = "aclk", "hclk", "sclk"; 1891 rockchip,normal-rates = <340000000>, <0>, <340000000>; 1892 assigned-clocks = <&aclk_vdpp>, <&cru CLK_CORE_VDPP>; 1893 assigned-clock-rates = <340000000>, <340000000>; 1894 resets = <&cru SRST_A_VDPP>, <&cru SRST_H_VDPP>, <&cru SRST_CORE_VDPP>; 1895 reset-names = "shared_rst_a", "shared_rst_h", "shared_rst_s"; 1896 rockchip,skip-pmu-idle-request; 1897 rockchip,srv = <&mpp_srv>; 1898 rockchip,taskqueue-node = <2>; 1899 iommus = <&iep_mmu>; 1900 power-domains = <&power RK3576_PD_VPU>; 1901 status = "disabled"; 1902 }; 1903 1904 iep_mmu: iommu@27960800 { 1905 compatible = "rockchip,iommu-v2"; 1906 reg = <0x0 0x27960800 0x0 0x100>; 1907 interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>; 1908 interrupt-names = "iep_mmu"; 1909 clocks = <&aclk_vdpp>, <&cru HCLK_VDPP>; 1910 clock-names = "aclk", "iface"; 1911 #iommu-cells = <0>; 1912 rockchip,shootdown-entire; 1913 power-domains = <&power RK3576_PD_VPU>; 1914 status = "disabled"; 1915 }; 1916 1917 vdpp: vdpp@27961000 { 1918 compatible = "rockchip,vdpp-rk3576"; 1919 reg = <0x0 0x27961000 0x0 0x500>, <0x0 0x27962000 0x0 0x900>; 1920 reg-names = "vdpp_regs", "zme_regs"; 1921 interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>; 1922 interrupt-names = "irq_vdpp"; 1923 clocks = <&aclk_vdpp>, <&cru HCLK_VDPP>, <&cru CLK_CORE_VDPP>; 1924 clock-names = "aclk", "hclk", "sclk"; 1925 rockchip,normal-rates = <340000000>, <0>, <340000000>; 1926 assigned-clocks = <&aclk_vdpp>, <&cru CLK_CORE_VDPP>; 1927 assigned-clock-rates = <340000000>, <340000000>; 1928 resets = <&cru SRST_A_VDPP>, <&cru SRST_H_VDPP>, <&cru SRST_CORE_VDPP>; 1929 reset-names = "shared_rst_a", "shared_rst_h", "shared_rst_s"; 1930 rockchip,skip-pmu-idle-request; 1931 rockchip,srv = <&mpp_srv>; 1932 rockchip,taskqueue-node = <2>; 1933 rockchip,disable-auto-freq; 1934 iommus = <&iep_mmu>; 1935 power-domains = <&power RK3576_PD_VPU>; 1936 status = "disabled"; 1937 }; 1938 1939 rkvenc0: rkvenc-core@27a00000 { 1940 compatible = "rockchip,rkv-encoder-rk3576-core"; 1941 reg = <0x0 0x27a00000 0x0 0x6000>; 1942 interrupts = <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>; 1943 interrupt-names = "irq_vepu0"; 1944 clocks = <&aclk_vepu0>, <&hclk_vepu0>, <&cru CLK_VEPU0_CORE>; 1945 clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; 1946 rockchip,normal-rates = <400000000>, <0>, <700000000>; 1947 resets = <&cru SRST_A_VEPU0>, <&cru SRST_H_VEPU0>, 1948 <&cru SRST_VEPU0_CORE>; 1949 reset-names = "video_a", "video_h", "video_core"; 1950 assigned-clocks = <&aclk_vepu0>, <&cru CLK_VEPU0_CORE>; 1951 assigned-clock-rates = <400000000>, <700000000>; 1952 iommus = <&rkvenc0_mmu>; 1953 rockchip,srv = <&mpp_srv>; 1954 rockchip,taskqueue-node = <3>; 1955 rockchip,task-capacity = <8>; 1956 rockchip,ccu = <&rkvenc_ccu>; 1957 power-domains = <&power RK3576_PD_VEPU0>; 1958 status = "disabled"; 1959 }; 1960 1961 rkvenc0_mmu: iommu@27a0f000 { 1962 compatible = "rockchip,iommu-v2"; 1963 reg = <0x0 0x27a0f000 0x0 0x40>; 1964 interrupts = <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>; 1965 interrupt-names = "irq_vepu0_mmu"; 1966 clocks = <&aclk_vepu0>, <&hclk_vepu0>; 1967 clock-names = "aclk", "iface"; 1968 #iommu-cells = <0>; 1969 rockchip,shootdown-entire; 1970 rockchip,disable-mmu-reset; 1971 rockchip,enable-cmd-retry; 1972 power-domains = <&power RK3576_PD_VEPU0>; 1973 status = "disabled"; 1974 }; 1975 1976 rkvenc1: rkvenc-core@27a10000 { 1977 compatible = "rockchip,rkv-encoder-rk3576-core"; 1978 reg = <0x0 0x27a10000 0x0 0x6000>; 1979 interrupts = <GIC_SPI 387 IRQ_TYPE_LEVEL_HIGH>; 1980 interrupt-names = "irq_vepu1"; 1981 clocks = <&cru ACLK_VEPU1>, <&cru HCLK_VEPU1>, <&cru CLK_VEPU1_CORE>; 1982 clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; 1983 rockchip,normal-rates = <400000000>, <0>, <700000000>; 1984 resets = <&cru SRST_A_VEPU1>, <&cru SRST_H_VEPU1>, 1985 <&cru SRST_VEPU1_CORE>; 1986 reset-names = "video_a", "video_h", "video_core"; 1987 assigned-clocks = <&cru ACLK_VEPU1>, <&cru CLK_VEPU1_CORE>; 1988 assigned-clock-rates = <400000000>, <700000000>; 1989 iommus = <&rkvenc1_mmu>; 1990 rockchip,srv = <&mpp_srv>; 1991 rockchip,taskqueue-node = <3>; 1992 rockchip,task-capacity = <8>; 1993 rockchip,ccu = <&rkvenc_ccu>; 1994 power-domains = <&power RK3576_PD_VEPU1>; 1995 status = "disabled"; 1996 }; 1997 1998 rkvenc1_mmu: iommu@27a1f000 { 1999 compatible = "rockchip,iommu-v2"; 2000 reg = <0x0 0x27a1f000 0x0 0x40>; 2001 interrupts = <GIC_SPI 388 IRQ_TYPE_LEVEL_HIGH>; 2002 interrupt-names = "irq_vepu1_mmu"; 2003 clocks = <&cru ACLK_VEPU1>, <&cru HCLK_VEPU1>; 2004 clock-names = "aclk", "iface"; 2005 #iommu-cells = <0>; 2006 rockchip,disable-mmu-reset; 2007 rockchip,enable-cmd-retry; 2008 rockchip,shootdown-entire; 2009 power-domains = <&power RK3576_PD_VEPU1>; 2010 status = "disabled"; 2011 }; 2012 2013 rkvdec: rkvdec@27b00000 { 2014 compatible = "rockchip,rkv-decoder-v383"; 2015 reg = <0x0 0x27b00100 0x0 0x400>, <0x0 0x27b00000 0x0 0x100>; 2016 reg-names = "regs", "link"; 2017 interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>; 2018 interrupt-names = "irq_rkvdec"; 2019 clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru HCLK_RKVDEC_ROOT>, 2020 <&cru CLK_RKVDEC_CORE>, <&cru CLK_RKVDEC_HEVC_CA>; 2021 clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core", "clk_hevc_ca"; 2022 resets = <&cru SRST_A_RKVDEC_BIU >, <&cru SRST_H_RKVDEC_BIU>, 2023 <&cru SRST_RKVDEC_CORE>, <&cru SRST_RKVDEC_HEVC_CA>; 2024 reset-names = "video_a","video_h", "video_core", "video_hevc_cabac"; 2025 rockchip,normal-rates = <600000000>, <0>, <600000000>, <600000000>; 2026 assigned-clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru HCLK_RKVDEC_ROOT>, 2027 <&cru CLK_RKVDEC_CORE>, <&cru CLK_RKVDEC_HEVC_CA>; 2028 assigned-clock-rates = <600000000>,<0>, <600000000>, <600000000>; 2029 iommus = <&rkvdec_mmu>; 2030 rockchip,srv = <&mpp_srv>; 2031 rockchip,task-capacity = <1>; 2032 rockchip,taskqueue-node = <5>; 2033 power-domains = <&power RK3576_PD_VDEC>; 2034 status = "disabled"; 2035 }; 2036 2037 rkvdec_mmu: iommu@27b00800 { 2038 compatible = "rockchip,iommu-v2"; 2039 reg = <0x0 0x27b00800 0x0 0x40>, <0x0 0x27b00900 0x0 0x40>; 2040 interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>; 2041 interrupt-names = "irq_rkvdec_mmu"; 2042 clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru HCLK_RKVDEC>; 2043 clock-names = "aclk", "iface"; 2044 rockchip,disable-mmu-reset; 2045 rockchip,enable-cmd-retry; 2046 rockchip,shootdown-entire; 2047 #iommu-cells = <0>; 2048 power-domains = <&power RK3576_PD_VDEC>; 2049 status = "disabled"; 2050 }; 2051 2052 rkisp: isp@27c00000 { 2053 compatible = "rockchip,rk3576-rkisp"; 2054 reg = <0x0 0x27c00000 0x0 0x7f00>; 2055 interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>, 2056 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>, 2057 <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>; 2058 interrupt-names = "mipi_irq", "mi_irq", "isp_irq"; 2059 clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>, 2060 <&cru CLK_ISP_CORE>, <&cru CLK_ISP_CORE_MARVIN>, 2061 <&cru CLK_ISP_CORE_VICAP>; 2062 clock-names = "aclk_isp", "hclk_isp", 2063 "clk_isp_core", "clk_isp_core_marvin", 2064 "clk_isp_core_vicap"; 2065 power-domains = <&power RK3576_PD_VI>; 2066 iommus = <&rkisp_mmu>; 2067 status = "disabled"; 2068 }; 2069 2070 rkisp_mmu: iommu@27c07f00 { 2071 compatible = "rockchip,iommu-v2"; 2072 reg = <0x0 0x27c07f00 0x0 0x100>; 2073 interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>; 2074 interrupt-names = "isp_mmu"; 2075 clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>; 2076 clock-names = "aclk", "iface"; 2077 power-domains = <&power RK3576_PD_VI>; 2078 #iommu-cells = <0>; 2079 rockchip,disable-mmu-reset; 2080 status = "disabled"; 2081 }; 2082 2083 rkcif: rkcif@27c10000 { 2084 compatible = "rockchip,rk3576-cif"; 2085 reg = <0x0 0x27c10000 0x0 0x800>; 2086 reg-names = "cif_regs"; 2087 interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>; 2088 interrupt-names = "cif-intr"; 2089 clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>, <&cru DCLK_VICAP>, 2090 <&cru CLK_VICAP_I0CLK>, <&cru CLK_VICAP_I1CLK>, 2091 <&cru CLK_VICAP_I2CLK>, <&cru CLK_VICAP_I3CLK>, 2092 <&cru CLK_VICAP_I4CLK>; 2093 clock-names = "aclk_cif", "hclk_cif", "dclk_cif", 2094 "i0clk_cif", "i1clk_cif", 2095 "i2clk_cif", "i3clk_cif", 2096 "i4clk_cif"; 2097 resets = <&cru SRST_A_VICAP>, <&cru SRST_H_VICAP>, <&cru SRST_D_VICAP>, 2098 <&cru SRST_VICAP_I0CLK>, <&cru SRST_VICAP_I1CLK>, 2099 <&cru SRST_VICAP_I2CLK>, <&cru SRST_VICAP_I3CLK>, 2100 <&cru SRST_VICAP_I4CLK>; 2101 reset-names = "rst_cif_a", "rst_cif_h", "rst_cif_d", 2102 "rst_cif_iclk0", "rst_cif_iclk1", "rst_cif_iclk2", 2103 "rst_cif_iclk3", "rst_cif_iclk4"; 2104 assigned-clocks = <&cru DCLK_VICAP>; 2105 assigned-clock-rates = <600000000>; 2106 power-domains = <&power RK3576_PD_VI>; 2107 rockchip,grf = <&sys_grf>; 2108 iommus = <&rkcif_mmu>; 2109 status = "disabled"; 2110 }; 2111 2112 rkcif_mmu: iommu@27c10800 { 2113 compatible = "rockchip,iommu-v2"; 2114 reg = <0x0 0x27c10800 0x0 0x100>; 2115 interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>; 2116 interrupt-names = "cif_mmu"; 2117 clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>; 2118 clock-names = "aclk", "iface"; 2119 power-domains = <&power RK3576_PD_VI>; 2120 rockchip,disable-mmu-reset; 2121 #iommu-cells = <0>; 2122 status = "disabled"; 2123 }; 2124 2125 rkvpss: vpss@27c30000 { 2126 compatible = "rockchip,rk3576-rkvpss"; 2127 reg = <0x0 0x27c30000 0x0 0x3f00>; 2128 interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>, 2129 <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>; 2130 interrupt-names = "mi_irq", "vpss_irq"; 2131 clocks = <&cru ACLK_VPSS>, <&cru HCLK_VPSS>, 2132 <&cru CLK_CORE_VPSS>; 2133 clock-names = "aclk_vpss", "hclk_vpss", "clk_vpss"; 2134 power-domains = <&power RK3576_PD_VI>; 2135 iommus = <&rkvpss_mmu>; 2136 status = "disabled"; 2137 }; 2138 2139 rkvpss_mmu: iommu@27c33f00 { 2140 compatible = "rockchip,iommu-v2"; 2141 reg = <0x0 0x27c33f00 0x0 0x100>; 2142 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>; 2143 interrupt-names = "vpss_mmu"; 2144 clocks = <&cru ACLK_VPSS>, <&cru HCLK_VPSS>; 2145 clock-names = "aclk", "iface"; 2146 power-domains = <&power RK3576_PD_VI>; 2147 #iommu-cells = <0>; 2148 rockchip,disable-mmu-reset; 2149 status = "disabled"; 2150 }; 2151 2152 mipi0_csi2_hw: mipi0-csi2-hw@27c80000 { 2153 compatible = "rockchip,rk3576-mipi-csi2-hw"; 2154 reg = <0x0 0x27c80000 0x0 0x10000>; 2155 reg-names = "csihost_regs"; 2156 interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>, 2157 <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>; 2158 interrupt-names = "csi-intr1", "csi-intr2"; 2159 clocks = <&cru PCLK_CSI_HOST_0>, <&cru ICLK_CSIHOST0>; 2160 clock-names = "pclk_csi2host", "iclk_csi2host"; 2161 resets = <&cru SRST_P_CSI_HOST_0>; 2162 reset-names = "srst_csihost_p"; 2163 status = "okay"; 2164 }; 2165 2166 mipi1_csi2_hw: mipi1-csi2-hw@27c90000 { 2167 compatible = "rockchip,rk3576-mipi-csi2-hw"; 2168 reg = <0x0 0x27c90000 0x0 0x10000>; 2169 reg-names = "csihost_regs"; 2170 interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>, 2171 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>; 2172 interrupt-names = "csi-intr1", "csi-intr2"; 2173 clocks = <&cru PCLK_CSI_HOST_1>; 2174 clock-names = "pclk_csi2host"; 2175 resets = <&cru SRST_P_CSI_HOST_1>; 2176 reset-names = "srst_csihost_p"; 2177 status = "okay"; 2178 }; 2179 2180 mipi2_csi2_hw: mipi2-csi2-hw@27ca0000 { 2181 compatible = "rockchip,rk3576-mipi-csi2-hw"; 2182 reg = <0x0 0x27ca0000 0x0 0x10000>; 2183 reg-names = "csihost_regs"; 2184 interrupts = <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>, 2185 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>; 2186 interrupt-names = "csi-intr1", "csi-intr2"; 2187 clocks = <&cru PCLK_CSI_HOST_2>; 2188 clock-names = "pclk_csi2host"; 2189 resets = <&cru SRST_P_CSI_HOST_2>; 2190 reset-names = "srst_csihost_p"; 2191 status = "okay"; 2192 }; 2193 2194 mipi3_csi2_hw: mipi3-csi2-hw@27cb0000 { 2195 compatible = "rockchip,rk3576-mipi-csi2-hw"; 2196 reg = <0x0 0x27cb0000 0x0 0x10000>; 2197 reg-names = "csihost_regs"; 2198 interrupts = <GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>, 2199 <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>; 2200 interrupt-names = "csi-intr1", "csi-intr2"; 2201 clocks = <&cru PCLK_CSI_HOST_3>; 2202 clock-names = "pclk_csi2host"; 2203 resets = <&cru SRST_P_CSI_HOST_3>; 2204 reset-names = "srst_csihost_p"; 2205 status = "okay"; 2206 }; 2207 2208 mipi4_csi2_hw: mipi4-csi2-hw@27cc0000 { 2209 compatible = "rockchip,rk3576-mipi-csi2-hw"; 2210 reg = <0x0 0x27cc0000 0x0 0x10000>; 2211 reg-names = "csihost_regs"; 2212 interrupts = <GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>, 2213 <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>; 2214 interrupt-names = "csi-intr1", "csi-intr2"; 2215 clocks = <&cru PCLK_CSI_HOST_4>; 2216 clock-names = "pclk_csi2host"; 2217 resets = <&cru SRST_P_CSI_HOST_4>; 2218 reset-names = "srst_csihost_p"; 2219 status = "okay"; 2220 }; 2221 2222 vop: vop@27d00000 { 2223 compatible = "rockchip,rk3576-vop"; 2224 reg = <0x0 0x27d00000 0x0 0x3000>, 2225 <0x0 0x27d05000 0x0 0x1000>, 2226 <0x0 0x27d06400 0x0 0x800>, 2227 <0x0 0x27d06c00 0x0 0x300>; 2228 reg-names = "regs", 2229 "gamma_lut", 2230 "acm_regs", 2231 "sharp_regs"; 2232 interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>, 2233 <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>, 2234 <GIC_SPI 380 IRQ_TYPE_LEVEL_HIGH>, 2235 <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>; 2236 interrupt-names = "vop-sys", 2237 "vop-vp0", 2238 "vop-vp1", 2239 "vop-vp2"; 2240 clocks = <&cru ACLK_VOP>, 2241 <&cru HCLK_VOP>, 2242 <&cru DCLK_VP0_SRC>, 2243 <&cru DCLK_VP1_SRC>, 2244 <&cru DCLK_VP2_SRC>; 2245 clock-names = "aclk_vop", 2246 "hclk_vop", 2247 "dclk_vp0", 2248 "dclk_vp1", 2249 "dclk_vp2"; 2250 iommus = <&vop_mmu>; 2251 power-domains = <&power RK3576_PD_VOP>; 2252 rockchip,grf = <&sys_grf>; 2253 rockchip,ioc-grf = <&ioc_grf>; 2254 rockchip,pmu = <&pmu>; 2255 status = "disabled"; 2256 2257 vop_out: ports { 2258 #address-cells = <1>; 2259 #size-cells = <0>; 2260 2261 vp0: port@0 { 2262 #address-cells = <1>; 2263 #size-cells = <0>; 2264 reg = <0>; 2265 2266 vp0_out_dsi: endpoint@0 { 2267 reg = <0>; 2268 remote-endpoint = <&dsi_in_vp0>; 2269 }; 2270 2271 vp0_out_edp: endpoint@1 { 2272 reg = <1>; 2273 remote-endpoint = <&edp_in_vp0>; 2274 }; 2275 2276 vp0_out_hdmi: endpoint@2 { 2277 reg = <2>; 2278 remote-endpoint = <&hdmi_in_vp0>; 2279 }; 2280 2281 vp0_out_dp0: endpoint@3 { 2282 reg = <3>; 2283 remote-endpoint = <&dp0_in_vp0>; 2284 }; 2285 2286 vp0_out_dp1: endpoint@4 { 2287 reg = <4>; 2288 remote-endpoint = <&dp1_in_vp0>; 2289 }; 2290 2291 vp0_out_dp2: endpoint@5 { 2292 reg = <5>; 2293 remote-endpoint = <&dp2_in_vp0>; 2294 }; 2295 }; 2296 2297 vp1: port@1 { 2298 #address-cells = <1>; 2299 #size-cells = <0>; 2300 reg = <1>; 2301 2302 vp1_out_rgb: endpoint@0 { 2303 reg = <0>; 2304 remote-endpoint = <&rgb_in_vp1>; 2305 }; 2306 2307 vp1_out_dsi: endpoint@1 { 2308 reg = <1>; 2309 remote-endpoint = <&dsi_in_vp1>; 2310 }; 2311 2312 vp1_out_edp: endpoint@2 { 2313 reg = <2>; 2314 remote-endpoint = <&edp_in_vp1>; 2315 }; 2316 2317 vp1_out_hdmi: endpoint@3 { 2318 reg = <3>; 2319 remote-endpoint = <&hdmi_in_vp1>; 2320 }; 2321 2322 vp1_out_dp0: endpoint@4 { 2323 reg = <4>; 2324 remote-endpoint = <&dp0_in_vp1>; 2325 }; 2326 2327 vp1_out_dp1: endpoint@5 { 2328 reg = <5>; 2329 remote-endpoint = <&dp1_in_vp1>; 2330 }; 2331 2332 vp1_out_dp2: endpoint@6 { 2333 reg = <6>; 2334 remote-endpoint = <&dp2_in_vp1>; 2335 }; 2336 }; 2337 2338 vp2: port@2 { 2339 #address-cells = <1>; 2340 #size-cells = <0>; 2341 reg = <2>; 2342 2343 vp2_out_rgb: endpoint@0 { 2344 reg = <0>; 2345 remote-endpoint = <&rgb_in_vp2>; 2346 }; 2347 2348 vp2_out_dsi: endpoint@1 { 2349 reg = <1>; 2350 remote-endpoint = <&dsi_in_vp2>; 2351 }; 2352 2353 vp2_out_edp: endpoint@2 { 2354 reg = <2>; 2355 remote-endpoint = <&edp_in_vp2>; 2356 }; 2357 2358 vp2_out_hdmi: endpoint@3 { 2359 reg = <3>; 2360 remote-endpoint = <&hdmi_in_vp2>; 2361 }; 2362 2363 vp2_out_dp0: endpoint@4 { 2364 reg = <4>; 2365 remote-endpoint = <&dp0_in_vp2>; 2366 }; 2367 2368 vp2_out_dp1: endpoint@5 { 2369 reg = <5>; 2370 remote-endpoint = <&dp1_in_vp2>; 2371 }; 2372 2373 vp2_out_dp2: endpoint@6 { 2374 reg = <6>; 2375 remote-endpoint = <&dp2_in_vp2>; 2376 }; 2377 }; 2378 }; 2379 }; 2380 2381 vop_mmu: iommu@27d07e00 { 2382 compatible = "rockchip,iommu-v2"; 2383 reg = <0x0 0x27d07e00 0x0 0x100>, <0x0 0x27d07f00 0x0 0x100>; 2384 interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>; 2385 interrupt-names = "vop_mmu"; 2386 clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 2387 clock-names = "aclk", "iface"; 2388 #iommu-cells = <0>; 2389 rockchip,disable-device-link-resume; 2390 rockchip,shootdown-entire; 2391 status = "disabled"; 2392 }; 2393 2394 spdif_tx2: spdif-tx@27d20000 { 2395 compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 2396 reg = <0x0 0x27d20000 0x0 0x1000>; 2397 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; 2398 clocks = <&cru MCLK_SPDIF_TX2>, <&cru HCLK_SPDIF_TX2>; 2399 clock-names = "mclk", "hclk"; 2400 dmas = <&dmac2 28>; 2401 dma-names = "tx"; 2402 power-domains = <&power RK3576_PD_VO0>; 2403 #sound-dai-cells = <0>; 2404 status = "disabled"; 2405 }; 2406 2407 spdif_rx2: spdif-rx@27d30000 { 2408 compatible = "rockchip,rk3576-spdifrx", "rockchip,rk3308-spdifrx"; 2409 reg = <0x0 0x27d30000 0x0 0x1000>; 2410 interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; 2411 clocks = <&cru MCLK_SPDIF_RX2>, <&cru HCLK_SPDIF_RX2>; 2412 clock-names = "mclk", "hclk"; 2413 dmas = <&dmac2 27>; 2414 dma-names = "rx"; 2415 power-domains = <&power RK3576_PD_VO0>; 2416 resets = <&cru SRST_M_SPDIF_RX2>; 2417 reset-names = "spdifrx-m"; 2418 status = "disabled"; 2419 }; 2420 2421 sai5: sai@27d40000 { 2422 compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 2423 reg = <0x0 0x27d40000 0x0 0x1000>; 2424 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; 2425 clocks = <&cru MCLK_SAI5_8CH>, <&cru HCLK_SAI5_8CH>; 2426 clock-names = "mclk", "hclk"; 2427 dmas = <&dmac2 3>; 2428 dma-names = "rx"; 2429 power-domains = <&power RK3576_PD_VO0>; 2430 resets = <&cru SRST_M_SAI5_8CH>, <&cru SRST_H_SAI5_8CH>; 2431 reset-names = "m", "h"; 2432 #sound-dai-cells = <0>; 2433 sound-name-prefix = "SAI5"; 2434 status = "disabled"; 2435 }; 2436 2437 sai6: sai@27d50000 { 2438 compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 2439 reg = <0x0 0x27d50000 0x0 0x1000>; 2440 interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; 2441 clocks = <&cru MCLK_SAI6_8CH>, <&cru HCLK_SAI6_8CH>; 2442 clock-names = "mclk", "hclk"; 2443 dmas = <&dmac2 4>, <&dmac2 5>; 2444 dma-names = "tx", "rx"; 2445 power-domains = <&power RK3576_PD_VO0>; 2446 resets = <&cru SRST_M_SAI6_8CH>, <&cru SRST_H_SAI6_8CH>; 2447 reset-names = "m", "h"; 2448 #sound-dai-cells = <0>; 2449 sound-name-prefix = "SAI6"; 2450 status = "disabled"; 2451 }; 2452 2453 dsi: dsi@27d80000 { 2454 compatible = "rockchip,rk3576-mipi-dsi2"; 2455 reg = <0x0 0x27d80000 0x0 0x10000>; 2456 interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>; 2457 clocks = <&cru PCLK_DSIHOST0>, <&cru CLK_DSIHOST0>; 2458 clock-names = "pclk", "sys_clk"; 2459 resets = <&cru SRST_P_DSIHOST0>; 2460 reset-names = "apb"; 2461 power-domains = <&power RK3576_PD_VO0>; 2462 phys = <&mipidcphy0>; 2463 phy-names = "dcphy"; 2464 rockchip,grf = <&vo0_grf>; 2465 #address-cells = <1>; 2466 #size-cells = <0>; 2467 status = "disabled"; 2468 2469 ports { 2470 #address-cells = <1>; 2471 #size-cells = <0>; 2472 2473 dsi_in: port@0 { 2474 reg = <0>; 2475 #address-cells = <1>; 2476 #size-cells = <0>; 2477 2478 dsi_in_vp0: endpoint@0 { 2479 reg = <0>; 2480 remote-endpoint = <&vp0_out_dsi>; 2481 status = "disabled"; 2482 }; 2483 2484 dsi_in_vp1: endpoint@1 { 2485 reg = <1>; 2486 remote-endpoint = <&vp1_out_dsi>; 2487 status = "disabled"; 2488 }; 2489 2490 dsi_in_vp2: endpoint@2 { 2491 reg = <2>; 2492 remote-endpoint = <&vp2_out_dsi>; 2493 status = "disabled"; 2494 }; 2495 2496 dsi_in_vopl: endpoint@3 { 2497 reg = <3>; 2498 remote-endpoint = <&vopl_out_dsi>; 2499 status = "disabled"; 2500 }; 2501 }; 2502 }; 2503 }; 2504 2505 hdcp0: hdcp@27d90000 { 2506 compatible = "rockchip,rk3576-hdcp"; 2507 reg = <0x0 0x27d90000 0x0 0x80>; 2508 interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>; 2509 clocks = <&aclk_hdcp0>, <&cru PCLK_HDCP0>, 2510 <&cru HCLK_HDCP0>, <&scmi_clk HCLK_HDCP_KEY0>, 2511 <&scmi_clk PCLK_HDCP0_TRNG>; 2512 clock-names = "aclk", "pclk", "hclk", "hclk_key", "pclk_trng"; 2513 resets = <&cru SRST_HDCP0>, <&cru SRST_H_HDCP0>, 2514 <&cru SRST_A_HDCP0>; 2515 reset-names = "hdcp", "h_hdcp", "a_hdcp"; 2516 power-domains = <&power RK3576_PD_VO0>; 2517 rockchip,vo-grf = <&vo0_grf>; 2518 status = "disabled"; 2519 }; 2520 2521 hdmi: hdmi@27da0000 { 2522 compatible = "rockchip,rk3576-dw-hdmi"; 2523 reg = <0x0 0x27da0000 0x0 0x10000>, <0x0 0x27db0000 0x0 0x10000>; 2524 interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>, 2525 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>, 2526 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>, 2527 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>, 2528 <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>; 2529 clocks = <&cru PCLK_HDMITX0>, 2530 <&cru CLK_HDMITXHPD>, 2531 <&cru CLK_HDMITX0_EARC>, 2532 <&cru CLK_HDMITX0_REF>, 2533 <&cru MCLK_SAI5_8CH>, 2534 <&cru DCLK_VP0>, 2535 <&cru DCLK_VP1>, 2536 <&cru DCLK_VP2>, 2537 <&cru DCLK_EBC>, 2538 <&hclk_vo1>, 2539 <&hdptxphy_hdmi>; 2540 clock-names = "pclk", 2541 "hpd", 2542 "earc", 2543 "hdmitx_ref", 2544 "aud", 2545 "dclk_vp0", 2546 "dclk_vp1", 2547 "dclk_vp2", 2548 "dclk_ebc", 2549 "hclk_vo1", 2550 "link_clk"; 2551 resets = <&cru SRST_HDMITX0_REF>, <&cru SRST_HDMITXHPD>; 2552 reset-names = "ref", "hdp"; 2553 power-domains = <&power RK3576_PD_VO0>; 2554 pinctrl-names = "default"; 2555 pinctrl-0 = <&hdmi_txm0_pins &hdmi_tx_scl &hdmi_tx_sda>; 2556 reg-io-width = <4>; 2557 rockchip,grf = <&sys_grf>; 2558 rockchip,vo1_grf = <&vo0_grf>; 2559 phys = <&hdptxphy_hdmi>; 2560 phy-names = "hdmi"; 2561 #sound-dai-cells = <0>; 2562 status = "disabled"; 2563 2564 ports { 2565 #address-cells = <1>; 2566 #size-cells = <0>; 2567 2568 hdmi_in: port@0 { 2569 reg = <0>; 2570 #address-cells = <1>; 2571 #size-cells = <0>; 2572 2573 hdmi_in_vp0: endpoint@0 { 2574 reg = <0>; 2575 remote-endpoint = <&vp0_out_hdmi>; 2576 status = "disabled"; 2577 }; 2578 2579 hdmi_in_vp1: endpoint@1 { 2580 reg = <1>; 2581 remote-endpoint = <&vp1_out_hdmi>; 2582 status = "disabled"; 2583 }; 2584 2585 hdmi_in_vp2: endpoint@2 { 2586 reg = <2>; 2587 remote-endpoint = <&vp2_out_hdmi>; 2588 status = "disabled"; 2589 }; 2590 2591 hdmi_in_vopl: endpoint@3 { 2592 reg = <3>; 2593 remote-endpoint = <&vopl_out_hdmi>; 2594 status = "disabled"; 2595 }; 2596 }; 2597 }; 2598 }; 2599 2600 edp: edp@27dc0000 { 2601 compatible = "rockchip,rk3576-edp"; 2602 reg = <0x0 0x27dc0000 0x0 0x1000>; 2603 interrupts = <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>; 2604 clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, 2605 <&cru CLK_EDP0_200M>, <&hclk_vo0>; 2606 clock-names = "dp", "pclk", "spdif", "hclk"; 2607 resets = <&cru SRST_EDP0_24M>, <&cru SRST_P_EDP0>; 2608 reset-names = "dp", "apb"; 2609 phys = <&hdptxphy>; 2610 phy-names = "dp"; 2611 power-domains = <&power RK3576_PD_VO0>; 2612 rockchip,grf = <&vo0_grf>; 2613 status = "disabled"; 2614 2615 ports { 2616 #address-cells = <1>; 2617 #size-cells = <0>; 2618 2619 port@0 { 2620 reg = <0>; 2621 #address-cells = <1>; 2622 #size-cells = <0>; 2623 2624 edp_in_vp0: endpoint@0 { 2625 reg = <0>; 2626 remote-endpoint = <&vp0_out_edp>; 2627 status = "disabled"; 2628 }; 2629 2630 edp_in_vp1: endpoint@1 { 2631 reg = <1>; 2632 remote-endpoint = <&vp1_out_edp>; 2633 status = "disabled"; 2634 }; 2635 2636 edp_in_vp2: endpoint@2 { 2637 reg = <2>; 2638 remote-endpoint = <&vp2_out_edp>; 2639 status = "disabled"; 2640 }; 2641 2642 edp_in_vopl: endpoint@3 { 2643 reg = <3>; 2644 remote-endpoint = <&vopl_out_edp>; 2645 status = "disabled"; 2646 }; 2647 }; 2648 }; 2649 }; 2650 2651 dp: dp@27e40000 { 2652 compatible = "rockchip,rk3576-dp"; 2653 reg = <0x0 0x27e40000 0x0 0x30000>; 2654 interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; 2655 clocks = <&cru PCLK_DP0>, <&cru CLK_AUX16MHZ_0>, 2656 <&cru ACLK_DP0>; 2657 clock-names = "apb", "aux", "hdcp"; 2658 assigned-clocks = <&cru CLK_AUX16MHZ_0>; 2659 assigned-clock-rates = <16000000>; 2660 resets = <&cru SRST_DP0>; 2661 phys = <&usbdp_phy_dp>; 2662 power-domains = <&power RK3576_PD_VO1>; 2663 status = "disabled"; 2664 2665 dp0: dp0 { 2666 ports { 2667 #address-cells = <1>; 2668 #size-cells = <0>; 2669 2670 port@0 { 2671 reg = <0>; 2672 #address-cells = <1>; 2673 #size-cells = <0>; 2674 2675 dp0_in_vp0: endpoint@0 { 2676 reg = <0>; 2677 remote-endpoint = <&vp0_out_dp0>; 2678 status = "disabled"; 2679 }; 2680 2681 dp0_in_vp1: endpoint@1 { 2682 reg = <1>; 2683 remote-endpoint = <&vp1_out_dp0>; 2684 status = "disabled"; 2685 }; 2686 2687 dp0_in_vp2: endpoint@2 { 2688 reg = <2>; 2689 remote-endpoint = <&vp2_out_dp0>; 2690 status = "disabled"; 2691 }; 2692 }; 2693 }; 2694 }; 2695 2696 dp1: dp1 { 2697 ports { 2698 #address-cells = <1>; 2699 #size-cells = <0>; 2700 2701 port@0 { 2702 reg = <0>; 2703 #address-cells = <1>; 2704 #size-cells = <0>; 2705 2706 dp1_in_vp0: endpoint@0 { 2707 reg = <0>; 2708 remote-endpoint = <&vp0_out_dp1>; 2709 status = "disabled"; 2710 }; 2711 2712 dp1_in_vp1: endpoint@1 { 2713 reg = <1>; 2714 remote-endpoint = <&vp1_out_dp1>; 2715 status = "disabled"; 2716 }; 2717 2718 dp1_in_vp2: endpoint@2 { 2719 reg = <2>; 2720 remote-endpoint = <&vp2_out_dp1>; 2721 status = "disabled"; 2722 }; 2723 }; 2724 }; 2725 }; 2726 2727 dp2: dp2 { 2728 ports { 2729 #address-cells = <1>; 2730 #size-cells = <0>; 2731 port@0 { 2732 reg = <0>; 2733 #address-cells = <1>; 2734 #size-cells = <0>; 2735 2736 dp2_in_vp0: endpoint@0 { 2737 reg = <0>; 2738 remote-endpoint = <&vp0_out_dp2>; 2739 status = "disabled"; 2740 }; 2741 2742 dp2_in_vp1: endpoint@1 { 2743 reg = <1>; 2744 remote-endpoint = <&vp1_out_dp2>; 2745 status = "disabled"; 2746 }; 2747 2748 dp2_in_vp2: endpoint@2 { 2749 reg = <2>; 2750 remote-endpoint = <&vp2_out_dp2>; 2751 status = "disabled"; 2752 }; 2753 }; 2754 }; 2755 }; 2756 }; 2757 2758 hdcp1: hdcp@27e70000 { 2759 compatible = "rockchip,rk3576-hdcp"; 2760 reg = <0x0 0x27e70000 0x0 0x80>; 2761 interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>; 2762 clocks = <&aclk_hdcp1>, <&cru PCLK_HDCP1>, 2763 <&cru HCLK_HDCP1>, <&scmi_clk HCLK_HDCP_KEY1>, 2764 <&scmi_clk PCLK_HDCP1_TRNG>; 2765 clock-names = "aclk", "pclk", "hclk", "hclk_key", "pclk_trng"; 2766 resets = <&cru SRST_HDCP1>, <&cru SRST_H_HDCP1>, 2767 <&cru SRST_A_HDCP1>; 2768 reset-names = "hdcp", "h_hdcp", "a_hdcp"; 2769 power-domains = <&power RK3576_PD_VO1>; 2770 rockchip,vo-grf = <&vo1_grf>; 2771 status = "disabled"; 2772 }; 2773 2774 spdif_tx3: spdif-tx@27ea0000 { 2775 compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 2776 reg = <0x0 0x27ea0000 0x0 0x1000>; 2777 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; 2778 clocks = <&cru MCLK_SPDIF_TX3>, <&cru HCLK_SPDIF_TX3>; 2779 clock-names = "mclk", "hclk"; 2780 dmas = <&dmac2 29>; 2781 dma-names = "tx"; 2782 power-domains = <&power RK3576_PD_VO1>; 2783 #sound-dai-cells = <0>; 2784 status = "disabled"; 2785 }; 2786 2787 spdif_tx4: spdif-tx@27eb0000 { 2788 compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 2789 reg = <0x0 0x27eb0000 0x0 0x1000>; 2790 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 2791 clocks = <&cru MCLK_SPDIF_TX4>, <&cru HCLK_SPDIF_TX4>; 2792 clock-names = "mclk", "hclk"; 2793 dmas = <&dmac1 6>; 2794 dma-names = "tx"; 2795 power-domains = <&power RK3576_PD_VO1>; 2796 #sound-dai-cells = <0>; 2797 status = "disabled"; 2798 }; 2799 2800 spdif_tx5: spdif-tx@27ec0000 { 2801 compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 2802 reg = <0x0 0x27ec0000 0x0 0x1000>; 2803 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 2804 clocks = <&cru MCLK_SPDIF_TX5>, <&cru HCLK_SPDIF_TX5>; 2805 clock-names = "mclk", "hclk"; 2806 dmas = <&dmac0 25>; 2807 dma-names = "tx"; 2808 power-domains = <&power RK3576_PD_VO1>; 2809 #sound-dai-cells = <0>; 2810 status = "disabled"; 2811 }; 2812 2813 sai7: sai@27ed0000 { 2814 compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 2815 reg = <0x0 0x27ed0000 0x0 0x1000>; 2816 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; 2817 clocks = <&cru MCLK_SAI7_8CH>, <&cru HCLK_SAI7_8CH>; 2818 clock-names = "mclk", "hclk"; 2819 dmas = <&dmac2 19>; 2820 dma-names = "tx"; 2821 power-domains = <&power RK3576_PD_VO1>; 2822 resets = <&cru SRST_M_SAI7_8CH>, <&cru SRST_H_SAI7_8CH>; 2823 reset-names = "m", "h"; 2824 #sound-dai-cells = <0>; 2825 sound-name-prefix = "SAI7"; 2826 status = "disabled"; 2827 }; 2828 2829 sai8: sai@27ee0000 { 2830 compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 2831 reg = <0x0 0x27ee0000 0x0 0x1000>; 2832 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>; 2833 clocks = <&cru MCLK_SAI8_8CH>, <&cru HCLK_SAI8_8CH>; 2834 clock-names = "mclk", "hclk"; 2835 dmas = <&dmac1 7>; 2836 dma-names = "tx"; 2837 power-domains = <&power RK3576_PD_VO1>; 2838 resets = <&cru SRST_M_SAI8_8CH>, <&cru SRST_H_SAI8_8CH>; 2839 reset-names = "m", "h"; 2840 #sound-dai-cells = <0>; 2841 sound-name-prefix = "SAI8"; 2842 status = "disabled"; 2843 }; 2844 2845 sai9: sai@27ef0000 { 2846 compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 2847 reg = <0x0 0x27ef0000 0x0 0x1000>; 2848 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>; 2849 clocks = <&cru MCLK_SAI9_8CH>, <&cru HCLK_SAI9_8CH>; 2850 clock-names = "mclk", "hclk"; 2851 dmas = <&dmac0 26>; 2852 dma-names = "tx"; 2853 power-domains = <&power RK3576_PD_VO1>; 2854 resets = <&cru SRST_M_SAI9_8CH>, <&cru SRST_H_SAI9_8CH>; 2855 reset-names = "m", "h"; 2856 #sound-dai-cells = <0>; 2857 sound-name-prefix = "SAI9"; 2858 status = "disabled"; 2859 }; 2860 2861 pcie0: pcie@2a200000 { 2862 compatible = "rockchip,rk3576-pcie", "snps,dw-pcie"; 2863 #address-cells = <3>; 2864 #size-cells = <2>; 2865 bus-range = <0x0 0xf>; 2866 clocks = <&cru ACLK_PCIE0_MST>, <&cru ACLK_PCIE0_SLV>, 2867 <&cru ACLK_PCIE0_DBI>, <&cru PCLK_PCIE0>, 2868 <&cru CLK_PCIE0_AUX>; 2869 clock-names = "aclk_mst", "aclk_slv", 2870 "aclk_dbi", "pclk", 2871 "aux"; 2872 device_type = "pci"; 2873 interrupts = <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>, 2874 <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>, 2875 <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, 2876 <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>, 2877 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>, 2878 <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>; 2879 interrupt-names = "msi", "sys", "pmc", "msg", "legacy", "err"; 2880 #interrupt-cells = <1>; 2881 interrupt-map-mask = <0 0 0 7>; 2882 interrupt-map = <0 0 0 1 &pcie0_intc 0>, 2883 <0 0 0 2 &pcie0_intc 1>, 2884 <0 0 0 3 &pcie0_intc 2>, 2885 <0 0 0 4 &pcie0_intc 3>; 2886 linux,pci-domain = <0>; 2887 num-ib-windows = <8>; 2888 num-viewport = <8>; 2889 num-ob-windows = <2>; 2890 max-link-speed = <2>; 2891 num-lanes = <1>; 2892 phys = <&combphy0_ps PHY_TYPE_PCIE>; 2893 phy-names = "pcie-phy"; 2894 power-domains = <&power RK3576_PD_PHP>; 2895 ranges = <0x00000800 0x0 0x20000000 0x0 0x20000000 0x0 0x00100000 2896 0x81000000 0x0 0x20100000 0x0 0x20100000 0x0 0x00100000 2897 0x82000000 0x0 0x20200000 0x0 0x20200000 0x0 0x00e00000 2898 0x83000000 0x9 0x00000000 0x9 0x00000000 0x0 0x80000000>; 2899 reg = <0x0 0x2a200000 0x0 0x00010000>, 2900 <0x0 0x22000000 0x0 0x00400000>, 2901 <0x0 0x20000000 0x0 0x00100000>; 2902 reg-names = "pcie-apb", "pcie-dbi", "config"; 2903 resets = <&cru SRST_PCIE0_POWER_UP>, <&cru SRST_P_PCIE0>; 2904 reset-names = "pipe", "p_pcie0"; 2905 dma-coherent; 2906 status = "disabled"; 2907 2908 pcie0_intc: legacy-interrupt-controller { 2909 interrupt-controller; 2910 #address-cells = <0>; 2911 #interrupt-cells = <1>; 2912 interrupt-parent = <&gic>; 2913 interrupts = <GIC_SPI 280 IRQ_TYPE_EDGE_RISING>; 2914 }; 2915 }; 2916 2917 pcie1: pcie@2a210000 { 2918 compatible = "rockchip,rk3576-pcie", "snps,dw-pcie"; 2919 #address-cells = <3>; 2920 #size-cells = <2>; 2921 bus-range = <0x20 0x2f>; 2922 clocks = <&cru ACLK_PCIE1_MST>, <&cru ACLK_PCIE1_SLV>, 2923 <&cru ACLK_PCIE1_DBI>, <&cru PCLK_PCIE1>, 2924 <&cru CLK_PCIE1_AUX>; 2925 clock-names = "aclk_mst", "aclk_slv", 2926 "aclk_dbi", "pclk", 2927 "aux"; 2928 device_type = "pci"; 2929 interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, 2930 <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>, 2931 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, 2932 <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>, 2933 <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>, 2934 <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>; 2935 interrupt-names = "msi", "sys", "pmc", "msg", "legacy", "err"; 2936 #interrupt-cells = <1>; 2937 interrupt-map-mask = <0 0 0 7>; 2938 interrupt-map = <0 0 0 1 &pcie1_intc 0>, 2939 <0 0 0 2 &pcie1_intc 1>, 2940 <0 0 0 3 &pcie1_intc 2>, 2941 <0 0 0 4 &pcie1_intc 3>; 2942 linux,pci-domain = <0>; 2943 num-ib-windows = <8>; 2944 num-viewport = <8>; 2945 num-ob-windows = <2>; 2946 max-link-speed = <2>; 2947 num-lanes = <1>; 2948 phys = <&combphy1_psu PHY_TYPE_PCIE>; 2949 phy-names = "pcie-phy"; 2950 power-domains = <&power RK3576_PD_SUBPHP>; 2951 ranges = <0x00000800 0x0 0x21000000 0x0 0x21000000 0x0 0x00100000 2952 0x81000000 0x0 0x21100000 0x0 0x21100000 0x0 0x00100000 2953 0x82000000 0x0 0x21200000 0x0 0x21200000 0x0 0x00e00000 2954 0x83000000 0x9 0x80000000 0x9 0x80000000 0x0 0x80000000>; 2955 reg = <0x0 0x2a210000 0x0 0x00010000>, 2956 <0x0 0x22400000 0x0 0x00400000>, 2957 <0x0 0x21000000 0x0 0x00100000>; 2958 reg-names = "pcie-apb", "pcie-dbi", "config"; 2959 resets = <&cru SRST_PCIE1_POWER_UP>, <&cru SRST_P_PCIE1>; 2960 reset-names = "pipe", "p_pcie1"; 2961 dma-coherent; 2962 status = "disabled"; 2963 2964 pcie1_intc: legacy-interrupt-controller { 2965 interrupt-controller; 2966 #address-cells = <0>; 2967 #interrupt-cells = <1>; 2968 interrupt-parent = <&gic>; 2969 interrupts = <GIC_SPI 266 IRQ_TYPE_EDGE_RISING>; 2970 }; 2971 }; 2972 2973 gmac0: ethernet@2a220000 { 2974 compatible = "rockchip,rk3576-gmac", "snps,dwmac-4.20a"; 2975 reg = <0x0 0x2a220000 0x0 0x10000>; 2976 interrupts = <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>, 2977 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>; 2978 interrupt-names = "macirq", "eth_wake_irq"; 2979 rockchip,grf = <&sdgmac_grf>; 2980 rockchip,php_grf = <&ioc_grf>; 2981 clocks = <&cru CLK_GMAC0_125M_SRC>, <&cru CLK_GMAC0_RMII_CRU>, 2982 <&cru PCLK_GMAC0>, <&cru ACLK_GMAC0>, 2983 <&cru CLK_GMAC0_PTP_REF>; 2984 clock-names = "stmmaceth", "clk_mac_ref", 2985 "pclk_mac", "aclk_mac", 2986 "ptp_ref"; 2987 resets = <&cru SRST_A_GMAC0>; 2988 reset-names = "stmmaceth"; 2989 power-domains = <&power RK3576_PD_SDGMAC>; 2990 2991 snps,mixed-burst; 2992 snps,tso; 2993 2994 snps,axi-config = <&gmac0_stmmac_axi_setup>; 2995 snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; 2996 snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; 2997 status = "disabled"; 2998 2999 mdio0: mdio { 3000 compatible = "snps,dwmac-mdio"; 3001 #address-cells = <0x1>; 3002 #size-cells = <0x0>; 3003 }; 3004 3005 gmac0_stmmac_axi_setup: stmmac-axi-config { 3006 snps,wr_osr_lmt = <4>; 3007 snps,rd_osr_lmt = <8>; 3008 snps,blen = <0 0 0 0 16 8 4>; 3009 }; 3010 3011 gmac0_mtl_rx_setup: rx-queues-config { 3012 snps,rx-queues-to-use = <1>; 3013 queue0 {}; 3014 }; 3015 3016 gmac0_mtl_tx_setup: tx-queues-config { 3017 snps,tx-queues-to-use = <1>; 3018 queue0 {}; 3019 }; 3020 }; 3021 3022 gmac1: ethernet@2a230000 { 3023 compatible = "rockchip,rk3576-gmac", "snps,dwmac-4.20a"; 3024 reg = <0x0 0x2a230000 0x0 0x10000>; 3025 interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>, 3026 <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>; 3027 interrupt-names = "macirq", "eth_wake_irq"; 3028 rockchip,grf = <&sdgmac_grf>; 3029 rockchip,php_grf = <&ioc_grf>; 3030 clocks = <&cru CLK_GMAC1_125M_SRC>, <&cru CLK_GMAC1_RMII_CRU>, 3031 <&cru PCLK_GMAC1>, <&cru ACLK_GMAC1>, 3032 <&cru CLK_GMAC1_PTP_REF>; 3033 clock-names = "stmmaceth", "clk_mac_ref", 3034 "pclk_mac", "aclk_mac", 3035 "ptp_ref"; 3036 resets = <&cru SRST_A_GMAC1>; 3037 reset-names = "stmmaceth"; 3038 power-domains = <&power RK3576_PD_SDGMAC>; 3039 3040 snps,mixed-burst; 3041 snps,tso; 3042 3043 snps,axi-config = <&gmac1_stmmac_axi_setup>; 3044 snps,mtl-rx-config = <&gmac1_mtl_rx_setup>; 3045 snps,mtl-tx-config = <&gmac1_mtl_tx_setup>; 3046 status = "disabled"; 3047 3048 mdio1: mdio { 3049 compatible = "snps,dwmac-mdio"; 3050 #address-cells = <0x1>; 3051 #size-cells = <0x0>; 3052 }; 3053 3054 gmac1_stmmac_axi_setup: stmmac-axi-config { 3055 snps,wr_osr_lmt = <4>; 3056 snps,rd_osr_lmt = <8>; 3057 snps,blen = <0 0 0 0 16 8 4>; 3058 }; 3059 3060 gmac1_mtl_rx_setup: rx-queues-config { 3061 snps,rx-queues-to-use = <1>; 3062 queue0 {}; 3063 }; 3064 3065 gmac1_mtl_tx_setup: tx-queues-config { 3066 snps,tx-queues-to-use = <1>; 3067 queue0 {}; 3068 }; 3069 }; 3070 3071 sata0: sata@2a240000 { 3072 compatible = "rockchip,rk-ahci", "snps,dwc-ahci"; 3073 reg = <0 0x2a240000 0 0x1000>; 3074 clocks = <&cru ACLK_SATA0>, <&cru CLK_PMALIVE0>, 3075 <&cru CLK_RXOOB0>; 3076 clock-names = "sata", "pmalive", "rxoob"; 3077 interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>; 3078 interrupt-names = "hostc"; 3079 power-domains = <&power RK3576_PD_SUBPHP>; 3080 phys = <&combphy0_ps PHY_TYPE_SATA>; 3081 phy-names = "sata-phy"; 3082 ports-implemented = <0x1>; 3083 status = "disabled"; 3084 }; 3085 3086 sata1: sata@2a250000 { 3087 compatible = "rockchip,rk-ahci", "snps,dwc-ahci"; 3088 reg = <0 0x2a250000 0 0x1000>; 3089 clocks = <&cru ACLK_SATA1>, <&cru CLK_PMALIVE1>, 3090 <&cru CLK_RXOOB1>; 3091 clock-names = "sata", "pmalive", "rxoob"; 3092 interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>; 3093 interrupt-names = "hostc"; 3094 power-domains = <&power RK3576_PD_SUBPHP>; 3095 phys = <&combphy1_psu PHY_TYPE_SATA>; 3096 phy-names = "sata-phy"; 3097 ports-implemented = <0x1>; 3098 status = "disabled"; 3099 }; 3100 3101 mmu0: iommu@2a260000 { 3102 compatible = "rockchip,iommu-v2"; 3103 reg = <0x0 0x2a260000 0x0 0x100>; 3104 interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>; 3105 interrupt-names = "mmu0"; 3106 clocks = <&cru ACLK_MMU0>, <&cru ACLK_SLV_MMU0>, <&cru PCLK_PHP_ROOT>; 3107 clock-names = "aclk", "iface", "root"; 3108 power-domains = <&power RK3576_PD_PHP>; 3109 #iommu-cells = <0>; 3110 status = "disabled"; 3111 }; 3112 3113 mmu1: iommu@2a270000 { 3114 compatible = "rockchip,iommu-v2"; 3115 reg = <0x0 0x2a270000 0x0 0x100>; 3116 interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>; 3117 interrupt-names = "mmu1"; 3118 clocks = <&cru ACLK_MMU1>, <&cru ACLK_SLV_MMU1>, <&cru PCLK_PHP_ROOT>; 3119 clock-names = "aclk", "iface", "root"; 3120 power-domains = <&power RK3576_PD_PHP>; 3121 #iommu-cells = <0>; 3122 status = "disabled"; 3123 }; 3124 3125 mmu2: iommu@2a2c0000 { 3126 compatible = "rockchip,iommu-v2"; 3127 reg = <0x0 0x2a2c0000 0x0 0x100>; 3128 interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>; 3129 interrupt-names = "mmu2"; 3130 clocks = <&cru ACLK_MMU2>, <&cru ACLK_SLV_MMU2>, <&cru PCLK_USB_ROOT>; 3131 clock-names = "aclk", "iface", "root"; 3132 power-domains = <&power RK3576_PD_USB>; 3133 #iommu-cells = <0>; 3134 status = "disabled"; 3135 }; 3136 3137 ufs: ufs@2a2d0000 { 3138 compatible = "rockchip,rk3576-ufs"; 3139 reg = <0x0 0x2a2d0000 0 0x10000>, /* 0: HCI standard */ 3140 <0x0 0x2b040000 0 0x10000>, /* 1: Mphy */ 3141 <0x0 0x2601f000 0 0x1000>, /* 2: HCI Vendor specified */ 3142 <0x0 0x2603c000 0 0x1000>, /* 3: Mphy Vendor specified */ 3143 <0x0 0x2a2e0000 0 0x10000>; /* 4: HCI apb */ 3144 reg-names = "hci", "mphy", "hci_grf", "mphy_grf", "hci_apb"; 3145 clocks = <&cru ACLK_UFS_SYS>, <&cru PCLK_USB_ROOT>, <&cru PCLK_MPHY>, 3146 <&cru CLK_REF_UFS_CLKOUT>; 3147 clock-names = "core", "pclk", "pclk_mphy", 3148 "ref_out"; 3149 assigned-clocks = <&cru CLK_REF_OSC_MPHY>; 3150 assigned-clock-parents = <&cru CLK_REF_MPHY_26M>; 3151 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>; 3152 power-domains = <&power RK3576_PD_USB>; 3153 pinctrl-0 = <&ufs_rst &ufs_refclk>; 3154 pinctrl-names = "default"; 3155 resets = <&cru SRST_A_UFS_BIU>, <&cru SRST_A_UFS_SYS>, <&cru SRST_A_UFS>, <&cru SRST_P_UFS_GRF>; 3156 reset-names = "biu", "sys", "ufs", "grf"; 3157 status = "disabled"; 3158 }; 3159 3160 sfc1: spi@2a300000 { 3161 compatible = "rockchip,sfc"; 3162 reg = <0x0 0x2a300000 0x0 0x4000>; 3163 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>; 3164 clocks = <&cru SCLK_FSPI1_X2>, <&cru HCLK_FSPI1>; 3165 clock-names = "clk_sfc", "hclk_sfc"; 3166 assigned-clocks = <&cru SCLK_FSPI1_X2>; 3167 assigned-clock-rates = <80000000>; 3168 rockchip,max-dll = <0xFF>; 3169 #address-cells = <1>; 3170 #size-cells = <0>; 3171 status = "disabled"; 3172 }; 3173 3174 sdmmc: mmc@2a310000 { 3175 compatible = "rockchip,rk3576-dw-mshc", 3176 "rockchip,rk3288-dw-mshc"; 3177 reg = <0x0 0x2a310000 0x0 0x4000>; 3178 interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>; 3179 max-frequency = <200000000>; 3180 clocks = <&cru HCLK_SDMMC0>, <&cru CCLK_SRC_SDMMC0>; 3181 clock-names = "biu", "ciu"; 3182 fifo-depth = <0x100>; 3183 resets = <&cru SRST_H_SDMMC0>; 3184 reset-names = "reset"; 3185 rockchip,use-v2-tuning; 3186 status = "disabled"; 3187 }; 3188 3189 sdio: mmc@2a320000 { 3190 compatible = "rockchip,rk3576-dw-mshc", 3191 "rockchip,rk3288-dw-mshc"; 3192 reg = <0x0 0x2a320000 0x0 0x4000>; 3193 interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>; 3194 max-frequency = <200000000>; 3195 clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>; 3196 clock-names = "biu", "ciu"; 3197 fifo-depth = <0x100>; 3198 pinctrl-names = "default"; 3199 pinctrl-0 = <&sdmmc1m0_clk &sdmmc1m0_cmd &sdmmc1m0_bus4>; 3200 resets = <&cru SRST_H_SDIO>; 3201 reset-names = "reset"; 3202 rockchip,use-v2-tuning; 3203 status = "disabled"; 3204 }; 3205 3206 sdhci: mmc@2a330000 { 3207 compatible = "rockchip,rk3576-dwcmshc", "rockchip,rk3588-dwcmshc"; 3208 reg = <0x0 0x2a330000 0x0 0x10000>; 3209 interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>; 3210 assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>, <&cru CCLK_SRC_EMMC>; 3211 assigned-clock-rates = <200000000>, <24000000>, <200000000>; 3212 clocks = <&cru CCLK_SRC_EMMC>, <&cru HCLK_EMMC>, 3213 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>, 3214 <&cru TCLK_EMMC>; 3215 clock-names = "core", "bus", "axi", "block", "timer"; 3216 resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>, 3217 <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>, 3218 <&cru SRST_T_EMMC>; 3219 reset-names = "core", "bus", "axi", "block", "timer"; 3220 max-frequency = <200000000>; 3221 status = "disabled"; 3222 }; 3223 3224 sfc0: spi@2a340000 { 3225 compatible = "rockchip,sfc"; 3226 reg = <0x0 0x2a340000 0x0 0x4000>; 3227 interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>; 3228 clocks = <&cru SCLK_FSPI_X2>, <&cru HCLK_FSPI>; 3229 clock-names = "clk_sfc", "hclk_sfc"; 3230 assigned-clocks = <&cru SCLK_FSPI_X2>; 3231 assigned-clock-rates = <80000000>; 3232 rockchip,max-dll = <0xFF>; 3233 #address-cells = <1>; 3234 #size-cells = <0>; 3235 status = "disabled"; 3236 }; 3237 3238 crypto: crypto@2a400000 { 3239 compatible = "rockchip,crypto-v4"; 3240 reg = <0x0 0x2a400000 0x0 0x2000>; 3241 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; 3242 clocks = <&cru ACLK_CRYPTO_NS>, <&cru HCLK_CRYPTO_NS>, 3243 <&cru CLK_PKA_CRYPTO_NS>; 3244 clock-names = "aclk", "hclk", "pka"; 3245 assigned-clocks = <&cru ACLK_CRYPTO_NS>, <&cru CLK_PKA_CRYPTO_NS>; 3246 assigned-clock-rates = <300000000>, <300000000>; 3247 resets = <&cru SRST_H_CRYPTO_NS>; 3248 reset-names = "crypto-rst"; 3249 status = "disabled"; 3250 }; 3251 3252 rng: rng@2a410000 { 3253 compatible = "rockchip,rkrng"; 3254 reg = <0x0 0x2a410000 0x0 0x200>; 3255 interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>; 3256 clocks = <&cru HCLK_TRNG_NS>; 3257 clock-names = "hclk_trng"; 3258 resets = <&cru SRST_H_TRNG_NS>; 3259 reset-names = "reset"; 3260 status = "disabled"; 3261 }; 3262 3263 otp: otp@2a580000 { 3264 compatible = "rockchip,rk3576-otp"; 3265 reg = <0x0 0x2a580000 0x0 0x400>; 3266 #address-cells = <1>; 3267 #size-cells = <1>; 3268 clocks = <&cru CLK_OTPC_NS>, <&cru PCLK_OTPC_NS>; 3269 clock-names = "otpc", "apb"; 3270 resets = <&cru SRST_OTPC_NS>, <&cru SRST_P_OTPC_NS>; 3271 reset-names = "otpc", "apb"; 3272 3273 /* Data cells */ 3274 cpu_code: cpu-code@2 { 3275 reg = <0x02 0x2>; 3276 }; 3277 otp_cpu_version: cpu-version@5 { 3278 reg = <0x05 0x1>; 3279 bits = <3 3>; 3280 }; 3281 otp_id: id@a { 3282 reg = <0x0a 0x10>; 3283 }; 3284 cpub_leakage: cpub-leakage@1e { 3285 reg = <0x1e 0x1>; 3286 }; 3287 cpul_leakage: cpul-leakage@1f { 3288 reg = <0x1f 0x1>; 3289 }; 3290 npu_leakage: npu-leakage@20 { 3291 reg = <0x20 0x1>; 3292 }; 3293 gpu_leakage: gpu-leakage@21 { 3294 reg = <0x21 0x1>; 3295 }; 3296 log_leakage: log-leakage@22 { 3297 reg = <0x22 0x1>; 3298 }; 3299 }; 3300 3301 sai0: sai@2a600000 { 3302 compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 3303 reg = <0x0 0x2a600000 0x0 0x1000>; 3304 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 3305 clocks = <&cru MCLK_SAI0_8CH>, <&cru HCLK_SAI0_8CH>; 3306 clock-names = "mclk", "hclk"; 3307 dmas = <&dmac0 0>, <&dmac0 1>; 3308 dma-names = "tx", "rx"; 3309 power-domains = <&power RK3576_PD_AUDIO>; 3310 resets = <&cru SRST_M_SAI0_8CH>, <&cru SRST_H_SAI0_8CH>; 3311 reset-names = "m", "h"; 3312 pinctrl-names = "default"; 3313 pinctrl-0 = <&sai0m0_lrck 3314 &sai0m0_sclk 3315 &sai0m0_sdi0 3316 &sai0m0_sdi1 3317 &sai0m0_sdi2 3318 &sai0m0_sdi3 3319 &sai0m0_sdo0 3320 &sai0m0_sdo1 3321 &sai0m0_sdo2 3322 &sai0m0_sdo3>; 3323 #sound-dai-cells = <0>; 3324 sound-name-prefix = "SAI0"; 3325 status = "disabled"; 3326 }; 3327 3328 sai1: sai@2a610000 { 3329 compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 3330 reg = <0x0 0x2a610000 0x0 0x1000>; 3331 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 3332 clocks = <&cru MCLK_SAI1_8CH>, <&cru HCLK_SAI1_8CH>; 3333 clock-names = "mclk", "hclk"; 3334 dmas = <&dmac0 2>, <&dmac0 3>; 3335 dma-names = "tx", "rx"; 3336 power-domains = <&power RK3576_PD_AUDIO>; 3337 resets = <&cru SRST_M_SAI1_8CH>, <&cru SRST_H_SAI1_8CH>; 3338 reset-names = "m", "h"; 3339 pinctrl-names = "default"; 3340 pinctrl-0 = <&sai1m0_lrck 3341 &sai1m0_sclk 3342 &sai1m0_sdi0 3343 &sai1m0_sdo0 3344 &sai1m0_sdo1 3345 &sai1m0_sdo2 3346 &sai1m0_sdo3>; 3347 #sound-dai-cells = <0>; 3348 sound-name-prefix = "SAI1"; 3349 status = "disabled"; 3350 }; 3351 3352 sai2: sai@2a620000 { 3353 compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 3354 reg = <0x0 0x2a620000 0x0 0x1000>; 3355 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 3356 clocks = <&cru MCLK_SAI2_2CH>, <&cru HCLK_SAI2_2CH>; 3357 clock-names = "mclk", "hclk"; 3358 dmas = <&dmac1 0>, <&dmac1 1>; 3359 dma-names = "tx", "rx"; 3360 power-domains = <&power RK3576_PD_AUDIO>; 3361 resets = <&cru SRST_M_SAI2_2CH>, <&cru SRST_H_SAI2_2CH>; 3362 reset-names = "m", "h"; 3363 pinctrl-names = "default"; 3364 pinctrl-0 = <&sai2m0_lrck 3365 &sai2m0_sclk 3366 &sai2m0_sdi 3367 &sai2m0_sdo>; 3368 #sound-dai-cells = <0>; 3369 sound-name-prefix = "SAI2"; 3370 status = "disabled"; 3371 }; 3372 3373 sai3: sai@2a630000 { 3374 compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 3375 reg = <0x0 0x2a630000 0x0 0x1000>; 3376 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 3377 clocks = <&cru MCLK_SAI3_2CH>, <&cru HCLK_SAI3_2CH>; 3378 clock-names = "mclk", "hclk"; 3379 dmas = <&dmac1 2>, <&dmac1 3>; 3380 dma-names = "tx", "rx"; 3381 power-domains = <&power RK3576_PD_AUDIO>; 3382 resets = <&cru SRST_M_SAI3_2CH>, <&cru SRST_H_SAI3_2CH>; 3383 reset-names = "m", "h"; 3384 pinctrl-names = "default"; 3385 pinctrl-0 = <&sai3m0_lrck 3386 &sai3m0_sclk 3387 &sai3m0_sdi 3388 &sai3m0_sdo>; 3389 #sound-dai-cells = <0>; 3390 sound-name-prefix = "SAI3"; 3391 status = "disabled"; 3392 }; 3393 3394 sai4: sai@2a640000 { 3395 compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 3396 reg = <0x0 0x2a640000 0x0 0x1000>; 3397 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; 3398 clocks = <&cru MCLK_SAI4_2CH>, <&cru HCLK_SAI4_2CH>; 3399 clock-names = "mclk", "hclk"; 3400 dmas = <&dmac2 0>, <&dmac2 1>; 3401 dma-names = "tx", "rx"; 3402 power-domains = <&power RK3576_PD_AUDIO>; 3403 resets = <&cru SRST_M_SAI4_2CH>, <&cru SRST_H_SAI4_2CH>; 3404 reset-names = "m", "h"; 3405 pinctrl-names = "default"; 3406 pinctrl-0 = <&sai4m0_lrck 3407 &sai4m0_sclk 3408 &sai4m0_sdi 3409 &sai4m0_sdo>; 3410 #sound-dai-cells = <0>; 3411 sound-name-prefix = "SAI4"; 3412 status = "disabled"; 3413 }; 3414 3415 spdif_rx0: spdif-rx@2a650000 { 3416 compatible = "rockchip,rk3576-spdifrx", "rockchip,rk3308-spdifrx"; 3417 reg = <0x0 0x2a650000 0x0 0x1000>; 3418 interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; 3419 clocks = <&cru MCLK_SPDIF_RX0>, <&cru HCLK_SPDIF_RX0>; 3420 clock-names = "mclk", "hclk"; 3421 dmas = <&dmac1 8>; 3422 dma-names = "rx"; 3423 power-domains = <&power RK3576_PD_AUDIO>; 3424 resets = <&cru SRST_M_SPDIF_RX0>; 3425 reset-names = "spdifrx-m"; 3426 pinctrl-names = "default"; 3427 pinctrl-0 = <&spdifm0_rx0>; 3428 status = "disabled"; 3429 }; 3430 3431 spdif_rx1: spdif-rx@2a660000 { 3432 compatible = "rockchip,rk3576-spdifrx", "rockchip,rk3308-spdifrx"; 3433 reg = <0x0 0x2a660000 0x0 0x1000>; 3434 interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; 3435 clocks = <&cru MCLK_SPDIF_RX1>, <&cru HCLK_SPDIF_RX1>; 3436 clock-names = "mclk", "hclk"; 3437 dmas = <&dmac2 16>; 3438 dma-names = "rx"; 3439 power-domains = <&power RK3576_PD_AUDIO>; 3440 resets = <&cru SRST_M_SPDIF_RX1>; 3441 reset-names = "spdifrx-m"; 3442 pinctrl-names = "default"; 3443 pinctrl-0 = <&spdifm0_rx1>; 3444 status = "disabled"; 3445 }; 3446 3447 spdif_tx0: spdif-tx@2a670000 { 3448 compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 3449 reg = <0x0 0x2a670000 0x0 0x1000>; 3450 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; 3451 clocks = <&cru MCLK_SPDIF_TX0>, <&cru HCLK_SPDIF_TX0>; 3452 clock-names = "mclk", "hclk"; 3453 dmas = <&dmac0 5>; 3454 dma-names = "tx"; 3455 power-domains = <&power RK3576_PD_AUDIO>; 3456 pinctrl-names = "default"; 3457 pinctrl-0 = <&spdifm0_tx0>; 3458 #sound-dai-cells = <0>; 3459 status = "disabled"; 3460 }; 3461 3462 spdif_tx1: spdif-tx@2a680000 { 3463 compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 3464 reg = <0x0 0x2a680000 0x0 0x1000>; 3465 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; 3466 clocks = <&cru MCLK_SPDIF_TX1>, <&cru HCLK_SPDIF_TX1>; 3467 clock-names = "mclk", "hclk"; 3468 dmas = <&dmac1 5>; 3469 dma-names = "tx"; 3470 power-domains = <&power RK3576_PD_AUDIO>; 3471 pinctrl-names = "default"; 3472 pinctrl-0 = <&spdifm0_tx1>; 3473 #sound-dai-cells = <0>; 3474 status = "disabled"; 3475 }; 3476 3477 acdcdig_dsm: acdcdig-dsm@2a6d0000 { 3478 compatible = "rockchip,rk3576-dsm"; 3479 reg = <0x0 0x2a6d0000 0x0 0x1000>; 3480 clocks = <&cru MCLK_ACDCDIG_DSM>, <&cru HCLK_ACDCDIG_DSM>; 3481 clock-names = "dac", "pclk"; 3482 resets = <&cru SRST_M_ACDCDIG_DSM>; 3483 reset-names = "reset" ; 3484 rockchip,grf = <&sys_grf>; 3485 power-domains = <&power RK3576_PD_AUDIO>; 3486 pinctrl-names = "default"; 3487 pinctrl-0 = <&dsm_audm0_ln 3488 &dsm_audm0_lp 3489 &dsm_audm0_rn 3490 &dsm_audm0_rp>; 3491 #sound-dai-cells = <0>; 3492 status = "disabled"; 3493 }; 3494 3495 pdm1: pdm@2a6e0000 { 3496 compatible = "rockchip,rk3576-pdm"; 3497 reg = <0x0 0x2a6e0000 0x0 0x1000>; 3498 interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; 3499 clocks = <&cru MCLK_PDM1>, <&cru HCLK_PDM1>, <&cru CLK_PDM1_OUT>; 3500 clock-names = "pdm_clk", "pdm_hclk", "pdm_clk_out"; 3501 assigned-clocks = <&cru MCLK_PDM1>; 3502 assigned-clock-parents = <&cru PLL_AUPLL>; 3503 dmas = <&dmac1 4>; 3504 dma-names = "rx"; 3505 pinctrl-names = "default"; 3506 pinctrl-0 = <&pdm1m0_clk0 3507 &pdm1m0_clk1 3508 &pdm1m0_sdi0 3509 &pdm1m0_sdi1 3510 &pdm1m0_sdi2 3511 &pdm1m0_sdi3>; 3512 power-domains = <&power RK3576_PD_AUDIO>; 3513 #sound-dai-cells = <0>; 3514 sound-name-prefix = "PDM1"; 3515 status = "disabled"; 3516 }; 3517 3518 gic: interrupt-controller@2a701000 { 3519 compatible = "arm,gic-400"; 3520 #interrupt-cells = <3>; 3521 #address-cells = <2>; 3522 #size-cells = <2>; 3523 ranges; 3524 interrupt-controller; 3525 3526 reg = <0x0 0x2a701000 0 0x10000>, 3527 <0x0 0x2a702000 0 0x10000>, 3528 <0x0 0x2a704000 0 0x10000>, 3529 <0x0 0x2a706000 0 0x10000>; 3530 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 3531 }; 3532 3533 hwlock: hwspinlock@2ab00000 { 3534 compatible = "rockchip,hwspinlock"; 3535 reg = <0x0 0x2ab00000 0x0 0x100>; 3536 #hwlock-cells = <1>; 3537 status = "disabled"; 3538 }; 3539 3540 dmac0: dma-controller@2ab90000 { 3541 compatible = "arm,pl330", "arm,primecell"; 3542 reg = <0x0 0x2ab90000 0x0 0x4000>; 3543 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 3544 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 3545 clocks = <&cru ACLK_DMAC0>; 3546 clock-names = "apb_pclk"; 3547 #dma-cells = <1>; 3548 arm,pl330-periph-burst; 3549 }; 3550 3551 dmac1: dma-controller@2abb0000 { 3552 compatible = "arm,pl330", "arm,primecell"; 3553 reg = <0x0 0x2abb0000 0x0 0x4000>; 3554 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 3555 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 3556 clocks = <&cru ACLK_DMAC1>; 3557 clock-names = "apb_pclk"; 3558 #dma-cells = <1>; 3559 arm,pl330-periph-burst; 3560 }; 3561 3562 dmac2: dma-controller@2abd0000 { 3563 compatible = "arm,pl330", "arm,primecell"; 3564 reg = <0x0 0x2abd0000 0x0 0x4000>; 3565 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 3566 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 3567 clocks = <&cru ACLK_DMAC2>; 3568 clock-names = "apb_pclk"; 3569 #dma-cells = <1>; 3570 arm,pl330-periph-burst; 3571 }; 3572 3573 i3c0: i3c-master@2abe0000 { 3574 compatible = "rockchip,i3c-master"; 3575 reg = <0x0 0x2abe0000 0x0 0x1000>; 3576 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 3577 #address-cells = <3>; 3578 #size-cells = <0>; 3579 clocks = <&cru HCLK_I3C0>, <&cru CLK_I3C0>; 3580 clock-names = "hclk", "i3c"; 3581 dmas = <&dmac0 22>, <&dmac0 23>; 3582 dma-names = "rx", "tx"; 3583 pinctrl-names = "default"; 3584 pinctrl-0 = <&i3c0m0_xfer &i3c0_sdam0_pu>; 3585 status = "disabled"; 3586 }; 3587 3588 i3c1: i3c-master@2abf0000 { 3589 compatible = "rockchip,i3c-master"; 3590 reg = <0x0 0x2abf0000 0x0 0x1000>; 3591 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 3592 #address-cells = <3>; 3593 #size-cells = <0>; 3594 clocks = <&cru HCLK_I3C1>, <&cru CLK_I3C1>; 3595 clock-names = "hclk", "i3c"; 3596 dmas = <&dmac1 22>, <&dmac1 23>; 3597 dma-names = "rx", "tx"; 3598 pinctrl-names = "default"; 3599 pinctrl-0 = <&i3c1m0_xfer &i3c1_sdam0_pu>; 3600 status = "disabled"; 3601 }; 3602 3603 can0: can@2ac00000 { 3604 compatible = "rockchip,rk3576-canfd"; 3605 reg = <0x0 0x2ac00000 0x0 0x1000>; 3606 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 3607 clocks = <&cru CLK_CAN0>, <&cru HCLK_CAN0>; 3608 clock-names = "baudclk", "apb_pclk"; 3609 resets = <&cru SRST_CAN0>, <&cru SRST_H_CAN0>; 3610 reset-names = "can", "can-apb"; 3611 dmas = <&dmac0 20>; 3612 dma-names = "rx"; 3613 status = "disabled"; 3614 }; 3615 3616 can1: can@2ac10000 { 3617 compatible = "rockchip,rk3576-canfd"; 3618 reg = <0x0 0x2ac10000 0x0 0x1000>; 3619 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 3620 clocks = <&cru CLK_CAN1>, <&cru HCLK_CAN1>; 3621 clock-names = "baudclk", "apb_pclk"; 3622 resets = <&cru SRST_CAN1>, <&cru SRST_H_CAN1>; 3623 reset-names = "can", "can-apb"; 3624 dmas = <&dmac1 21>; 3625 dma-names = "rx"; 3626 status = "disabled"; 3627 }; 3628 3629 hw_decompress: decompress@2ac30000 { 3630 compatible = "rockchip,hw-decompress"; 3631 reg = <0x0 0x2ac30000 0x0 0x1000>; 3632 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 3633 clocks = <&cru ACLK_DECOM>, <&cru DCLK_DECOM>, <&cru PCLK_DECOM>; 3634 clock-names = "aclk", "dclk", "pclk"; 3635 resets = <&cru SRST_D_DECOM>; 3636 reset-names = "dresetn"; 3637 status = "disabled"; 3638 }; 3639 3640 i2c1: i2c@2ac40000 { 3641 compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3642 reg = <0x0 0x2ac40000 0x0 0x1000>; 3643 clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 3644 clock-names = "i2c", "pclk"; 3645 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 3646 pinctrl-names = "default"; 3647 pinctrl-0 = <&i2c1m0_xfer>; 3648 resets = <&cru SRST_I2C1>, <&cru SRST_P_I2C1>; 3649 reset-names = "i2c", "apb"; 3650 #address-cells = <1>; 3651 #size-cells = <0>; 3652 status = "disabled"; 3653 }; 3654 3655 i2c2: i2c@2ac50000 { 3656 compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3657 reg = <0x0 0x2ac50000 0x0 0x1000>; 3658 clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 3659 clock-names = "i2c", "pclk"; 3660 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 3661 pinctrl-names = "default"; 3662 pinctrl-0 = <&i2c2m0_xfer>; 3663 resets = <&cru SRST_I2C2>, <&cru SRST_P_I2C2>; 3664 reset-names = "i2c", "apb"; 3665 #address-cells = <1>; 3666 #size-cells = <0>; 3667 status = "disabled"; 3668 }; 3669 3670 i2c3: i2c@2ac60000 { 3671 compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3672 reg = <0x0 0x2ac60000 0x0 0x1000>; 3673 clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 3674 clock-names = "i2c", "pclk"; 3675 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 3676 pinctrl-names = "default"; 3677 pinctrl-0 = <&i2c3m0_xfer>; 3678 resets = <&cru SRST_I2C3>, <&cru SRST_P_I2C3>; 3679 reset-names = "i2c", "apb"; 3680 #address-cells = <1>; 3681 #size-cells = <0>; 3682 status = "disabled"; 3683 }; 3684 3685 i2c4: i2c@2ac70000 { 3686 compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3687 reg = <0x0 0x2ac70000 0x0 0x1000>; 3688 clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 3689 clock-names = "i2c", "pclk"; 3690 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 3691 pinctrl-names = "default"; 3692 pinctrl-0 = <&i2c4m0_xfer>; 3693 resets = <&cru SRST_I2C4>, <&cru SRST_P_I2C4>; 3694 reset-names = "i2c", "apb"; 3695 #address-cells = <1>; 3696 #size-cells = <0>; 3697 status = "disabled"; 3698 }; 3699 3700 i2c5: i2c@2ac80000 { 3701 compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3702 reg = <0x0 0x2ac80000 0x0 0x1000>; 3703 clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 3704 clock-names = "i2c", "pclk"; 3705 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 3706 pinctrl-names = "default"; 3707 pinctrl-0 = <&i2c5m0_xfer>; 3708 resets = <&cru SRST_I2C5>, <&cru SRST_P_I2C5>; 3709 reset-names = "i2c", "apb"; 3710 #address-cells = <1>; 3711 #size-cells = <0>; 3712 status = "disabled"; 3713 }; 3714 3715 3716 i2c6: i2c@2ac90000 { 3717 compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3718 reg = <0x0 0x2ac90000 0x0 0x1000>; 3719 clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>; 3720 clock-names = "i2c", "pclk"; 3721 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 3722 pinctrl-names = "default"; 3723 pinctrl-0 = <&i2c6m0_xfer>; 3724 resets = <&cru SRST_I2C6>, <&cru SRST_P_I2C6>; 3725 reset-names = "i2c", "apb"; 3726 #address-cells = <1>; 3727 #size-cells = <0>; 3728 status = "disabled"; 3729 }; 3730 3731 i2c7: i2c@2aca0000 { 3732 compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3733 reg = <0x0 0x2aca0000 0x0 0x1000>; 3734 clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>; 3735 clock-names = "i2c", "pclk"; 3736 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 3737 pinctrl-names = "default"; 3738 pinctrl-0 = <&i2c7m0_xfer>; 3739 resets = <&cru SRST_I2C7>, <&cru SRST_P_I2C7>; 3740 reset-names = "i2c", "apb"; 3741 #address-cells = <1>; 3742 #size-cells = <0>; 3743 status = "disabled"; 3744 }; 3745 3746 i2c8: i2c@2acb0000 { 3747 compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3748 reg = <0x0 0x2acb0000 0x0 0x1000>; 3749 clocks = <&cru CLK_I2C8>, <&cru PCLK_I2C8>; 3750 clock-names = "i2c", "pclk"; 3751 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 3752 pinctrl-names = "default"; 3753 pinctrl-0 = <&i2c8m0_xfer>; 3754 resets = <&cru SRST_I2C8>, <&cru SRST_P_I2C8>; 3755 reset-names = "i2c", "apb"; 3756 #address-cells = <1>; 3757 #size-cells = <0>; 3758 status = "disabled"; 3759 }; 3760 3761 rktimer: timer@2acc0000 { 3762 compatible = "rockchip,rk3576-timer", "rockchip,rk3288-timer"; 3763 reg = <0x0 0x2acc0000 0x0 0x20>; 3764 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 3765 clocks = <&cru PCLK_BUSTIMER0>, <&cru CLK_TIMER0>; 3766 clock-names = "pclk", "timer"; 3767 }; 3768 3769 wdt: watchdog@2ace0000 { 3770 compatible = "snps,dw-wdt"; 3771 reg = <0x0 0x2ace0000 0x0 0x100>; 3772 clocks = <&cru TCLK_WDT0>, <&cru PCLK_WDT0>; 3773 clock-names = "tclk", "pclk"; 3774 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 3775 status = "disabled"; 3776 }; 3777 3778 spi0: spi@2acf0000 { 3779 compatible = "rockchip,rk3066-spi"; 3780 reg = <0x0 0x2acf0000 0x0 0x1000>; 3781 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 3782 #address-cells = <1>; 3783 #size-cells = <0>; 3784 clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 3785 clock-names = "spiclk", "apb_pclk"; 3786 dmas = <&dmac0 14>, <&dmac0 15>; 3787 dma-names = "tx", "rx"; 3788 pinctrl-names = "default"; 3789 pinctrl-0 = <&spi0m0_csn0 &spi0m0_csn1 &spi0m0_pins>; 3790 num-cs = <2>; 3791 status = "disabled"; 3792 }; 3793 3794 spi1: spi@2ad00000 { 3795 compatible = "rockchip,rk3066-spi"; 3796 reg = <0x0 0x2ad00000 0x0 0x1000>; 3797 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 3798 #address-cells = <1>; 3799 #size-cells = <0>; 3800 clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 3801 clock-names = "spiclk", "apb_pclk"; 3802 dmas = <&dmac0 16>, <&dmac0 17>; 3803 dma-names = "tx", "rx"; 3804 pinctrl-names = "default"; 3805 pinctrl-0 = <&spi1m0_csn0 &spi1m0_csn1 &spi1m0_pins>; 3806 num-cs = <2>; 3807 status = "disabled"; 3808 }; 3809 3810 spi2: spi@2ad10000 { 3811 compatible = "rockchip,rk3066-spi"; 3812 reg = <0x0 0x2ad10000 0x0 0x1000>; 3813 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 3814 #address-cells = <1>; 3815 #size-cells = <0>; 3816 clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>; 3817 clock-names = "spiclk", "apb_pclk"; 3818 dmas = <&dmac1 15>, <&dmac1 16>; 3819 dma-names = "tx", "rx"; 3820 pinctrl-names = "default"; 3821 pinctrl-0 = <&spi2m0_csn0 &spi2m0_csn1 &spi2m0_pins>; 3822 num-cs = <2>; 3823 status = "disabled"; 3824 }; 3825 3826 spi3: spi@2ad20000 { 3827 compatible = "rockchip,rk3066-spi"; 3828 reg = <0x0 0x2ad20000 0x0 0x1000>; 3829 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 3830 #address-cells = <1>; 3831 #size-cells = <0>; 3832 clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>; 3833 clock-names = "spiclk", "apb_pclk"; 3834 dmas = <&dmac1 17>, <&dmac1 18>; 3835 dma-names = "tx", "rx"; 3836 pinctrl-names = "default"; 3837 pinctrl-0 = <&spi3m0_csn0 &spi3m0_csn1 &spi3m0_pins>; 3838 num-cs = <2>; 3839 status = "disabled"; 3840 }; 3841 3842 spi4: spi@2ad30000 { 3843 compatible = "rockchip,rk3066-spi"; 3844 reg = <0x0 0x2ad30000 0x0 0x1000>; 3845 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 3846 #address-cells = <1>; 3847 #size-cells = <0>; 3848 clocks = <&cru CLK_SPI4>, <&cru PCLK_SPI4>; 3849 clock-names = "spiclk", "apb_pclk"; 3850 dmas = <&dmac2 12>, <&dmac2 13>; 3851 dma-names = "tx", "rx"; 3852 pinctrl-names = "default"; 3853 pinctrl-0 = <&spi4m0_csn0 &spi4m0_csn1 &spi4m0_pins>; 3854 num-cs = <2>; 3855 status = "disabled"; 3856 }; 3857 3858 uart0: serial@2ad40000 { 3859 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3860 reg = <0x0 0x2ad40000 0x0 0x100>; 3861 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 3862 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 3863 clock-names = "baudclk", "apb_pclk"; 3864 reg-shift = <2>; 3865 reg-io-width = <4>; 3866 dmas = <&dmac0 6>, <&dmac0 7>; 3867 pinctrl-names = "default"; 3868 pinctrl-0 = <&uart0m0_xfer>; 3869 status = "disabled"; 3870 }; 3871 3872 uart2: serial@2ad50000 { 3873 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3874 reg = <0x0 0x2ad50000 0x0 0x100>; 3875 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 3876 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 3877 clock-names = "baudclk", "apb_pclk"; 3878 reg-shift = <2>; 3879 reg-io-width = <4>; 3880 dmas = <&dmac0 10>, <&dmac0 11>; 3881 pinctrl-names = "default"; 3882 pinctrl-0 = <&uart2m0_xfer>; 3883 status = "disabled"; 3884 }; 3885 3886 uart3: serial@2ad60000 { 3887 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3888 reg = <0x0 0x2ad60000 0x0 0x100>; 3889 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 3890 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 3891 clock-names = "baudclk", "apb_pclk"; 3892 reg-shift = <2>; 3893 reg-io-width = <4>; 3894 dmas = <&dmac0 12>, <&dmac0 13>; 3895 pinctrl-names = "default"; 3896 pinctrl-0 = <&uart3m0_xfer>; 3897 status = "disabled"; 3898 }; 3899 3900 uart4: serial@2ad70000 { 3901 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3902 reg = <0x0 0x2ad70000 0x0 0x100>; 3903 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 3904 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 3905 clock-names = "baudclk", "apb_pclk"; 3906 reg-shift = <2>; 3907 reg-io-width = <4>; 3908 dmas = <&dmac1 9>, <&dmac1 10>; 3909 pinctrl-names = "default"; 3910 pinctrl-0 = <&uart4m0_xfer>; 3911 status = "disabled"; 3912 }; 3913 3914 uart5: serial@2ad80000 { 3915 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3916 reg = <0x0 0x2ad80000 0x0 0x100>; 3917 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 3918 clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 3919 clock-names = "baudclk", "apb_pclk"; 3920 reg-shift = <2>; 3921 reg-io-width = <4>; 3922 dmas = <&dmac1 11>, <&dmac1 12>; 3923 pinctrl-names = "default"; 3924 pinctrl-0 = <&uart5m0_xfer>; 3925 status = "disabled"; 3926 }; 3927 3928 uart6: serial@2ad90000 { 3929 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3930 reg = <0x0 0x2ad90000 0x0 0x100>; 3931 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 3932 clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 3933 clock-names = "baudclk", "apb_pclk"; 3934 reg-shift = <2>; 3935 reg-io-width = <4>; 3936 dmas = <&dmac1 13>, <&dmac1 14>; 3937 pinctrl-names = "default"; 3938 pinctrl-0 = <&uart6m0_xfer>; 3939 status = "disabled"; 3940 }; 3941 3942 uart7: serial@2ada0000 { 3943 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3944 reg = <0x0 0x2ada0000 0x0 0x100>; 3945 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 3946 clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 3947 clock-names = "baudclk", "apb_pclk"; 3948 reg-shift = <2>; 3949 reg-io-width = <4>; 3950 dmas = <&dmac2 6>, <&dmac2 7>; 3951 pinctrl-names = "default"; 3952 pinctrl-0 = <&uart7m0_xfer>; 3953 status = "disabled"; 3954 }; 3955 3956 uart8: serial@2adb0000 { 3957 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3958 reg = <0x0 0x2adb0000 0x0 0x100>; 3959 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 3960 clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>; 3961 clock-names = "baudclk", "apb_pclk"; 3962 reg-shift = <2>; 3963 reg-io-width = <4>; 3964 dmas = <&dmac2 8>, <&dmac2 9>; 3965 pinctrl-names = "default"; 3966 pinctrl-0 = <&uart8m0_xfer>; 3967 status = "disabled"; 3968 }; 3969 3970 uart9: serial@2adc0000 { 3971 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3972 reg = <0x0 0x2adc0000 0x0 0x100>; 3973 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 3974 clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>; 3975 clock-names = "baudclk", "apb_pclk"; 3976 reg-shift = <2>; 3977 reg-io-width = <4>; 3978 dmas = <&dmac2 10>, <&dmac2 11>; 3979 pinctrl-names = "default"; 3980 pinctrl-0 = <&uart9m0_xfer>; 3981 status = "disabled"; 3982 }; 3983 3984 pwm1_6ch_0: pwm@2add0000 { 3985 compatible = "rockchip,rk3576-pwm"; 3986 reg = <0x0 0x2add0000 0x0 0x1000>; 3987 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 3988 #pwm-cells = <3>; 3989 pinctrl-names = "active"; 3990 pinctrl-0 = <&pwm1m0_ch0>; 3991 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 3992 clock-names = "pwm", "pclk"; 3993 status = "disabled"; 3994 }; 3995 3996 pwm1_6ch_1: pwm@2add1000 { 3997 compatible = "rockchip,rk3576-pwm"; 3998 reg = <0x0 0x2add1000 0x0 0x1000>; 3999 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 4000 #pwm-cells = <3>; 4001 pinctrl-names = "active"; 4002 pinctrl-0 = <&pwm1m0_ch1>; 4003 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 4004 clock-names = "pwm", "pclk"; 4005 status = "disabled"; 4006 }; 4007 4008 pwm1_6ch_2: pwm@2add2000 { 4009 compatible = "rockchip,rk3576-pwm"; 4010 reg = <0x0 0x2add2000 0x0 0x1000>; 4011 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 4012 #pwm-cells = <3>; 4013 pinctrl-names = "active"; 4014 pinctrl-0 = <&pwm1m0_ch2>; 4015 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 4016 clock-names = "pwm", "pclk"; 4017 status = "disabled"; 4018 }; 4019 4020 pwm1_6ch_3: pwm@2add3000 { 4021 compatible = "rockchip,rk3576-pwm"; 4022 reg = <0x0 0x2add3000 0x0 0x1000>; 4023 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 4024 #pwm-cells = <3>; 4025 pinctrl-names = "active"; 4026 pinctrl-0 = <&pwm1m0_ch3>; 4027 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 4028 clock-names = "pwm", "pclk"; 4029 status = "disabled"; 4030 }; 4031 4032 pwm1_6ch_4: pwm@2add4000 { 4033 compatible = "rockchip,rk3576-pwm"; 4034 reg = <0x0 0x2add4000 0x0 0x1000>; 4035 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 4036 #pwm-cells = <3>; 4037 pinctrl-names = "active"; 4038 pinctrl-0 = <&pwm1m0_ch4>; 4039 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 4040 clock-names = "pwm", "pclk"; 4041 status = "disabled"; 4042 }; 4043 4044 pwm1_6ch_5: pwm@2add5000 { 4045 compatible = "rockchip,rk3576-pwm"; 4046 reg = <0x0 0x2add5000 0x0 0x1000>; 4047 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 4048 #pwm-cells = <3>; 4049 pinctrl-names = "active"; 4050 pinctrl-0 = <&pwm1m0_ch5>; 4051 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 4052 clock-names = "pwm", "pclk"; 4053 status = "disabled"; 4054 }; 4055 4056 pwm2_8ch_0: pwm@2ade0000 { 4057 compatible = "rockchip,rk3576-pwm"; 4058 reg = <0x0 0x2ade0000 0x0 0x1000>; 4059 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 4060 #pwm-cells = <3>; 4061 pinctrl-names = "active"; 4062 pinctrl-0 = <&pwm2m0_ch0>; 4063 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4064 clock-names = "pwm", "pclk"; 4065 status = "disabled"; 4066 }; 4067 4068 pwm2_8ch_1: pwm@2ade1000 { 4069 compatible = "rockchip,rk3576-pwm"; 4070 reg = <0x0 0x2ade1000 0x0 0x1000>; 4071 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 4072 #pwm-cells = <3>; 4073 pinctrl-names = "active"; 4074 pinctrl-0 = <&pwm2m0_ch1>; 4075 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4076 clock-names = "pwm", "pclk"; 4077 status = "disabled"; 4078 }; 4079 4080 pwm2_8ch_2: pwm@2ade2000 { 4081 compatible = "rockchip,rk3576-pwm"; 4082 reg = <0x0 0x2ade2000 0x0 0x1000>; 4083 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 4084 #pwm-cells = <3>; 4085 pinctrl-names = "active"; 4086 pinctrl-0 = <&pwm2m0_ch2>; 4087 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4088 clock-names = "pwm", "pclk"; 4089 status = "disabled"; 4090 }; 4091 4092 pwm2_8ch_3: pwm@2ade3000 { 4093 compatible = "rockchip,rk3576-pwm"; 4094 reg = <0x0 0x2ade3000 0x0 0x1000>; 4095 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 4096 #pwm-cells = <3>; 4097 pinctrl-names = "active"; 4098 pinctrl-0 = <&pwm2m0_ch3>; 4099 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4100 clock-names = "pwm", "pclk"; 4101 status = "disabled"; 4102 }; 4103 4104 pwm2_8ch_4: pwm@2ade4000 { 4105 compatible = "rockchip,rk3576-pwm"; 4106 reg = <0x0 0x2ade4000 0x0 0x1000>; 4107 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 4108 #pwm-cells = <3>; 4109 pinctrl-names = "active"; 4110 pinctrl-0 = <&pwm2m0_ch4>; 4111 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4112 clock-names = "pwm", "pclk"; 4113 status = "disabled"; 4114 }; 4115 4116 pwm2_8ch_5: pwm@2ade5000 { 4117 compatible = "rockchip,rk3576-pwm"; 4118 reg = <0x0 0x2ade5000 0x0 0x1000>; 4119 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 4120 #pwm-cells = <3>; 4121 pinctrl-names = "active"; 4122 pinctrl-0 = <&pwm2m0_ch5>; 4123 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4124 clock-names = "pwm", "pclk"; 4125 status = "disabled"; 4126 }; 4127 4128 pwm2_8ch_6: pwm@2ade6000 { 4129 compatible = "rockchip,rk3576-pwm"; 4130 reg = <0x0 0x2ade6000 0x0 0x1000>; 4131 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 4132 #pwm-cells = <3>; 4133 pinctrl-names = "active"; 4134 pinctrl-0 = <&pwm2m0_ch6>; 4135 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4136 clock-names = "pwm", "pclk"; 4137 status = "disabled"; 4138 }; 4139 4140 pwm2_8ch_7: pwm@2ade7000 { 4141 compatible = "rockchip,rk3576-pwm"; 4142 reg = <0x0 0x2ade7000 0x0 0x1000>; 4143 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 4144 #pwm-cells = <3>; 4145 pinctrl-names = "active"; 4146 pinctrl-0 = <&pwm2m0_ch7>; 4147 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4148 clock-names = "pwm", "pclk"; 4149 status = "disabled"; 4150 }; 4151 4152 saradc: adc@2ae00000 { 4153 compatible = "rockchip,rk3576-saradc", "rockchip,rk3588-saradc"; 4154 reg = <0x0 0x2ae00000 0x0 0x10000>; 4155 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 4156 #io-channel-cells = <1>; 4157 clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 4158 clock-names = "saradc", "apb_pclk"; 4159 resets = <&cru SRST_P_SARADC>; 4160 reset-names = "saradc-apb"; 4161 status = "disabled"; 4162 }; 4163 4164 mailbox0: mailbox@2ae50000 { 4165 compatible = "rockchip,rk3576-mailbox"; 4166 reg = <0x0 0x2ae50000 0x0 0x20>; 4167 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 4168 clocks = <&cru PCLK_MAILBOX0>; 4169 clock-names = "pclk_mailbox"; 4170 #mbox-cells = <1>; 4171 status = "disabled"; 4172 }; 4173 4174 mailbox1: mailbox@2ae51000 { 4175 compatible = "rockchip,rk3576-mailbox"; 4176 reg = <0x0 0x2ae51000 0x0 0x20>; 4177 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 4178 clocks = <&cru PCLK_MAILBOX0>; 4179 clock-names = "pclk_mailbox"; 4180 #mbox-cells = <1>; 4181 status = "disabled"; 4182 }; 4183 4184 mailbox2: mailbox@2ae52000 { 4185 compatible = "rockchip,rk3576-mailbox"; 4186 reg = <0x0 0x2ae52000 0x0 0x20>; 4187 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 4188 clocks = <&cru PCLK_MAILBOX0>; 4189 clock-names = "pclk_mailbox"; 4190 #mbox-cells = <1>; 4191 status = "disabled"; 4192 }; 4193 4194 mailbox3: mailbox@2ae53000 { 4195 compatible = "rockchip,rk3576-mailbox"; 4196 reg = <0x0 0x2ae53000 0x0 0x20>; 4197 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; 4198 clocks = <&cru PCLK_MAILBOX0>; 4199 clock-names = "pclk_mailbox"; 4200 #mbox-cells = <1>; 4201 status = "disabled"; 4202 }; 4203 4204 mailbox4: mailbox@2ae54000 { 4205 compatible = "rockchip,rk3576-mailbox"; 4206 reg = <0x0 0x2ae54000 0x0 0x20>; 4207 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>; 4208 clocks = <&cru PCLK_MAILBOX0>; 4209 clock-names = "pclk_mailbox"; 4210 #mbox-cells = <1>; 4211 status = "disabled"; 4212 }; 4213 4214 mailbox5: mailbox@2ae55000 { 4215 compatible = "rockchip,rk3576-mailbox"; 4216 reg = <0x0 0x2ae55000 0x0 0x20>; 4217 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; 4218 clocks = <&cru PCLK_MAILBOX0>; 4219 clock-names = "pclk_mailbox"; 4220 #mbox-cells = <1>; 4221 status = "disabled"; 4222 }; 4223 4224 mailbox6: mailbox@2ae56000 { 4225 compatible = "rockchip,rk3576-mailbox"; 4226 reg = <0x0 0x2ae56000 0x0 0x20>; 4227 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 4228 clocks = <&cru PCLK_MAILBOX0>; 4229 clock-names = "pclk_mailbox"; 4230 #mbox-cells = <1>; 4231 status = "disabled"; 4232 }; 4233 4234 mailbox7: mailbox@2ae57000 { 4235 compatible = "rockchip,rk3576-mailbox"; 4236 reg = <0x0 0x2ae57000 0x0 0x20>; 4237 interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; 4238 clocks = <&cru PCLK_MAILBOX0>; 4239 clock-names = "pclk_mailbox"; 4240 #mbox-cells = <1>; 4241 status = "disabled"; 4242 }; 4243 4244 mailbox8: mailbox@2ae58000 { 4245 compatible = "rockchip,rk3576-mailbox"; 4246 reg = <0x0 0x2ae58000 0x0 0x20>; 4247 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 4248 clocks = <&cru PCLK_MAILBOX0>; 4249 clock-names = "pclk_mailbox"; 4250 #mbox-cells = <1>; 4251 status = "disabled"; 4252 }; 4253 4254 mailbox9: mailbox@2ae59000 { 4255 compatible = "rockchip,rk3576-mailbox"; 4256 reg = <0x0 0x2ae59000 0x0 0x20>; 4257 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 4258 clocks = <&cru PCLK_MAILBOX0>; 4259 clock-names = "pclk_mailbox"; 4260 #mbox-cells = <1>; 4261 status = "disabled"; 4262 }; 4263 4264 mailbox10: mailbox@2ae5a000 { 4265 compatible = "rockchip,rk3576-mailbox"; 4266 reg = <0x0 0x2ae5a000 0x0 0x20>; 4267 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>; 4268 clocks = <&cru PCLK_MAILBOX0>; 4269 clock-names = "pclk_mailbox"; 4270 #mbox-cells = <1>; 4271 status = "disabled"; 4272 }; 4273 4274 mailbox11: mailbox@2ae5b000 { 4275 compatible = "rockchip,rk3576-mailbox"; 4276 reg = <0x0 0x2ae5b000 0x0 0x20>; 4277 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 4278 clocks = <&cru PCLK_MAILBOX0>; 4279 clock-names = "pclk_mailbox"; 4280 #mbox-cells = <1>; 4281 status = "disabled"; 4282 }; 4283 4284 mailbox12: mailbox@2ae5c000 { 4285 compatible = "rockchip,rk3576-mailbox"; 4286 reg = <0x0 0x2ae5c000 0x0 0x20>; 4287 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; 4288 clocks = <&cru PCLK_MAILBOX0>; 4289 clock-names = "pclk_mailbox"; 4290 #mbox-cells = <1>; 4291 status = "disabled"; 4292 }; 4293 4294 mailbox13: mailbox@2ae5d000 { 4295 compatible = "rockchip,rk3576-mailbox"; 4296 reg = <0x0 0x2ae5d000 0x0 0x20>; 4297 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 4298 clocks = <&cru PCLK_MAILBOX0>; 4299 clock-names = "pclk_mailbox"; 4300 #mbox-cells = <1>; 4301 status = "disabled"; 4302 }; 4303 4304 tsadc: tsadc@2ae70000 { 4305 compatible = "rockchip,rk3576-tsadc"; 4306 reg = <0x0 0x2ae70000 0x0 0x400>; 4307 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 4308 clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>; 4309 clock-names = "tsadc", "apb_pclk"; 4310 assigned-clocks = <&cru CLK_TSADC>; 4311 assigned-clock-rates = <2000000>; 4312 resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>; 4313 reset-names = "tsadc", "tsadc-apb"; 4314 #thermal-sensor-cells = <1>; 4315 rockchip,hw-tshut-temp = <120000>; 4316 rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 4317 rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 4318 status = "disabled"; 4319 }; 4320 4321 i2c9: i2c@2ae80000 { 4322 compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 4323 reg = <0x0 0x2ae80000 0x0 0x1000>; 4324 clocks = <&cru CLK_I2C9>, <&cru PCLK_I2C9>; 4325 clock-names = "i2c", "pclk"; 4326 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 4327 pinctrl-names = "default"; 4328 pinctrl-0 = <&i2c9m0_xfer>; 4329 resets = <&cru SRST_I2C9>, <&cru SRST_P_I2C9>; 4330 reset-names = "i2c", "apb"; 4331 #address-cells = <1>; 4332 #size-cells = <0>; 4333 status = "disabled"; 4334 }; 4335 4336 uart10: serial@2afc0000 { 4337 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 4338 reg = <0x0 0x2afc0000 0x0 0x100>; 4339 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 4340 clocks = <&cru SCLK_UART10>, <&cru PCLK_UART10>; 4341 clock-names = "baudclk", "apb_pclk"; 4342 reg-shift = <2>; 4343 reg-io-width = <4>; 4344 dmas = <&dmac2 21>, <&dmac2 22>; 4345 pinctrl-names = "default"; 4346 pinctrl-0 = <&uart10m0_xfer>; 4347 status = "disabled"; 4348 }; 4349 4350 uart11: serial@2afd0000 { 4351 compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 4352 reg = <0x0 0x2afd0000 0x0 0x100>; 4353 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 4354 clocks = <&cru SCLK_UART11>, <&cru PCLK_UART11>; 4355 clock-names = "baudclk", "apb_pclk"; 4356 reg-shift = <2>; 4357 reg-io-width = <4>; 4358 dmas = <&dmac2 23>, <&dmac2 24>; 4359 pinctrl-names = "default"; 4360 pinctrl-0 = <&uart11m0_xfer>; 4361 status = "disabled"; 4362 }; 4363 4364 hdptxphy: phy@2b000000 { 4365 compatible = "rockchip,rk3576-hdptx-phy", "rockchip,rk3588-hdptx-phy"; 4366 reg = <0x0 0x2b000000 0x0 0x2000>; 4367 clocks = <&cru CLK_PHY_REF_SRC>, <&cru PCLK_PMUPHY_ROOT>; 4368 clock-names = "ref", "apb"; 4369 resets = <&cru SRST_P_HDPTX_APB>, <&cru SRST_HDPTX_INIT>, 4370 <&cru SRST_HDPTX_CMN>, <&cru SRST_HDPTX_LANE>; 4371 reset-names = "apb", "init", "cmn", "lane"; 4372 rockchip,grf = <&hdptxphy_grf>; 4373 #phy-cells = <0>; 4374 status = "disabled"; 4375 }; 4376 4377 hdptxphy_hdmi: hdmiphy@2b000000 { 4378 compatible = "rockchip,rk3576-hdptx-phy-hdmi", "rockchip,rk3588-hdptx-phy-hdmi"; 4379 reg = <0x0 0x2b000000 0x0 0x2000>; 4380 clocks = <&cru CLK_PHY_REF_SRC>, <&cru PCLK_PMUPHY_ROOT>; 4381 clock-names = "ref", "apb"; 4382 clock-output-names = "clk_hdmiphy_pixel0"; 4383 #clock-cells = <0>; 4384 resets = <&cru SRST_P_HDPTX_APB>, <&cru SRST_HDPTX_INIT>, 4385 <&cru SRST_HDPTX_CMN>, <&cru SRST_HDPTX_LANE>; 4386 reset-names = "apb", "init", "cmn", "lane"; 4387 rockchip,grf = <&hdptxphy_grf>; 4388 #phy-cells = <0>; 4389 status = "disabled"; 4390 }; 4391 4392 usbdp_phy: phy@2b010000 { 4393 compatible = "rockchip,rk3576-usbdp-phy"; 4394 reg = <0x0 0x2b010000 0x0 0x10000>; 4395 rockchip,u2phy-grf = <&usb2phy_grf>; 4396 rockchip,usb-grf = <&usb_grf>; 4397 rockchip,usbdpphy-grf = <&usbdpphy_grf>; 4398 rockchip,vo-grf = <&vo1_grf>; 4399 clocks = <&cru CLK_PHY_REF_SRC >, 4400 <&cru CLK_USBDP_COMBO_PHY_IMMORTAL>, 4401 <&cru PCLK_USBDPPHY>; 4402 clock-names = "refclk", "immortal", "pclk"; 4403 resets = <&cru SRST_USBDP_COMBO_PHY_INIT>, 4404 <&cru SRST_USBDP_COMBO_PHY_CMN>, 4405 <&cru SRST_USBDP_COMBO_PHY_LANE>, 4406 <&cru SRST_USBDP_COMBO_PHY_PCS>, 4407 <&cru SRST_P_USBDPPHY>; 4408 reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb"; 4409 status = "disabled"; 4410 4411 usbdp_phy_dp: dp-port { 4412 #phy-cells = <0>; 4413 status = "disabled"; 4414 }; 4415 4416 usbdp_phy_u3: u3-port { 4417 #phy-cells = <0>; 4418 status = "disabled"; 4419 }; 4420 }; 4421 4422 mipidcphy0: phy@2b020000 { 4423 compatible = "rockchip,rk3588-mipi-dcphy"; 4424 reg = <0x0 0x2b020000 0x0 0x10000>; 4425 rockchip,grf = <&mipidcphy0_grf>; 4426 clocks = <&cru PCLK_MIPI_DCPHY>; 4427 clock-names = "pclk"; 4428 resets = <&cru SRST_M_MIPI_DCPHY>, 4429 <&cru SRST_P_MIPI_DCPHY>, 4430 <&cru SRST_P_DCPHY_GRF>, 4431 <&cru SRST_S_MIPI_DCPHY>; 4432 reset-names = "m_phy", "apb", "grf", "s_phy"; 4433 #phy-cells = <0>; 4434 status = "okay"; 4435 }; 4436 4437 csi2_dphy0_hw: csi2-dphy0-hw@2b030000 { 4438 compatible = "rockchip,rk3588-csi2-dphy-hw"; 4439 reg = <0x0 0x2b030000 0x0 0x8000>; 4440 clocks = <&cru PCLK_CSIDPHY>; 4441 clock-names = "pclk"; 4442 resets = <&cru SRST_P_CSIPHY>; 4443 reset-names = "srst_p_csiphy"; 4444 rockchip,grf = <&mipidphy0_grf>; 4445 rockchip,sys_grf = <&sys_grf>; 4446 status = "okay"; 4447 }; 4448 4449 combphy0_ps: phy@2b050000 { 4450 compatible = "rockchip,rk3576-naneng-combphy"; 4451 reg = <0x0 0x2b050000 0x0 0x100>; 4452 #phy-cells = <1>; 4453 clocks = <&cru CLK_REF_PCIE0_PHY>, 4454 <&cru PCLK_PCIE2_COMBOPHY0>, 4455 <&cru PCLK_PCIE0>; 4456 clock-names = "refclk", "apbclk", "pipe_clk"; 4457 assigned-clocks = <&cru CLK_REF_PCIE0_PHY>; 4458 assigned-clock-rates = <100000000>; 4459 resets = <&cru SRST_P_PCIE2_COMBOPHY0>, 4460 <&cru SRST_PCIE0_PIPE_PHY>; 4461 reset-names = "combphy-apb", "combphy"; 4462 rockchip,pipe-grf = <&php_grf>; 4463 rockchip,pipe-phy-grf = <&pipe_phy0_grf>; 4464 status = "disabled"; 4465 }; 4466 4467 combphy1_psu: phy@2b060000 { 4468 compatible = "rockchip,rk3576-naneng-combphy"; 4469 reg = <0x0 0x2b060000 0x0 0x100>; 4470 #phy-cells = <1>; 4471 clocks = <&cru CLK_REF_PCIE1_PHY>, 4472 <&cru PCLK_PCIE2_COMBOPHY1>, 4473 <&cru PCLK_PCIE1>; 4474 clock-names = "refclk", "apbclk", "pipe_clk"; 4475 assigned-clocks = <&cru CLK_REF_PCIE1_PHY>; 4476 assigned-clock-rates = <100000000>; 4477 resets = <&cru SRST_P_PCIE2_COMBOPHY1>, 4478 <&cru SRST_PCIE1_PIPE_PHY>; 4479 reset-names = "combphy-apb", "combphy"; 4480 rockchip,pipe-grf = <&php_grf>; 4481 rockchip,pipe-phy-grf = <&pipe_phy1_grf>; 4482 status = "disabled"; 4483 }; 4484 4485 csi2_dphy1_hw: csi2-dphy1-hw@2b070000 { 4486 compatible = "rockchip,rk3588-csi2-dphy-hw"; 4487 reg = <0x0 0x2b070000 0x0 0x8000>; 4488 clocks = <&cru PCLK_CSIDPHY1>; 4489 clock-names = "pclk"; 4490 resets = <&cru SRST_P_CSIDPHY1>; 4491 reset-names = "srst_p_csiphy1"; 4492 rockchip,grf = <&mipidphy1_grf>; 4493 rockchip,sys_grf = <&sys_grf>; 4494 status = "okay"; 4495 }; 4496 4497 scmi_shmem: scmi-shmem@4010f000 { 4498 compatible = "arm,scmi-shmem"; 4499 reg = <0x0 0x4010f000 0x0 0x100>; 4500 }; 4501 4502 pinctrl: pinctrl { 4503 compatible = "rockchip,rk3576-pinctrl"; 4504 rockchip,grf = <&ioc_grf>; 4505 #address-cells = <2>; 4506 #size-cells = <2>; 4507 ranges; 4508 4509 gpio0: gpio@27320000 { 4510 compatible = "rockchip,gpio-bank"; 4511 reg = <0x0 0x27320000 0x0 0x200>; 4512 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 4513 clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>; 4514 4515 gpio-controller; 4516 #gpio-cells = <2>; 4517 gpio-ranges = <&pinctrl 0 0 32>; 4518 interrupt-controller; 4519 #interrupt-cells = <2>; 4520 }; 4521 4522 gpio1: gpio@2ae10000 { 4523 compatible = "rockchip,gpio-bank"; 4524 reg = <0x0 0x2ae10000 0x0 0x200>; 4525 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 4526 clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 4527 4528 gpio-controller; 4529 #gpio-cells = <2>; 4530 gpio-ranges = <&pinctrl 0 32 32>; 4531 interrupt-controller; 4532 #interrupt-cells = <2>; 4533 }; 4534 4535 gpio2: gpio@2ae20000 { 4536 compatible = "rockchip,gpio-bank"; 4537 reg = <0x0 0x2ae20000 0x0 0x200>; 4538 interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; 4539 clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 4540 4541 gpio-controller; 4542 #gpio-cells = <2>; 4543 gpio-ranges = <&pinctrl 0 64 32>; 4544 interrupt-controller; 4545 #interrupt-cells = <2>; 4546 }; 4547 4548 gpio3: gpio@2ae30000 { 4549 compatible = "rockchip,gpio-bank"; 4550 reg = <0x0 0x2ae30000 0x0 0x200>; 4551 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; 4552 clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 4553 4554 gpio-controller; 4555 #gpio-cells = <2>; 4556 gpio-ranges = <&pinctrl 0 96 32>; 4557 interrupt-controller; 4558 #interrupt-cells = <2>; 4559 }; 4560 4561 gpio4: gpio@2ae40000 { 4562 compatible = "rockchip,gpio-bank"; 4563 reg = <0x0 0x2ae40000 0x0 0x200>; 4564 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 4565 clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 4566 4567 gpio-controller; 4568 #gpio-cells = <2>; 4569 gpio-ranges = <&pinctrl 0 128 32>; 4570 interrupt-controller; 4571 #interrupt-cells = <2>; 4572 }; 4573 }; 4574}; 4575 4576#include "rk3576-pinctrl.dtsi" 4577