1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2020 Rockchip Electronics Co., Ltd. 4 */ 5 6#include <dt-bindings/clock/rk3568-cru.h> 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/interrupt-controller/arm-gic.h> 9#include <dt-bindings/interrupt-controller/irq.h> 10#include <dt-bindings/pinctrl/rockchip.h> 11#include <dt-bindings/soc/rockchip,boot-mode.h> 12#include <dt-bindings/phy/phy.h> 13#include <dt-bindings/power/rk3568-power.h> 14 15/ { 16 compatible = "rockchip,rk3568"; 17 18 interrupt-parent = <&gic>; 19 #address-cells = <2>; 20 #size-cells = <2>; 21 22 aliases { 23 dsi0 = &dsi0; 24 dsi1 = &dsi1; 25 ethernet0 = &gmac0; 26 ethernet1 = &gmac1; 27 gpio0 = &gpio0; 28 gpio1 = &gpio1; 29 gpio2 = &gpio2; 30 gpio3 = &gpio3; 31 gpio4 = &gpio4; 32 i2c0 = &i2c0; 33 i2c1 = &i2c1; 34 i2c2 = &i2c2; 35 i2c3 = &i2c3; 36 i2c4 = &i2c4; 37 i2c5 = &i2c5; 38 lvds0 = &lvds0; 39 lvds1 = &lvds1; 40 serial0 = &uart0; 41 serial1 = &uart1; 42 serial2 = &uart2; 43 serial3 = &uart3; 44 serial4 = &uart4; 45 serial5 = &uart5; 46 serial6 = &uart6; 47 serial7 = &uart7; 48 serial8 = &uart8; 49 serial9 = &uart9; 50 spi0 = &spi0; 51 spi1 = &spi1; 52 spi2 = &spi2; 53 spi3 = &spi3; 54 }; 55 56 cpus { 57 #address-cells = <2>; 58 #size-cells = <0>; 59 60 cpu0: cpu@0 { 61 device_type = "cpu"; 62 compatible = "arm,cortex-a55"; 63 reg = <0x0 0x0>; 64 enable-method = "psci"; 65 clocks = <&cru ARMCLK>; 66 operating-points-v2 = <&cpu0_opp_table>; 67 }; 68 69 cpu1: cpu@100 { 70 device_type = "cpu"; 71 compatible = "arm,cortex-a55"; 72 reg = <0x0 0x100>; 73 enable-method = "psci"; 74 clocks = <&cru ARMCLK>; 75 operating-points-v2 = <&cpu0_opp_table>; 76 }; 77 78 cpu2: cpu@200 { 79 device_type = "cpu"; 80 compatible = "arm,cortex-a55"; 81 reg = <0x0 0x200>; 82 enable-method = "psci"; 83 clocks = <&cru ARMCLK>; 84 operating-points-v2 = <&cpu0_opp_table>; 85 }; 86 87 cpu3: cpu@300 { 88 device_type = "cpu"; 89 compatible = "arm,cortex-a55"; 90 reg = <0x0 0x300>; 91 enable-method = "psci"; 92 clocks = <&cru ARMCLK>; 93 operating-points-v2 = <&cpu0_opp_table>; 94 }; 95 }; 96 97 cpu0_opp_table: cpu0-opp-table { 98 compatible = "operating-points-v2"; 99 opp-shared; 100 101 opp-408000000 { 102 opp-hz = /bits/ 64 <408000000>; 103 opp-microvolt = <1000000 1000000 1250000>; 104 clock-latency-ns = <40000>; 105 }; 106 opp-600000000 { 107 opp-hz = /bits/ 64 <600000000>; 108 opp-microvolt = <1000000 1000000 1250000>; 109 clock-latency-ns = <40000>; 110 }; 111 opp-816000000 { 112 opp-hz = /bits/ 64 <816000000>; 113 opp-microvolt = <1000000 1000000 1250000>; 114 clock-latency-ns = <40000>; 115 opp-suspend; 116 }; 117 opp-1008000000 { 118 opp-hz = /bits/ 64 <1008000000>; 119 opp-microvolt = <1000000 1000000 1250000>; 120 clock-latency-ns = <40000>; 121 }; 122 opp-1200000000 { 123 opp-hz = /bits/ 64 <1200000000>; 124 opp-microvolt = <1000000 1000000 1250000>; 125 clock-latency-ns = <40000>; 126 }; 127 }; 128 129 arm-pmu { 130 compatible = "arm,cortex-a55-pmu", "arm,armv8-pmuv3"; 131 interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>, 132 <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>, 133 <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>, 134 <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>; 135 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 136 }; 137 138 display_subsystem: display-subsystem { 139 compatible = "rockchip,display-subsystem"; 140 ports = <&vop_out>; 141 }; 142 143 mpp_srv: mpp-srv { 144 compatible = "rockchip,mpp-service"; 145 rockchip,taskqueue-count = <5>; 146 rockchip,resetgroup-count = <5>; 147 status = "disabled"; 148 }; 149 150 psci: psci { 151 compatible = "arm,psci-1.0"; 152 method = "smc"; 153 }; 154 155 thermal_zones: thermal-zones { 156 soc_thermal: soc-thermal { 157 polling-delay-passive = <20>; /* milliseconds */ 158 polling-delay = <1000>; /* milliseconds */ 159 160 thermal-sensors = <&tsadc 0>; 161 trips { 162 soc_crit: soc-crit { 163 /* millicelsius */ 164 temperature = <115000>; 165 /* millicelsius */ 166 hysteresis = <2000>; 167 type = "critical"; 168 }; 169 }; 170 }; 171 172 gpu_thermal: gpu-thermal { 173 polling-delay-passive = <20>; /* milliseconds */ 174 polling-delay = <1000>; /* milliseconds */ 175 176 thermal-sensors = <&tsadc 1>; 177 }; 178 }; 179 180 timer { 181 compatible = "arm,armv8-timer"; 182 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 183 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 184 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 185 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 186 }; 187 188 gmac0_clkin: external-gmac0-clock { 189 compatible = "fixed-clock"; 190 clock-frequency = <125000000>; 191 clock-output-names = "gmac0_clkin"; 192 #clock-cells = <0>; 193 }; 194 195 gmac1_clkin: external-gmac1-clock { 196 compatible = "fixed-clock"; 197 clock-frequency = <125000000>; 198 clock-output-names = "gmac1_clkin"; 199 #clock-cells = <0>; 200 }; 201 202 xin24m: xin24m { 203 compatible = "fixed-clock"; 204 #clock-cells = <0>; 205 clock-frequency = <24000000>; 206 clock-output-names = "xin24m"; 207 }; 208 209 sata0: sata@fc000000 { 210 compatible = "snps,dwc-ahci"; 211 reg = <0 0xfc000000 0 0x1000>; 212 clocks = <&cru ACLK_SATA0>, <&cru CLK_SATA0_PMALIVE>, 213 <&cru CLK_SATA0_RXOOB>; 214 clock-names = "sata", "pmalive", "rxoob"; 215 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 216 interrupt-names = "hostc"; 217 phys = <&combphy0_us PHY_TYPE_SATA>; 218 phy-names = "sata-phy"; 219 ports-implemented = <0x1>; 220 power-domains = <&power RK3568_PD_PIPE>; 221 status = "disabled"; 222 }; 223 224 sata1: sata@fc400000 { 225 compatible = "snps,dwc-ahci"; 226 reg = <0 0xfc400000 0 0x1000>; 227 clocks = <&cru ACLK_SATA1>, <&cru CLK_SATA1_PMALIVE>, 228 <&cru CLK_SATA1_RXOOB>; 229 clock-names = "sata", "pmalive", "rxoob"; 230 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 231 interrupt-names = "hostc"; 232 phys = <&combphy1_usq PHY_TYPE_SATA>; 233 phy-names = "sata-phy"; 234 ports-implemented = <0x1>; 235 power-domains = <&power RK3568_PD_PIPE>; 236 status = "disabled"; 237 }; 238 239 sata2: sata@fc800000 { 240 compatible = "snps,dwc-ahci"; 241 reg = <0 0xfc800000 0 0x1000>; 242 clocks = <&cru ACLK_SATA2>, <&cru CLK_SATA2_PMALIVE>, 243 <&cru CLK_SATA2_RXOOB>; 244 clock-names = "sata", "pmalive", "rxoob"; 245 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 246 interrupt-names = "hostc"; 247 phys = <&combphy2_psq PHY_TYPE_SATA>; 248 phy-names = "sata-phy"; 249 ports-implemented = <0x1>; 250 power-domains = <&power RK3568_PD_PIPE>; 251 status = "disabled"; 252 }; 253 254 usbdrd30: usbdrd { 255 compatible = "rockchip,rk3568-dwc3", "rockchip,rk3399-dwc3"; 256 clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>, 257 <&cru ACLK_USB3OTG0>; 258 clock-names = "ref_clk", "suspend_clk", 259 "bus_clk"; 260 #address-cells = <2>; 261 #size-cells = <2>; 262 ranges; 263 status = "disabled"; 264 265 usbdrd_dwc3: dwc3@fcc00000 { 266 compatible = "snps,dwc3"; 267 reg = <0x0 0xfcc00000 0x0 0x400000>; 268 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 269 dr_mode = "otg"; 270 phys = <&u2phy0_otg>; 271 phy-names = "usb2-phy"; 272 phy_type = "utmi_wide"; 273 power-domains = <&power RK3568_PD_PIPE>; 274 resets = <&cru SRST_USB3OTG0>; 275 reset-names = "usb3-otg"; 276 snps,dis_enblslpm_quirk; 277 snps,dis-u2-freeclk-exists-quirk; 278 snps,dis_u2_susphy_quirk; 279 snps,dis-del-phy-power-chg-quirk; 280 snps,dis-tx-ipgap-linecheck-quirk; 281 snps,xhci-trb-ent-quirk; 282 status = "disabled"; 283 }; 284 }; 285 286 usbhost30: usbhost { 287 compatible = "rockchip,rk3568-dwc3", "rockchip,rk3399-dwc3"; 288 clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>, 289 <&cru ACLK_USB3OTG1>; 290 clock-names = "ref_clk", "suspend_clk", 291 "bus_clk"; 292 #address-cells = <2>; 293 #size-cells = <2>; 294 ranges; 295 status = "disabled"; 296 297 usbhost_dwc3: dwc3@fd000000 { 298 compatible = "snps,dwc3"; 299 reg = <0x0 0xfd000000 0x0 0x400000>; 300 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>; 301 dr_mode = "host"; 302 phys = <&u2phy0_host>; 303 phy-names = "usb2-phy"; 304 phy_type = "utmi_wide"; 305 power-domains = <&power RK3568_PD_PIPE>; 306 resets = <&cru SRST_USB3OTG1>; 307 reset-names = "usb3-host"; 308 snps,dis_enblslpm_quirk; 309 snps,dis-u2-freeclk-exists-quirk; 310 snps,dis_u2_susphy_quirk; 311 snps,dis-del-phy-power-chg-quirk; 312 snps,dis-tx-ipgap-linecheck-quirk; 313 snps,xhci-trb-ent-quirk; 314 status = "disabled"; 315 }; 316 }; 317 318 gic: interrupt-controller@fd400000 { 319 compatible = "arm,gic-v3"; 320 #interrupt-cells = <3>; 321 #address-cells = <2>; 322 #size-cells = <2>; 323 ranges; 324 interrupt-controller; 325 326 reg = <0x0 0xfd400000 0 0x10000>, /* GICD */ 327 <0x0 0xfd460000 0 0xc0000>; /* GICR */ 328 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 329 its: interrupt-controller@fd440000 { 330 compatible = "arm,gic-v3-its"; 331 msi-controller; 332 reg = <0x0 0xfd440000 0x0 0x20000>; 333 status = "disabled"; 334 }; 335 }; 336 337 usb_host0_ehci: usb@fd800000 { 338 compatible = "generic-ehci"; 339 reg = <0x0 0xfd800000 0x0 0x40000>; 340 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; 341 clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>, 342 <&cru PCLK_USB>, <&usb2phy1>; 343 clock-names = "usbhost", "arbiter", "pclk", "utmi"; 344 phys = <&u2phy1_otg>; 345 phy-names = "usb2-phy"; 346 status = "disabled"; 347 }; 348 349 usb_host0_ohci: usb@fd840000 { 350 compatible = "generic-ohci"; 351 reg = <0x0 0xfd840000 0x0 0x40000>; 352 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 353 clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>, 354 <&cru PCLK_USB>, <&usb2phy1>; 355 clock-names = "usbhost", "arbiter", "pclk", "utmi"; 356 phys = <&u2phy1_otg>; 357 phy-names = "usb2-phy"; 358 status = "disabled"; 359 }; 360 361 usb_host1_ehci: usb@fd880000 { 362 compatible = "generic-ehci"; 363 reg = <0x0 0xfd880000 0x0 0x40000>; 364 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 365 clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>, 366 <&cru PCLK_USB>, <&usb2phy1>; 367 clock-names = "usbhost", "arbiter", "pclk", "utmi"; 368 phys = <&u2phy1_host>; 369 phy-names = "usb2-phy"; 370 status = "disabled"; 371 }; 372 373 usb_host1_ohci: usb@fd8c0000 { 374 compatible = "generic-ohci"; 375 reg = <0x0 0xfd8c0000 0x0 0x40000>; 376 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 377 clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>, 378 <&cru PCLK_USB>, <&usb2phy1>; 379 clock-names = "usbhost", "arbiter", "pclk", "utmi"; 380 phys = <&u2phy1_host>; 381 phy-names = "usb2-phy"; 382 status = "disabled"; 383 }; 384 385 pmugrf: syscon@fdc20000 { 386 compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd"; 387 reg = <0x0 0xfdc20000 0x0 0x10000>; 388 389 pmu_io_domains: io-domains { 390 compatible = "rockchip,rk3568-pmu-io-voltage-domain"; 391 status = "disabled"; 392 }; 393 394 reboot_mode: reboot-mode { 395 compatible = "syscon-reboot-mode"; 396 offset = <0x200>; 397 mode-bootloader = <BOOT_BL_DOWNLOAD>; 398 mode-charge = <BOOT_CHARGING>; 399 mode-fastboot = <BOOT_FASTBOOT>; 400 mode-loader = <BOOT_BL_DOWNLOAD>; 401 mode-normal = <BOOT_NORMAL>; 402 mode-recovery = <BOOT_RECOVERY>; 403 mode-ums = <BOOT_UMS>; 404 mode-panic = <BOOT_PANIC>; 405 mode-watchdog = <BOOT_WATCHDOG>; 406 }; 407 }; 408 409 pipegrf: syscon@fdc50000 { 410 compatible = "rockchip,rk3568-pipegrf", "syscon"; 411 reg = <0x0 0xfdc50000 0x0 0x1000>; 412 }; 413 414 grf: syscon@fdc60000 { 415 compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd"; 416 reg = <0x0 0xfdc60000 0x0 0x10000>; 417 418 io_domains: io-domains { 419 compatible = "rockchip,rk3568-io-voltage-domain"; 420 status = "disabled"; 421 }; 422 423 lvds0: lvds0 { 424 compatible = "rockchip,rk3568-lvds"; 425 phys = <&video_phy0>; 426 phy-names = "phy"; 427 status = "disabled"; 428 429 ports { 430 #address-cells = <1>; 431 #size-cells = <0>; 432 433 port@0 { 434 reg = <0>; 435 #address-cells = <1>; 436 #size-cells = <0>; 437 438 lvds0_in_vp1: endpoint@0 { 439 reg = <0>; 440 remote-endpoint = <&vp1_out_lvds0>; 441 }; 442 443 lvds0_in_vp2: endpoint@1 { 444 reg = <1>; 445 remote-endpoint = <&vp2_out_lvds0>; 446 }; 447 }; 448 }; 449 }; 450 451 lvds1: lvds1 { 452 compatible = "rockchip,rk3568-lvds"; 453 phys = <&video_phy1>; 454 phy-names = "phy"; 455 status = "disabled"; 456 457 ports { 458 #address-cells = <1>; 459 #size-cells = <0>; 460 461 port@0 { 462 reg = <0>; 463 #address-cells = <1>; 464 #size-cells = <0>; 465 466 lvds1_in_vp1: endpoint@0 { 467 reg = <0>; 468 remote-endpoint = <&vp1_out_lvds1>; 469 }; 470 471 lvds1_in_vp2: endpoint@1 { 472 reg = <1>; 473 remote-endpoint = <&vp2_out_lvds1>; 474 }; 475 }; 476 }; 477 }; 478 479 rgb: rgb { 480 compatible = "rockchip,rk3568-rgb"; 481 pinctrl-names = "default"; 482 pinctrl-0 = <&lcdc_ctl>; 483 status = "disabled"; 484 485 ports { 486 #address-cells = <1>; 487 #size-cells = <0>; 488 489 port@0 { 490 reg = <0>; 491 #address-cells = <1>; 492 #size-cells = <0>; 493 494 rgb_in_vp2: endpoint@0 { 495 reg = <0>; 496 remote-endpoint = <&vp2_out_rgb>; 497 }; 498 }; 499 500 }; 501 }; 502 503 }; 504 505 pipe_phy_grf0: syscon@fdc70000 { 506 compatible = "rockchip,pipe-phy-grf", "syscon"; 507 reg = <0x0 0xfdc70000 0x0 0x1000>; 508 }; 509 510 pipe_phy_grf1: syscon@fdc80000 { 511 compatible = "rockchip,pipe-phy-grf", "syscon"; 512 reg = <0x0 0xfdc80000 0x0 0x1000>; 513 }; 514 515 pipe_phy_grf2: syscon@fdc90000 { 516 compatible = "rockchip,pipe-phy-grf", "syscon"; 517 reg = <0x0 0xfdc90000 0x0 0x1000>; 518 }; 519 520 usb2phy0_grf: syscon@fdca0000 { 521 compatible = "rockchip,rk3568-usb2phy-grf", "syscon"; 522 reg = <0x0 0xfdca0000 0x0 0x8000>; 523 }; 524 525 usb2phy1_grf: syscon@fdca8000 { 526 compatible = "rockchip,rk3568-usb2phy-grf", "syscon"; 527 reg = <0x0 0xfdca8000 0x0 0x8000>; 528 }; 529 530 edp_phy: edp-phy@fdcb0000 { 531 compatible = "rockchip,rk3568-edp-phy"; 532 reg = <0x0 0xfdcb0000 0x0 0x8000>; 533 clocks = <&pmucru XIN_OSC0_EDPPHY_G>, <&cru PCLK_EDPPHY_GRF>; 534 clock-names = "refclk", "pclk"; 535 resets = <&cru SRST_P_EDPPHY_GRF>; 536 reset-names = "apb"; 537 #phy-cells = <0>; 538 status = "disabled"; 539 }; 540 541 pcie30_phy_grf: syscon@fdcb8000 { 542 compatible = "rockchip,pcie30-phy-grf", "syscon"; 543 reg = <0x0 0xfdcb8000 0x0 0x10000>; 544 }; 545 546 pmucru: clock-controller@fdd00000 { 547 compatible = "rockchip,rk3568-pmucru"; 548 reg = <0x0 0xfdd00000 0x0 0x1000>; 549 rockchip,grf = <&grf>; 550 #clock-cells = <1>; 551 #reset-cells = <1>; 552 }; 553 554 cru: clock-controller@fdd20000 { 555 compatible = "rockchip,rk3568-cru"; 556 reg = <0x0 0xfdd20000 0x0 0x1000>; 557 rockchip,grf = <&grf>; 558 #clock-cells = <1>; 559 #reset-cells = <1>; 560 561 assigned-clocks = 562 <&pmucru CLK_RTC_32K>, <&pmucru PLL_PPLL>, 563 <&pmucru PCLK_PMU>, <&cru PLL_CPLL>, 564 <&cru PLL_GPLL>, <&cru ARMCLK>, 565 <&cru ACLK_BUS>, <&cru PCLK_BUS>, 566 <&cru ACLK_TOP_HIGH>, <&cru ACLK_TOP_LOW>, 567 <&cru HCLK_TOP>, <&cru PCLK_TOP>, 568 <&cru ACLK_PERIMID>, <&cru HCLK_PERIMID>, 569 <&cru PLL_NPLL>; 570 assigned-clock-rates = 571 <32768>, <200000000>, 572 <100000000>, <1000000000>, 573 <1188000000>, <600000000>, 574 <150000000>, <100000000>, 575 <300000000>, <200000000>, 576 <150000000>, <100000000>, 577 <300000000>, <150000000>, 578 <1200000000>; 579 assigned-clock-parents = 580 <&pmucru CLK_RTC32K_FRAC>; 581 }; 582 583 i2c0: i2c@fdd40000 { 584 compatible = "rockchip,rk3399-i2c"; 585 reg = <0x0 0xfdd40000 0x0 0x1000>; 586 clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>; 587 clock-names = "i2c", "pclk"; 588 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 589 pinctrl-names = "default"; 590 pinctrl-0 = <&i2c0_xfer>; 591 #address-cells = <1>; 592 #size-cells = <0>; 593 status = "disabled"; 594 }; 595 596 uart0: serial@fdd50000 { 597 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 598 reg = <0x0 0xfdd50000 0x0 0x100>; 599 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 600 clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>; 601 clock-names = "baudclk", "apb_pclk"; 602 reg-shift = <2>; 603 reg-io-width = <4>; 604 dmas = <&dmac0 0>, <&dmac0 1>; 605 pinctrl-names = "default"; 606 pinctrl-0 = <&uart0_xfer>; 607 status = "disabled"; 608 }; 609 610 pwm0: pwm@fdd70000 { 611 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 612 reg = <0x0 0xfdd70000 0x0 0x10>; 613 #pwm-cells = <3>; 614 pinctrl-names = "active"; 615 pinctrl-0 = <&pwm0m0_pins>; 616 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 617 clock-names = "pwm", "pclk"; 618 status = "disabled"; 619 }; 620 621 pwm1: pwm@fdd70010 { 622 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 623 reg = <0x0 0xfdd70010 0x0 0x10>; 624 #pwm-cells = <3>; 625 pinctrl-names = "active"; 626 pinctrl-0 = <&pwm1m0_pins>; 627 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 628 clock-names = "pwm", "pclk"; 629 status = "disabled"; 630 }; 631 632 pwm2: pwm@fdd70020 { 633 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 634 reg = <0x0 0xfdd70020 0x0 0x10>; 635 #pwm-cells = <3>; 636 pinctrl-names = "active"; 637 pinctrl-0 = <&pwm2m0_pins>; 638 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 639 clock-names = "pwm", "pclk"; 640 status = "disabled"; 641 }; 642 643 pwm3: pwm@fdd70030 { 644 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 645 reg = <0x0 0xfdd70030 0x0 0x10>; 646 #pwm-cells = <3>; 647 pinctrl-names = "active"; 648 pinctrl-0 = <&pwm3_pins>; 649 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 650 clock-names = "pwm", "pclk"; 651 status = "disabled"; 652 }; 653 654 pmu: power-management@fdd90000 { 655 compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd"; 656 reg = <0x0 0xfdd90000 0x0 0x1000>; 657 658 power: power-controller { 659 compatible = "rockchip,rk3568-power-controller"; 660 #power-domain-cells = <1>; 661 #address-cells = <1>; 662 #size-cells = <0>; 663 status = "okay"; 664 665 /* These power domains are grouped by VD_NPU */ 666 pd_npu@RK3568_PD_NPU { 667 reg = <RK3568_PD_NPU>; 668 clocks = <&cru ACLK_NPU_PRE>, 669 <&cru HCLK_NPU_PRE>, 670 <&cru PCLK_NPU_PRE>; 671 pm_qos = <&qos_npu>; 672 }; 673 /* These power domains are grouped by VD_GPU */ 674 pd_gpu@RK3568_PD_GPU { 675 reg = <RK3568_PD_GPU>; 676 clocks = <&cru ACLK_GPU_PRE>, 677 <&cru PCLK_GPU_PRE>; 678 pm_qos = <&qos_gpu>; 679 }; 680 /* These power domains are grouped by VD_LOGIC */ 681 pd_vi@RK3568_PD_VI { 682 reg = <RK3568_PD_VI>; 683 clocks = <&cru HCLK_VI>, 684 <&cru PCLK_VI>; 685 pm_qos = <&qos_isp>, 686 <&qos_vicap0>, 687 <&qos_vicap1>; 688 }; 689 pd_vo@RK3568_PD_VO { 690 reg = <RK3568_PD_VO>; 691 clocks = <&cru HCLK_VO>, 692 <&cru PCLK_VO>, 693 <&cru ACLK_VOP_PRE>; 694 pm_qos = <&qos_hdcp>, 695 <&qos_vop_m0>, 696 <&qos_vop_m1>; 697 }; 698 pd_rga@RK3568_PD_RGA { 699 reg = <RK3568_PD_RGA>; 700 clocks = <&cru HCLK_RGA_PRE>, 701 <&cru PCLK_RGA_PRE>; 702 pm_qos = <&qos_ebc>, 703 <&qos_iep>, 704 <&qos_jpeg_dec>, 705 <&qos_jpeg_enc>, 706 <&qos_rga_rd>, 707 <&qos_rga_wr>; 708 }; 709 pd_vpu@RK3568_PD_VPU { 710 reg = <RK3568_PD_VPU>; 711 clocks = <&cru HCLK_VPU_PRE>; 712 pm_qos = <&qos_vpu>; 713 }; 714 pd_rkvdec@RK3568_PD_RKVDEC { 715 clocks = <&cru HCLK_RKVDEC_PRE>; 716 reg = <RK3568_PD_RKVDEC>; 717 pm_qos = <&qos_rkvdec>; 718 }; 719 pd_rkvenc@RK3568_PD_RKVENC { 720 reg = <RK3568_PD_RKVENC>; 721 clocks = <&cru HCLK_RKVENC_PRE>; 722 pm_qos = <&qos_rkvenc_rd_m0>, 723 <&qos_rkvenc_rd_m1>, 724 <&qos_rkvenc_wr_m0>; 725 }; 726 pd_pipe@RK3568_PD_PIPE { 727 reg = <RK3568_PD_PIPE>; 728 clocks = <&cru PCLK_PIPE>; 729 pm_qos = <&qos_pcie2x1>, 730 <&qos_pcie3x1>, 731 <&qos_pcie3x2>, 732 <&qos_sata0>, 733 <&qos_sata1>, 734 <&qos_sata2>, 735 <&qos_usb3_0>, 736 <&qos_usb3_1>; 737 }; 738 }; 739 }; 740 741 pvtm@fde00000 { 742 compatible = "rockchip,rk3568-core-pvtm"; 743 reg = <0x0 0xfde00000 0x0 0x100>; 744 #address-cells = <1>; 745 #size-cells = <0>; 746 pvtm@0 { 747 reg = <0>; 748 clocks = <&cru CLK_CORE_PVTM>, <&cru PCLK_CORE_PVTM>; 749 clock-names = "clk", "pclk"; 750 resets = <&cru SRST_CORE_PVTM>, <&cru SRST_P_CORE_PVTM>; 751 reset-names = "rts", "rst-p"; 752 thermal-zone = "soc-thermal"; 753 }; 754 }; 755 756 gpu: gpu@fde60000 { 757 compatible = "arm,malit602", "arm,malit60x", "arm,malit6xx", "arm,mali-midgard"; 758 reg = <0x0 0xfde60000 0x0 0x4000>; 759 760 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 761 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 762 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 763 interrupt-names = "GPU", "MMU", "JOB"; 764 765 upthreshold = <40>; 766 downdifferential = <10>; 767 768 clocks = <&cru CLK_GPU>; 769 clock-names = "clk_mali"; 770 power-domains = <&power RK3568_PD_GPU>; 771 #cooling-cells = <2>; 772 operating-points-v2 = <&gpu_opp_table>; 773 774 status = "disabled"; 775 power_model { 776 compatible = "arm,mali-simple-power-model"; 777 static-coefficient = <411000>; 778 dynamic-coefficient = <733>; 779 ts = <32000 4700 (-80) 2>; 780 thermal-zone = "gpu-thermal"; 781 }; 782 }; 783 784 gpu_opp_table: opp-table2 { 785 compatible = "operating-points-v2"; 786 787 opp-200000000 { 788 opp-hz = /bits/ 64 <200000000>; 789 opp-microvolt = <1000000>; 790 }; 791 opp-300000000 { 792 opp-hz = /bits/ 64 <300000000>; 793 opp-microvolt = <1000000>; 794 }; 795 opp-400000000 { 796 opp-hz = /bits/ 64 <400000000>; 797 opp-microvolt = <1000000>; 798 }; 799 opp-600000000 { 800 opp-hz = /bits/ 64 <600000000>; 801 opp-microvolt = <1000000>; 802 }; 803 }; 804 805 pvtm@fde80000 { 806 compatible = "rockchip,rk3568-gpu-pvtm"; 807 reg = <0x0 0xfde80000 0x0 0x100>; 808 #address-cells = <1>; 809 #size-cells = <0>; 810 pvtm@1 { 811 reg = <1>; 812 clocks = <&cru CLK_GPU_PVTM>, <&cru PCLK_GPU_PVTM>; 813 clock-names = "clk", "pclk"; 814 resets = <&cru SRST_GPU_PVTM>, <&cru SRST_P_GPU_PVTM>; 815 reset-names = "rts", "rst-p"; 816 thermal-zone = "gpu-thermal"; 817 }; 818 }; 819 820 pvtm@fde90000 { 821 compatible = "rockchip,rk3568-npu-pvtm"; 822 reg = <0x0 0xfde90000 0x0 0x100>; 823 #address-cells = <1>; 824 #size-cells = <0>; 825 pvtm@2 { 826 reg = <2>; 827 clocks = <&cru CLK_NPU_PVTM>, <&cru PCLK_NPU_PVTM>, 828 <&cru HCLK_NPU_PRE>; 829 clock-names = "clk", "pclk", "hclk"; 830 resets = <&cru SRST_NPU_PVTM>, <&cru SRST_P_NPU_PVTM>; 831 reset-names = "rts", "rst-p"; 832 thermal-zone = "soc-thermal"; 833 }; 834 }; 835 836 vdpu: vdpu@fdea0400 { 837 compatible = "rockchip,vpu-decoder-v2"; 838 reg = <0x0 0xfdea0400 0x0 0x400>; 839 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 840 interrupt-names = "irq_dec"; 841 clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 842 clock-names = "aclk_vcodec", "hclk_vcodec"; 843 resets = <&cru SRST_A_VPU>, <&cru SRST_H_VPU>; 844 reset-names = "video_a", "video_h"; 845 iommus = <&vdpu_mmu>; 846 power-domains = <&power RK3568_PD_VPU>; 847 rockchip,srv = <&mpp_srv>; 848 rockchip,taskqueue-node = <0>; 849 rockchip,resetgroup-node = <0>; 850 status = "disabled"; 851 }; 852 853 vdpu_mmu: iommu@fdea0800 { 854 compatible = "rockchip,iommu-v2"; 855 reg = <0x0 0xfdea0800 0x0 0x40>; 856 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 857 interrupt-names = "vdpu_mmu"; 858 clock-names = "aclk", "iface"; 859 clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 860 power-domains = <&power RK3568_PD_VPU>; 861 #iommu-cells = <0>; 862 status = "disabled"; 863 }; 864 865 rk_rga: rk_rga@fdeb0000 { 866 compatible = "rockchip,rga2"; 867 reg = <0x0 0xfdeb0000 0x0 0x1000>; 868 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 869 clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_RGA_CORE>; 870 clock-names = "aclk_rga", "hclk_rga", "clk_rga"; 871 power-domains = <&power RK3568_PD_RGA>; 872 status = "disabled"; 873 }; 874 875 ebc: ebc@fdec0000 { 876 compatible = "rockchip,rk3568-ebc-tcon"; 877 reg = <0x0 0xfdec0000 0x0 0x5000>; 878 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 879 clocks = <&cru HCLK_EBC>, <&cru DCLK_EBC>; 880 clock-names = "hclk", "dclk"; 881 power-domains = <&power RK3568_PD_RGA>; 882 rockchip,grf = <&grf>; 883 pinctrl-names = "default"; 884 pinctrl-0 = <&ebc_pins>; 885 status = "disabled"; 886 }; 887 888 jpegd: jpegd@fded0000 { 889 compatible = "rockchip,rkv-jpeg-decoder-v1"; 890 reg = <0x0 0xfded0000 0x0 0x400>; 891 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 892 clocks = <&cru ACLK_JDEC>, <&cru HCLK_JDEC>; 893 clock-names = "aclk_vcodec", "hclk_vcodec"; 894 rockchip,normal-rates = <297000000>, <0>; 895 resets = <&cru SRST_A_JDEC>, <&cru SRST_H_JDEC>; 896 reset-names = "video_a", "video_h"; 897 iommus = <&jpegd_mmu>; 898 rockchip,srv = <&mpp_srv>; 899 rockchip,taskqueue-node = <1>; 900 rockchip,resetgroup-node = <1>; 901 power-domains = <&power RK3568_PD_RGA>; 902 status = "disabled"; 903 }; 904 905 jpegd_mmu: iommu@fded0480 { 906 compatible = "rockchip,iommu-v2"; 907 reg = <0x0 0xfded0480 0x0 0x40>; 908 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 909 interrupt-names = "jpegd_mmu"; 910 clock-names = "aclk", "iface"; 911 clocks = <&cru ACLK_JDEC>, <&cru HCLK_JDEC>; 912 power-domains = <&power RK3568_PD_RGA>; 913 #iommu-cells = <0>; 914 status = "disabled"; 915 }; 916 917 vepu: vepu@fdee0000 { 918 compatible = "rockchip,vpu-encoder-v2"; 919 reg = <0x0 0xfdee0000 0x0 0x400>; 920 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 921 clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>; 922 clock-names = "aclk_vcodec", "hclk_vcodec"; 923 rockchip,normal-rates = <297000000>, <0>; 924 resets = <&cru SRST_A_JENC>, <&cru SRST_H_JENC>; 925 reset-names = "video_a", "video_h"; 926 iommus = <&vepu_mmu>; 927 rockchip,srv = <&mpp_srv>; 928 rockchip,taskqueue-node = <2>; 929 rockchip,resetgroup-node = <2>; 930 power-domains = <&power RK3568_PD_RGA>; 931 status = "disabled"; 932 }; 933 934 vepu_mmu: iommu@fdee0800 { 935 compatible = "rockchip,iommu-v2"; 936 reg = <0x0 0xfdee0800 0x0 0x40>; 937 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 938 interrupt-names = "vepu_mmu"; 939 clock-names = "aclk", "iface"; 940 clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>; 941 power-domains = <&power RK3568_PD_RGA>; 942 #iommu-cells = <0>; 943 status = "disabled"; 944 }; 945 946 iep: iep@fdef0000 { 947 compatible = "rockchip,iep-v2"; 948 reg = <0x0 0xfdef0000 0x0 0x500>; 949 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 950 clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>, <&cru CLK_IEP_CORE>; 951 clock-names = "aclk", "hclk", "sclk"; 952 resets = <&cru SRST_A_IEP>, <&cru SRST_H_IEP>, 953 <&cru SRST_IEP_CORE>; 954 reset-names = "rst_a", "rst_h", "rst_s"; 955 power-domains = <&power RK3568_PD_RGA>; 956 rockchip,srv = <&mpp_srv>; 957 rockchip,taskqueue-node = <5>; 958 rockchip,resetgroup-node = <5>; 959 iommus = <&iep_mmu>; 960 status = "disabled"; 961 }; 962 963 iep_mmu: iommu@fdef0800 { 964 compatible = "rockchip,iommu-v2"; 965 reg = <0x0 0xfdef0800 0x0 0x100>; 966 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 967 interrupt-names = "iep_mmu"; 968 clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>; 969 clock-names = "aclk", "iface"; 970 #iommu-cells = <0>; 971 power-domains = <&power RK3568_PD_RGA>; 972 //rockchip,disable-device-link-resume; 973 status = "disabled"; 974 }; 975 976 eink: eink@fdf00000 { 977 compatible = "rockchip,rk3568-eink-tcon"; 978 reg = <0x0 0xfdf00000 0x0 0x74>; 979 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>; 980 clocks = <&cru PCLK_EINK>, <&cru HCLK_EINK>; 981 clock-names = "pclk", "hclk"; 982 status = "disabled"; 983 }; 984 985 rkvenc: rkvenc@fdf40000 { 986 compatible = "rockchip,rkv-encoder-v1"; 987 reg = <0x0 0xfdf40000 0x0 0x400>; 988 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 989 interrupt-names = "irq_enc"; 990 clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>, 991 <&cru CLK_RKVENC_CORE>; 992 clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; 993 rockchip,normal-rates = <297000000>, <0>, <400000000>; 994 rockchip,advanced-rates = <297000000>, <0>, <500000000>; 995 rockchip,default-max-load = <2088960>; 996 resets = <&cru SRST_A_RKVENC>, <&cru SRST_H_RKVENC>, 997 <&cru SRST_RKVENC_CORE>; 998 reset-names = "video_a", "video_h", "video_core"; 999 assigned-clocks = <&cru ACLK_RKVENC>, <&cru CLK_RKVENC_CORE>; 1000 assigned-clock-rates = <297000000>, <297000000>; 1001 iommus = <&rkvenc_mmu>; 1002 node-name = "rkvenc"; 1003 rockchip,srv = <&mpp_srv>; 1004 rockchip,taskqueue-node = <3>; 1005 rockchip,resetgroup-node = <3>; 1006 power-domains = <&power RK3568_PD_RKVENC>; 1007 status = "disabled"; 1008 }; 1009 1010 rkvenc_mmu: iommu@fdf40f00 { 1011 compatible = "rockchip,iommu-v2"; 1012 reg = <0x0 0xfdf40f00 0x0 0x40>, <0x0 0xfdf40f40 0x0 0x40>; 1013 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, 1014 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 1015 interrupt-names = "rkvenc_mmu0", "rkvenc_mmu1"; 1016 clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>; 1017 clock-names = "aclk", "iface"; 1018 rockchip,disable-mmu-reset; 1019 rockchip,enable-cmd-retry; 1020 #iommu-cells = <0>; 1021 power-domains = <&power RK3568_PD_RKVENC>; 1022 status = "disabled"; 1023 }; 1024 1025 rkvdec: rkvdec@fdf80200 { 1026 compatible = "rockchip,rkv-decoder-v2"; 1027 reg = <0x0 0xfdf80200 0x0 0x400>; 1028 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 1029 interrupt-names = "irq_dec"; 1030 clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, 1031 <&cru CLK_RKVDEC_CA>, <&cru CLK_RKVDEC_CORE>, 1032 <&cru CLK_RKVDEC_HEVC_CA>; 1033 clock-names = "aclk_vcodec", "hclk_vcodec","clk_cabac", 1034 "clk_core", "clk_hevc_cabac"; 1035 rockchip,normal-rates = <297000000>, <0>, <297000000>, 1036 <297000000>, <400000000>; 1037 rockchip,advanced-rates = <400000000>, <0>, <400000000>, 1038 <400000000>, <500000000>; 1039 rockchip,default-max-load = <2088960>; 1040 resets = <&cru SRST_A_RKVDEC>, <&cru SRST_H_RKVDEC>, 1041 <&cru SRST_RKVDEC_CA>, <&cru SRST_RKVDEC_CORE>, 1042 <&cru SRST_RKVDEC_HEVC_CA>; 1043 assigned-clocks = <&cru ACLK_RKVDEC>, <&cru CLK_RKVDEC_CA>, 1044 <&cru CLK_RKVDEC_CORE>, <&cru CLK_RKVDEC_HEVC_CA>; 1045 assigned-clock-rates = <297000000>, <297000000>, <297000000>, <297000000>; 1046 reset-names = "video_a", "video_h", "video_cabac", 1047 "video_core", "video_hevc_cabac"; 1048 power-domains = <&power RK3568_PD_RKVDEC>; 1049 iommus = <&rkvdec_mmu>; 1050 rockchip,srv = <&mpp_srv>; 1051 rockchip,taskqueue-node = <4>; 1052 rockchip,resetgroup-node = <4>; 1053 status = "disabled"; 1054 }; 1055 1056 rkvdec_mmu: iommu@fdf80800 { 1057 compatible = "rockchip,iommu-v2"; 1058 reg = <0x0 0xfdf80800 0x0 0x40>, <0x0 0xfdf80840 0x0 0x40>; 1059 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 1060 interrupt-names = "rkvdec_mmu"; 1061 clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>; 1062 clock-names = "aclk", "iface"; 1063 power-domains = <&power RK3568_PD_RKVDEC>; 1064 #iommu-cells = <0>; 1065 status = "disabled"; 1066 }; 1067 1068 mipi_csi2: mipi-csi2@fdfb0000 { 1069 compatible = "rockchip,rk3568-mipi-csi2"; 1070 reg = <0x0 0xfdfb0000 0x0 0x10000>; 1071 reg-names = "csihost_regs"; 1072 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 1073 <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1074 interrupt-names = "csi-intr1", "csi-intr2"; 1075 clocks = <&cru PCLK_CSI2HOST1>, <&cru SRST_P_CSI2HOST1>; 1076 clock-names = "pclk_csi2host", "srst_csihost_p"; 1077 power-domains = <&power RK3568_PD_VI>; 1078 status = "disabled"; 1079 }; 1080 1081 rkcif: rkcif@fdfe0000 { 1082 compatible = "rockchip,rk3568-cif"; 1083 reg = <0x0 0xfdfe0000 0x0 0x8000>; 1084 reg-names = "cif_regs"; 1085 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 1086 interrupt-names = "cif-intr"; 1087 1088 clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>, 1089 <&cru DCLK_VICAP>, <&cru ICLK_VICAP_G>; 1090 clock-names = "aclk_cif", "hclk_cif", 1091 "dclk_cif", "iclk_cif_g"; 1092 resets = <&cru SRST_A_VICAP>, <&cru SRST_H_VICAP>, 1093 <&cru SRST_D_VICAP>, <&cru SRST_P_VICAP>, 1094 <&cru SRST_I_VICAP>; 1095 reset-names = "rst_cif_a", "rst_cif_h", 1096 "rst_cif_d", "rst_cif_p", 1097 "rst_cif_i"; 1098 assigned-clocks = <&cru DCLK_VICAP>; 1099 assigned-clock-rates = <300000000>; 1100 power-domains = <&power RK3568_PD_VI>; 1101 rockchip,grf = <&grf>; 1102 iommus = <&rkcif_mmu>; 1103 status = "disabled"; 1104 }; 1105 1106 rkcif_mmu: iommu@fdfe0800 { 1107 compatible = "rockchip,iommu"; 1108 reg = <0x0 0xfdfe0800 0x0 0x100>; 1109 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 1110 interrupt-names = "cif_mmu"; 1111 clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>; 1112 clock-names = "aclk", "iface"; 1113 power-domains = <&power RK3568_PD_VI>; 1114 #iommu-cells = <0>; 1115 rockchip,disable-mmu-reset; 1116 status = "disabled"; 1117 }; 1118 1119 rkcif_dvp: rkcif_dvp { 1120 compatible = "rockchip,rkcif-dvp"; 1121 rockchip,hw = <&rkcif>; 1122 iommus = <&rkcif_mmu>; 1123 status = "disabled"; 1124 }; 1125 1126 rkcif_dvp_sditf: rkcif_dvp_sditf { 1127 compatible = "rockchip,rkcif-sditf"; 1128 rockchip,cif = <&rkcif_dvp>; 1129 status = "disabled"; 1130 }; 1131 1132 rkcif_mipi_lvds: rkcif_mipi_lvds { 1133 compatible = "rockchip,rkcif-mipi-lvds"; 1134 rockchip,hw = <&rkcif>; 1135 iommus = <&rkcif_mmu>; 1136 status = "disabled"; 1137 }; 1138 1139 rkcif_mipi_lvds_sditf: rkcif_mipi_lvds_sditf { 1140 compatible = "rockchip,rkcif-sditf"; 1141 rockchip,cif = <&rkcif_mipi_lvds>; 1142 status = "disabled"; 1143 }; 1144 1145 rkisp: rkisp@fdff0000 { 1146 compatible = "rockchip,rk3568-rkisp"; 1147 reg = <0x0 0xfdff0000 0x0 0x10000>; 1148 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 1149 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 1150 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 1151 interrupt-names = "mipi_irq", "mi_irq", "isp_irq"; 1152 clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>, <&cru CLK_ISP>; 1153 clock-names = "aclk_isp", "hclk_isp", "clk_isp"; 1154 resets = <&cru SRST_ISP>, <&cru SRST_H_ISP>; 1155 reset-names = "isp", "isp-h"; 1156 rockchip,grf = <&grf>; 1157 power-domains = <&power RK3568_PD_VI>; 1158 iommus = <&rkisp_mmu>; 1159 status = "disabled"; 1160 }; 1161 1162 rkisp_mmu: iommu@fdff1a00 { 1163 compatible = "rockchip,iommu"; 1164 reg = <0x0 0xfdff1a00 0x0 0x100>; 1165 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 1166 interrupt-names = "isp_mmu"; 1167 clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>; 1168 clock-names = "aclk", "iface"; 1169 power-domains = <&power RK3568_PD_VI>; 1170 #iommu-cells = <0>; 1171 rockchip,disable-mmu-reset; 1172 status = "disabled"; 1173 }; 1174 1175 rkisp_vir0: rkisp-vir0 { 1176 compatible = "rockchip,rkisp-vir"; 1177 rockchip,hw = <&rkisp>; 1178 status = "disabled"; 1179 }; 1180 1181 rkisp_vir1: rkisp-vir1 { 1182 compatible = "rockchip,rkisp-vir"; 1183 rockchip,hw = <&rkisp>; 1184 status = "disabled"; 1185 }; 1186 1187 gmac1: ethernet@fe010000 { 1188 compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a"; 1189 reg = <0x0 0xfe010000 0x0 0x10000>; 1190 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 1191 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 1192 interrupt-names = "macirq", "eth_wake_irq"; 1193 rockchip,grf = <&grf>; 1194 clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>, 1195 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>, 1196 <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>, 1197 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>; 1198 clock-names = "stmmaceth", "mac_clk_rx", 1199 "mac_clk_tx", "clk_mac_refout", 1200 "aclk_mac", "pclk_mac", 1201 "clk_mac_speed", "ptp_ref"; 1202 resets = <&cru SRST_A_GMAC1>; 1203 reset-names = "stmmaceth"; 1204 1205 snps,mixed-burst; 1206 snps,tso; 1207 1208 snps,axi-config = <&gmac1_stmmac_axi_setup>; 1209 snps,mtl-rx-config = <&gmac1_mtl_rx_setup>; 1210 snps,mtl-tx-config = <&gmac1_mtl_tx_setup>; 1211 status = "disabled"; 1212 1213 mdio1: mdio { 1214 compatible = "snps,dwmac-mdio"; 1215 #address-cells = <0x1>; 1216 #size-cells = <0x0>; 1217 }; 1218 1219 gmac1_stmmac_axi_setup: stmmac-axi-config { 1220 snps,wr_osr_lmt = <4>; 1221 snps,rd_osr_lmt = <8>; 1222 snps,blen = <0 0 0 0 16 8 4>; 1223 }; 1224 1225 gmac1_mtl_rx_setup: rx-queues-config { 1226 snps,rx-queues-to-use = <1>; 1227 queue0 {}; 1228 }; 1229 1230 gmac1_mtl_tx_setup: tx-queues-config { 1231 snps,tx-queues-to-use = <1>; 1232 queue0 {}; 1233 }; 1234 }; 1235 1236 vop: vop@fe040000 { 1237 compatible = "rockchip,rk3568-vop"; 1238 reg = <0x0 0xfe040000 0x0 0x3000>; 1239 reg-names = "regs"; 1240 rockchip,grf = <&grf>; 1241 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 1242 clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>; 1243 clock-names = "aclk_vop", "hclk_vop", "dclk_vp0", "dclk_vp1", "dclk_vp2"; 1244 iommus = <&vop_mmu>; 1245 power-domains = <&power RK3568_PD_VO>; 1246 status = "disabled"; 1247 1248 vop_out: ports { 1249 #address-cells = <1>; 1250 #size-cells = <0>; 1251 1252 port@0 { 1253 #address-cells = <1>; 1254 #size-cells = <0>; 1255 reg = <0>; 1256 1257 vp0_out_dsi0: endpoint@0 { 1258 reg = <0>; 1259 remote-endpoint = <&dsi0_in_vp0>; 1260 }; 1261 1262 vp0_out_dsi1: endpoint@1 { 1263 reg = <1>; 1264 remote-endpoint = <&dsi1_in_vp0>; 1265 }; 1266 1267 vp0_out_edp: endpoint@2 { 1268 reg = <2>; 1269 remote-endpoint = <&edp_in_vp0>; 1270 }; 1271 1272 vp0_out_hdmi: endpoint@3 { 1273 reg = <3>; 1274 remote-endpoint = <&hdmi_in_vp0>; 1275 }; 1276 }; 1277 1278 port@1 { 1279 #address-cells = <1>; 1280 #size-cells = <0>; 1281 reg = <1>; 1282 1283 vp1_out_dsi0: endpoint@0 { 1284 reg = <0>; 1285 remote-endpoint = <&dsi0_in_vp1>; 1286 }; 1287 1288 vp1_out_dsi1: endpoint@1 { 1289 reg = <1>; 1290 remote-endpoint = <&dsi1_in_vp1>; 1291 }; 1292 1293 vp1_out_edp: endpoint@2 { 1294 reg = <2>; 1295 remote-endpoint = <&edp_in_vp1>; 1296 }; 1297 1298 vp1_out_hdmi: endpoint@3 { 1299 reg = <3>; 1300 remote-endpoint = <&hdmi_in_vp1>; 1301 }; 1302 1303 vp1_out_lvds0: endpoint@4 { 1304 reg = <4>; 1305 remote-endpoint = <&lvds0_in_vp1>; 1306 }; 1307 1308 vp1_out_lvds1: endpoint@5 { 1309 reg = <5>; 1310 remote-endpoint = <&lvds1_in_vp1>; 1311 }; 1312 1313 }; 1314 1315 port@2 { 1316 #address-cells = <1>; 1317 #size-cells = <0>; 1318 1319 reg = <2>; 1320 1321 vp2_out_lvds0: endpoint@0 { 1322 reg = <0>; 1323 remote-endpoint = <&lvds0_in_vp2>; 1324 }; 1325 1326 vp2_out_lvds1: endpoint@1 { 1327 reg = <1>; 1328 remote-endpoint = <&lvds1_in_vp2>; 1329 }; 1330 1331 vp2_out_rgb: endpoint@2 { 1332 reg = <2>; 1333 remote-endpoint = <&rgb_in_vp2>; 1334 }; 1335 }; 1336 }; 1337 }; 1338 1339 vop_mmu: iommu@fe043e00 { 1340 compatible = "rockchip,iommu-v2"; 1341 reg = <0x0 0xfe043e00 0x0 0x100>, <0x0 0xfe043f00 0x0 0x100>; 1342 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 1343 interrupt-names = "vop_mmu"; 1344 clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 1345 clock-names = "aclk", "iface"; 1346 #iommu-cells = <0>; 1347 status = "disabled"; 1348 }; 1349 1350 dsi0: dsi@fe060000 { 1351 compatible = "rockchip,rk3568-mipi-dsi"; 1352 reg = <0x0 0xfe060000 0x0 0x10000>; 1353 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 1354 clocks = <&cru PCLK_DSITX_0>, <&cru HCLK_VO>, <&mipi_dphy0>; 1355 clock-names = "pclk", "hclk", "hs_clk"; 1356 resets = <&cru SRST_P_DSITX_0>; 1357 reset-names = "apb"; 1358 phys = <&mipi_dphy0>; 1359 phy-names = "mipi_dphy"; 1360 power-domains = <&power RK3568_PD_VO>; 1361 rockchip,grf = <&grf>; 1362 #address-cells = <1>; 1363 #size-cells = <0>; 1364 status = "disabled"; 1365 1366 ports { 1367 #address-cells = <1>; 1368 #size-cells = <0>; 1369 1370 dsi0_in: port@0 { 1371 reg = <0>; 1372 #address-cells = <1>; 1373 #size-cells = <0>; 1374 1375 dsi0_in_vp0: endpoint@0 { 1376 reg = <0>; 1377 remote-endpoint = <&vp0_out_dsi0>; 1378 }; 1379 1380 dsi0_in_vp1: endpoint@1 { 1381 reg = <1>; 1382 remote-endpoint = <&vp1_out_dsi0>; 1383 }; 1384 }; 1385 }; 1386 }; 1387 1388 dsi1: dsi@fe070000 { 1389 compatible = "rockchip,rk3568-mipi-dsi"; 1390 reg = <0x0 0xfe070000 0x0 0x10000>; 1391 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 1392 clocks = <&cru PCLK_DSITX_1>, <&cru HCLK_VO>, <&mipi_dphy1>; 1393 clock-names = "pclk", "hclk", "hs_clk"; 1394 resets = <&cru SRST_P_DSITX_1>; 1395 reset-names = "apb"; 1396 phys = <&mipi_dphy1>; 1397 phy-names = "mipi_dphy"; 1398 power-domains = <&power RK3568_PD_VO>; 1399 rockchip,grf = <&grf>; 1400 #address-cells = <1>; 1401 #size-cells = <0>; 1402 status = "disabled"; 1403 1404 ports { 1405 #address-cells = <1>; 1406 #size-cells = <0>; 1407 1408 dsi1_in: port@0 { 1409 reg = <0>; 1410 #address-cells = <1>; 1411 #size-cells = <0>; 1412 1413 dsi1_in_vp0: endpoint@0 { 1414 reg = <0>; 1415 remote-endpoint = <&vp0_out_dsi1>; 1416 }; 1417 1418 dsi1_in_vp1: endpoint@1 { 1419 reg = <1>; 1420 remote-endpoint = <&vp1_out_dsi1>; 1421 }; 1422 }; 1423 }; 1424 }; 1425 1426 hdmi: hdmi@fe0a0000 { 1427 compatible = "rockchip,rk3568-dw-hdmi"; 1428 reg = <0x0 0xfe0a0000 0x0 0x20000>; 1429 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 1430 clocks = <&cru PCLK_HDMI_HOST>, 1431 <&cru CLK_HDMI_SFR>, 1432 <&cru CLK_HDMI_CEC>, 1433 <&pmucru PLL_HPLL>, 1434 <&cru HCLK_VOP>; 1435 clock-names = "iahb", "isfr", "cec", "ref", "hclk"; 1436 power-domains = <&power RK3568_PD_VO>; 1437 reg-io-width = <4>; 1438 rockchip,grf = <&grf>; 1439 #sound-dai-cells = <0>; 1440 pinctrl-names = "default"; 1441 pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>; 1442 status = "disabled"; 1443 1444 ports { 1445 #address-cells = <1>; 1446 #size-cells = <0>; 1447 1448 hdmi_in: port { 1449 reg = <0>; 1450 #address-cells = <1>; 1451 #size-cells = <0>; 1452 1453 hdmi_in_vp0: endpoint@0 { 1454 reg = <0>; 1455 remote-endpoint = <&vp0_out_hdmi>; 1456 }; 1457 hdmi_in_vp1: endpoint@1 { 1458 reg = <1>; 1459 remote-endpoint = <&vp1_out_hdmi>; 1460 }; 1461 }; 1462 }; 1463 }; 1464 1465 edp: edp@fe0c0000 { 1466 compatible = "rockchip,rk3568-edp"; 1467 reg = <0x0 0xfe0c0000 0x0 0x10000>; 1468 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 1469 clocks = <&pmucru XIN_OSC0_EDPPHY_G>, <&cru PCLK_EDP_CTRL>, 1470 <&cru CLK_EDP_200M>, <&cru HCLK_VO>; 1471 clock-names = "dp", "pclk", "spdif", "hclk"; 1472 resets = <&cru SRST_EDP_24M>, <&cru SRST_P_EDP_CTRL>; 1473 reset-names = "dp", "apb"; 1474 phys = <&edp_phy>; 1475 phy-names = "dp"; 1476 power-domains = <&power RK3568_PD_VO>; 1477 status = "disabled"; 1478 1479 ports { 1480 #address-cells = <1>; 1481 #size-cells = <0>; 1482 1483 edp_in: port@0 { 1484 reg = <0>; 1485 #address-cells = <1>; 1486 #size-cells = <0>; 1487 1488 edp_in_vp0: endpoint@0 { 1489 reg = <0>; 1490 remote-endpoint = <&vp0_out_edp>; 1491 }; 1492 1493 edp_in_vp1: endpoint@1 { 1494 reg = <1>; 1495 remote-endpoint = <&vp1_out_edp>; 1496 }; 1497 }; 1498 }; 1499 }; 1500 1501 qos_gpu: qos@fe128000 { 1502 compatible = "syscon"; 1503 reg = <0x0 0xfe128000 0x0 0x20>; 1504 }; 1505 1506 qos_rkvenc_rd_m0: qos@fe138080 { 1507 compatible = "syscon"; 1508 reg = <0x0 0xfe138080 0x0 0x20>; 1509 }; 1510 1511 qos_rkvenc_rd_m1: qos@fe138100 { 1512 compatible = "syscon"; 1513 reg = <0x0 0xfe138100 0x0 0x20>; 1514 }; 1515 1516 qos_rkvenc_wr_m0: qos@fe138180 { 1517 compatible = "syscon"; 1518 reg = <0x0 0xfe138180 0x0 0x20>; 1519 }; 1520 1521 qos_isp: qos@fe148000 { 1522 compatible = "syscon"; 1523 reg = <0x0 0xfe148000 0x0 0x20>; 1524 }; 1525 1526 qos_vicap0: qos@fe148080 { 1527 compatible = "syscon"; 1528 reg = <0x0 0xfe148080 0x0 0x20>; 1529 }; 1530 1531 qos_vicap1: qos@fe148100 { 1532 compatible = "syscon"; 1533 reg = <0x0 0xfe148100 0x0 0x20>; 1534 }; 1535 1536 qos_vpu: qos@fe150000 { 1537 compatible = "syscon"; 1538 reg = <0x0 0xfe150000 0x0 0x20>; 1539 }; 1540 1541 qos_ebc: qos@fe158000 { 1542 compatible = "syscon"; 1543 reg = <0x0 0xfe158000 0x0 0x20>; 1544 }; 1545 1546 qos_iep: qos@fe158100 { 1547 compatible = "syscon"; 1548 reg = <0x0 0xfe158100 0x0 0x20>; 1549 }; 1550 1551 qos_jpeg_dec: qos@fe158180 { 1552 compatible = "syscon"; 1553 reg = <0x0 0xfe158180 0x0 0x20>; 1554 }; 1555 1556 qos_jpeg_enc: qos@fe158200 { 1557 compatible = "syscon"; 1558 reg = <0x0 0xfe158200 0x0 0x20>; 1559 }; 1560 1561 qos_rga_rd: qos@fe158280 { 1562 compatible = "syscon"; 1563 reg = <0x0 0xfe158280 0x0 0x20>; 1564 }; 1565 1566 qos_rga_wr: qos@fe158300 { 1567 compatible = "syscon"; 1568 reg = <0x0 0xfe158300 0x0 0x20>; 1569 }; 1570 1571 qos_npu: qos@fe180000 { 1572 compatible = "syscon"; 1573 reg = <0x0 0xfe180000 0x0 0x20>; 1574 }; 1575 1576 qos_pcie2x1: qos@fe190000 { 1577 compatible = "syscon"; 1578 reg = <0x0 0xfe190000 0x0 0x20>; 1579 }; 1580 1581 qos_pcie3x1: qos@fe190080 { 1582 compatible = "syscon"; 1583 reg = <0x0 0xfe190080 0x0 0x20>; 1584 }; 1585 1586 qos_pcie3x2: qos@fe190100 { 1587 compatible = "syscon"; 1588 reg = <0x0 0xfe190100 0x0 0x20>; 1589 }; 1590 1591 qos_sata0: qos@fe190200 { 1592 compatible = "syscon"; 1593 reg = <0x0 0xfe190200 0x0 0x20>; 1594 }; 1595 1596 qos_sata1: qos@fe190280 { 1597 compatible = "syscon"; 1598 reg = <0x0 0xfe190280 0x0 0x20>; 1599 }; 1600 1601 qos_sata2: qos@fe190300 { 1602 compatible = "syscon"; 1603 reg = <0x0 0xfe190300 0x0 0x20>; 1604 }; 1605 1606 qos_usb3_0: qos@fe190380 { 1607 compatible = "syscon"; 1608 reg = <0x0 0xfe190380 0x0 0x20>; 1609 }; 1610 1611 qos_usb3_1: qos@fe190400 { 1612 compatible = "syscon"; 1613 reg = <0x0 0xfe190400 0x0 0x20>; 1614 }; 1615 1616 qos_rkvdec: qos@fe198000 { 1617 compatible = "syscon"; 1618 reg = <0x0 0xfe198000 0x0 0x20>; 1619 }; 1620 1621 qos_hdcp: qos@fe1a8000 { 1622 compatible = "syscon"; 1623 reg = <0x0 0xfe1a8000 0x0 0x20>; 1624 }; 1625 1626 qos_vop_m0: qos@fe1a8080 { 1627 compatible = "syscon"; 1628 reg = <0x0 0xfe1a8080 0x0 0x20>; 1629 }; 1630 1631 qos_vop_m1: qos@fe1a8100 { 1632 compatible = "syscon"; 1633 reg = <0x0 0xfe1a8100 0x0 0x20>; 1634 }; 1635 1636 sdmmc2: dwmmc@fe000000 { 1637 compatible = "rockchip,rk3568-dw-mshc", 1638 "rockchip,rk3288-dw-mshc"; 1639 reg = <0x0 0xfe000000 0x0 0x4000>; 1640 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 1641 max-frequency = <150000000>; 1642 clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>, 1643 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>; 1644 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1645 fifo-depth = <0x100>; 1646 resets = <&cru SRST_SDMMC2>; 1647 reset-names = "reset"; 1648 status = "disabled"; 1649 }; 1650 1651 pcie2x1: pcie@fe260000 { 1652 compatible = "rockchip,rk3568-pcie", "snps,dw-pcie"; 1653 #address-cells = <3>; 1654 #size-cells = <2>; 1655 bus-range = <0x0 0x1f>; 1656 clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>, 1657 <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>; 1658 clock-names = "aclk_mst", "aclk_slv", 1659 "aclk_dbi", "pclk"; 1660 device_type = "pci"; 1661 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 1662 <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 1663 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, 1664 <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 1665 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 1666 interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 1667 linux,pci-domain = <0>; 1668 num-ib-windows = <6>; 1669 num-ob-windows = <2>; 1670 max-link-speed = <2>; 1671 msi-map = <0x0 &its 0x0 0x1000>; 1672 num-lanes = <1>; 1673 phys = <&combphy2_psq PHY_TYPE_PCIE>; 1674 phy-names = "pcie-phy"; 1675 power-domains = <&power RK3568_PD_PIPE>; 1676 ranges = <0x00000800 0x0 0xf4000000 0x0 0xf4000000 0x0 0x100000 1677 0x81000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x100000 1678 0x82000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x1e00000 1679 0xc3000000 0x3 0x00000000 0x3 0x00000000 0x0 0x40000000>; 1680 reg = <0x3 0xc0000000 0x0 0x400000>, 1681 <0x0 0xfe260000 0x0 0x10000>; 1682 reg-names = "pcie-dbi", "pcie-apb"; 1683 resets = <&cru SRST_PCIE20_POWERUP>; 1684 reset-names = "pipe"; 1685 status = "disabled"; 1686 }; 1687 1688 pcie3x1: pcie@fe270000 { 1689 compatible = "rockchip,rk3568-pcie", "snps,dw-pcie"; 1690 #address-cells = <3>; 1691 #size-cells = <2>; 1692 bus-range = <0x0 0x1f>; 1693 clocks = <&cru ACLK_PCIE30X1_MST>, <&cru ACLK_PCIE30X1_SLV>, 1694 <&cru ACLK_PCIE30X1_DBI>, <&cru PCLK_PCIE30X1>; 1695 clock-names = "aclk_mst", "aclk_slv", 1696 "aclk_dbi", "pclk"; 1697 device_type = "pci"; 1698 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 1699 <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>, 1700 <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>, 1701 <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 1702 <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 1703 interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 1704 linux,pci-domain = <1>; 1705 num-ib-windows = <6>; 1706 num-ob-windows = <2>; 1707 max-link-speed = <3>; 1708 msi-map = <0x0 &its 0x3000 0x1000>; 1709 num-lanes = <1>; 1710 phys = <&pcie30phy>; 1711 phy-names = "pcie-phy"; 1712 power-domains = <&power RK3568_PD_PIPE>; 1713 ranges = <0x00000800 0x0 0xf2000000 0x0 0xf2000000 0x0 0x100000 1714 0x81000000 0x0 0xf2100000 0x0 0xf2100000 0x0 0x100000 1715 0x82000000 0x0 0xf2200000 0x0 0xf2200000 0x0 0x1e00000 1716 0xc3000000 0x3 0x40000000 0x3 0x40000000 0x0 0x40000000>; 1717 reg = <0x3 0xc0400000 0x0 0x400000>, 1718 <0x0 0xfe270000 0x0 0x10000>; 1719 reg-names = "pcie-dbi", "pcie-apb"; 1720 resets = <&cru SRST_PCIE30X1_POWERUP>; 1721 reset-names = "pipe"; 1722 /* rockchip,bifurcation; lane1 when using 1+1 */ 1723 status = "disabled"; 1724 }; 1725 1726 pcie3x2: pcie@fe280000 { 1727 compatible = "rockchip,rk3568-pcie", "snps,dw-pcie"; 1728 #address-cells = <3>; 1729 #size-cells = <2>; 1730 bus-range = <0x0 0x1f>; 1731 clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>, 1732 <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>; 1733 clock-names = "aclk_mst", "aclk_slv", 1734 "aclk_dbi", "pclk"; 1735 device_type = "pci"; 1736 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>, 1737 <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, 1738 <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 1739 <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 1740 <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; 1741 interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 1742 linux,pci-domain = <2>; 1743 num-ib-windows = <6>; 1744 num-ob-windows = <2>; 1745 max-link-speed = <3>; 1746 msi-map = <0x0 &its 0x2000 0x1000>; 1747 num-lanes = <2>; 1748 phys = <&pcie30phy>; 1749 phy-names = "pcie-phy"; 1750 power-domains = <&power RK3568_PD_PIPE>; 1751 ranges = <0x00000800 0x0 0xf0000000 0x0 0xf0000000 0x0 0x100000 1752 0x81000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x100000 1753 0x82000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0x1e00000 1754 0xc3000000 0x3 0x80000000 0x3 0x80000000 0x0 0x40000000>; 1755 reg = <0x3 0xc0800000 0x0 0x400000>, 1756 <0x0 0xfe280000 0x0 0x10000>; 1757 reg-names = "pcie-dbi", "pcie-apb"; 1758 resets = <&cru SRST_PCIE30X2_POWERUP>; 1759 reset-names = "pipe"; 1760 /* rockchip,bifurcation; lane0 when using 1+1 */ 1761 status = "disabled"; 1762 }; 1763 1764 gmac0: ethernet@fe2a0000 { 1765 compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a"; 1766 reg = <0x0 0xfe2a0000 0x0 0x10000>; 1767 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 1768 <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 1769 interrupt-names = "macirq", "eth_wake_irq"; 1770 rockchip,grf = <&grf>; 1771 clocks = <&cru SCLK_GMAC0>, <&cru SCLK_GMAC0_RX_TX>, 1772 <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_MAC0_REFOUT>, 1773 <&cru ACLK_GMAC0>, <&cru PCLK_GMAC0>, 1774 <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_GMAC0_PTP_REF>; 1775 clock-names = "stmmaceth", "mac_clk_rx", 1776 "mac_clk_tx", "clk_mac_refout", 1777 "aclk_mac", "pclk_mac", 1778 "clk_mac_speed", "ptp_ref"; 1779 resets = <&cru SRST_A_GMAC0>; 1780 reset-names = "stmmaceth"; 1781 1782 snps,mixed-burst; 1783 snps,tso; 1784 1785 snps,axi-config = <&gmac0_stmmac_axi_setup>; 1786 snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; 1787 snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; 1788 status = "disabled"; 1789 1790 mdio0: mdio { 1791 compatible = "snps,dwmac-mdio"; 1792 #address-cells = <0x1>; 1793 #size-cells = <0x0>; 1794 }; 1795 1796 gmac0_stmmac_axi_setup: stmmac-axi-config { 1797 snps,wr_osr_lmt = <4>; 1798 snps,rd_osr_lmt = <8>; 1799 snps,blen = <0 0 0 0 16 8 4>; 1800 }; 1801 1802 gmac0_mtl_rx_setup: rx-queues-config { 1803 snps,rx-queues-to-use = <1>; 1804 queue0 {}; 1805 }; 1806 1807 gmac0_mtl_tx_setup: tx-queues-config { 1808 snps,tx-queues-to-use = <1>; 1809 queue0 {}; 1810 }; 1811 }; 1812 1813 sdmmc0: dwmmc@fe2b0000 { 1814 compatible = "rockchip,rk3568-dw-mshc", 1815 "rockchip,rk3288-dw-mshc"; 1816 reg = <0x0 0xfe2b0000 0x0 0x4000>; 1817 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1818 max-frequency = <150000000>; 1819 clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>, 1820 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>; 1821 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1822 fifo-depth = <0x100>; 1823 resets = <&cru SRST_SDMMC0>; 1824 reset-names = "reset"; 1825 pinctrl-names = "default"; 1826 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>; 1827 status = "disabled"; 1828 }; 1829 1830 sdmmc1: dwmmc@fe2c0000 { 1831 compatible = "rockchip,rk3568-dw-mshc", 1832 "rockchip,rk3288-dw-mshc"; 1833 reg = <0x0 0xfe2c0000 0x0 0x4000>; 1834 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 1835 max-frequency = <150000000>; 1836 clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>, 1837 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>; 1838 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1839 fifo-depth = <0x100>; 1840 resets = <&cru SRST_SDMMC1>; 1841 reset-names = "reset"; 1842 status = "disabled"; 1843 }; 1844 1845 sfc: sfc@fe300000 { 1846 compatible = "rockchip,sfc"; 1847 reg = <0x0 0xfe300000 0x0 0x4000>; 1848 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1849 clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 1850 clock-names = "clk_sfc", "hclk_sfc"; 1851 assigned-clocks = <&cru SCLK_SFC>; 1852 assigned-clock-rates = <100000000>; 1853 status = "disabled"; 1854 }; 1855 1856 sdhci: sdhci@fe310000 { 1857 compatible = "rockchip,dwcmshc-sdhci", "snps,dwcmshc-sdhci"; 1858 reg = <0x0 0xfe310000 0x0 0x10000>; 1859 max-frequency = <200000000>; 1860 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 1861 assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>; 1862 assigned-clock-rates = <200000000>, <24000000>; 1863 clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>, 1864 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>, 1865 <&cru TCLK_EMMC>; 1866 clock-names = "core", "bus", "axi", "block", "timer"; 1867 status = "disabled"; 1868 }; 1869 1870 nandc0: nandc@fe330000 { 1871 compatible = "rockchip,rk-nandc"; 1872 reg = <0x0 0xfe330000 0x0 0x4000>; 1873 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 1874 nandc_id = <0>; 1875 clocks = <&cru NCLK_NANDC>, <&cru HCLK_NANDC>; 1876 clock-names = "clk_nandc", "hclk_nandc"; 1877 status = "disabled"; 1878 }; 1879 1880 crypto: crypto@fe380000 { 1881 compatible = "rockchip,rk3568-crypto"; 1882 reg = <0x0 0xfe380000 0x0 0x4000>; 1883 clocks = <&cru CLK_CRYPTO_NS_CORE>, <&cru CLK_CRYPTO_NS_PKA>; 1884 clock-names = "sclk_crypto", "apkclk_crypto"; 1885 clock-frequency = <150000000>, <300000000>; 1886 status = "disabled"; 1887 }; 1888 1889 rng: rng@fe388000 { 1890 compatible = "rockchip,cryptov2-rng"; 1891 reg = <0x0 0xfe388000 0x0 0x2000>; 1892 status = "disabled"; 1893 }; 1894 1895 secure_otp: secure_otp@fe3a0000 { 1896 compatible = "rockchip,rk3568-secure-otp"; 1897 reg = <0x0 0xfe3a0000 0x0 0x4000>; 1898 secure_conf = <0xfdd18008>; 1899 mask_addr = <0xfe880000>; 1900 cru_rst_addr = <0xfdd20470>; 1901 }; 1902 1903 i2s0_8ch: i2s@fe400000 { 1904 compatible = "rockchip,rk3568-i2s-tdm"; 1905 reg = <0x0 0xfe400000 0x0 0x1000>; 1906 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 1907 clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>; 1908 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1909 dmas = <&dmac1 0>; 1910 dma-names = "tx"; 1911 resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>; 1912 reset-names = "tx-m", "rx-m"; 1913 rockchip,cru = <&cru>; 1914 rockchip,grf = <&grf>; 1915 rockchip,playback-only; 1916 #sound-dai-cells = <0>; 1917 status = "disabled"; 1918 }; 1919 1920 i2s1_8ch: i2s@fe410000 { 1921 compatible = "rockchip,rk3568-i2s-tdm"; 1922 reg = <0x0 0xfe410000 0x0 0x1000>; 1923 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 1924 clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>, <&cru HCLK_I2S1_8CH>; 1925 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1926 dmas = <&dmac1 2>, <&dmac1 3>; 1927 dma-names = "tx", "rx"; 1928 resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>; 1929 reset-names = "tx-m", "rx-m"; 1930 rockchip,cru = <&cru>; 1931 rockchip,grf = <&grf>; 1932 #sound-dai-cells = <0>; 1933 pinctrl-names = "default"; 1934 pinctrl-0 = <&i2s1sclktxm0 1935 &i2s1sclkrxm0 1936 &i2s1lrcktxm0 1937 &i2s1lrckrxm0 1938 &i2s1sdi0m0 1939 &i2s1sdi1m0 1940 &i2s1sdi2m0 1941 &i2s1sdi3m0 1942 &i2s1sdo0m0 1943 &i2s1sdo1m0 1944 &i2s1sdo2m0 1945 &i2s1sdo3m0>; 1946 status = "disabled"; 1947 }; 1948 1949 i2s2_2ch: i2s@fe420000 { 1950 compatible = "rockchip,rk3568-i2s-tdm"; 1951 reg = <0x0 0xfe420000 0x0 0x1000>; 1952 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 1953 clocks = <&cru MCLK_I2S2_2CH>, <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>; 1954 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1955 dmas = <&dmac1 4>, <&dmac1 5>; 1956 dma-names = "tx", "rx"; 1957 rockchip,cru = <&cru>; 1958 rockchip,grf = <&grf>; 1959 rockchip,clk-trcm = <1>; 1960 #sound-dai-cells = <0>; 1961 pinctrl-names = "default"; 1962 pinctrl-0 = <&i2s2sclktxm0 1963 &i2s2lrcktxm0 1964 &i2s2sdim0 1965 &i2s2sdom0>; 1966 status = "disabled"; 1967 }; 1968 1969 i2s3_2ch: i2s@fe430000 { 1970 compatible = "rockchip,rk3568-i2s-tdm"; 1971 reg = <0x0 0xfe430000 0x0 0x1000>; 1972 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 1973 clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>, <&cru HCLK_I2S3_2CH>; 1974 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1975 dmas = <&dmac1 6>, <&dmac1 7>; 1976 dma-names = "tx", "rx"; 1977 resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>; 1978 reset-names = "tx-m", "rx-m"; 1979 rockchip,cru = <&cru>; 1980 rockchip,grf = <&grf>; 1981 #sound-dai-cells = <0>; 1982 pinctrl-names = "default"; 1983 pinctrl-0 = <&i2s3sclkm0 1984 &i2s3lrckm0 1985 &i2s3sdim0 1986 &i2s3sdom0>; 1987 status = "disabled"; 1988 }; 1989 1990 pdm: pdm@fe440000 { 1991 compatible = "rockchip,rk3568-pdm", "rockchip,pdm"; 1992 reg = <0x0 0xfe440000 0x0 0x1000>; 1993 clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>; 1994 clock-names = "pdm_clk", "pdm_hclk"; 1995 dmas = <&dmac1 9>; 1996 dma-names = "rx"; 1997 #sound-dai-cells = <0>; 1998 status = "disabled"; 1999 }; 2000 2001 vad: vad@fe450000 { 2002 compatible = "rockchip,rk3568-vad"; 2003 reg = <0x0 0xfe450000 0x0 0x10000>; 2004 reg-names = "vad"; 2005 clocks = <&cru HCLK_VAD>; 2006 clock-names = "hclk"; 2007 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; 2008 rockchip,audio-src = <0>; 2009 rockchip,det-channel = <0>; 2010 rockchip,mode = <0>; 2011 #sound-dai-cells = <0>; 2012 status = "disabled"; 2013 }; 2014 2015 spdif_8ch: spdif@fe460000 { 2016 compatible = "rockchip,rk3568-spdif"; 2017 reg = <0x0 0xfe460000 0x0 0x1000>; 2018 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 2019 dmas = <&dmac1 1>; 2020 dma-names = "tx"; 2021 clock-names = "mclk", "hclk"; 2022 clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>; 2023 #sound-dai-cells = <0>; 2024 pinctrl-names = "default"; 2025 pinctrl-0 = <&spdifm0_pins>; 2026 status = "disabled"; 2027 }; 2028 2029 audpwm: audpwm@fe470000 { 2030 compatible = "rockchip,rk3568-audio-pwm", "rockchip,audio-pwm-v1"; 2031 reg = <0x0 0xfe470000 0x0 0x1000>; 2032 clocks = <&cru SCLK_AUDPWM>, <&cru HCLK_AUDPWM>; 2033 clock-names = "clk", "hclk"; 2034 dmas = <&dmac1 8>; 2035 dma-names = "tx"; 2036 #sound-dai-cells = <0>; 2037 rockchip,sample-width-bits = <11>; 2038 rockchip,interpolat-points = <1>; 2039 status = "disabled"; 2040 }; 2041 2042 dig_acodec: codec-digital@fe478000 { 2043 compatible = "rockchip,rk3568-codec-digital", "rockchip,codec-digital-v1"; 2044 reg = <0x0 0xfe478000 0x0 0x1000>; 2045 clocks = <&cru CLK_ACDCDIG_ADC>, <&cru CLK_ACDCDIG_DAC>, 2046 <&cru CLK_ACDCDIG_I2C>, <&cru HCLK_ACDCDIG>; 2047 clock-names = "adc", "dac", "i2c", "pclk"; 2048 pinctrl-names = "default"; 2049 pinctrl-0 = <&acodec_pins>; 2050 resets = <&cru SRST_ACDCDIG>; 2051 reset-names = "reset" ; 2052 rockchip,grf = <&grf>; 2053 #sound-dai-cells = <0>; 2054 status = "disabled"; 2055 }; 2056 2057 dmac0: dmac@fe530000 { 2058 compatible = "arm,pl330", "arm,primecell"; 2059 reg = <0x0 0xfe530000 0x0 0x4000>; 2060 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 2061 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 2062 clocks = <&cru ACLK_BUS>; 2063 clock-names = "apb_pclk"; 2064 #dma-cells = <1>; 2065 arm,pl330-periph-burst; 2066 }; 2067 2068 dmac1: dmac@fe550000 { 2069 compatible = "arm,pl330", "arm,primecell"; 2070 reg = <0x0 0xfe550000 0x0 0x4000>; 2071 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 2072 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 2073 clocks = <&cru ACLK_BUS>; 2074 clock-names = "apb_pclk"; 2075 #dma-cells = <1>; 2076 arm,pl330-periph-burst; 2077 }; 2078 2079 can0: can@fe570000 { 2080 compatible = "rockchip,canfd-1.0"; 2081 reg = <0x0 0xfe570000 0x0 0x1000>; 2082 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 2083 clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>; 2084 clock-names = "baudclk", "apb_pclk"; 2085 resets = <&cru SRST_CAN0>, <&cru SRST_P_CAN0>; 2086 reset-names = "can", "can-apb"; 2087 tx-fifo-depth = <1>; 2088 rx-fifo-depth = <6>; 2089 status = "disabled"; 2090 }; 2091 2092 can1: can@fe580000 { 2093 compatible = "rockchip,canfd-1.0"; 2094 reg = <0x0 0xfe580000 0x0 0x1000>; 2095 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 2096 clocks = <&cru CLK_CAN1>, <&cru PCLK_CAN1>; 2097 clock-names = "baudclk", "apb_pclk"; 2098 resets = <&cru SRST_CAN1>, <&cru SRST_P_CAN1>; 2099 reset-names = "can", "can-apb"; 2100 tx-fifo-depth = <1>; 2101 rx-fifo-depth = <6>; 2102 status = "disabled"; 2103 }; 2104 2105 can2: can@fe590000 { 2106 compatible = "rockchip,canfd-1.0"; 2107 reg = <0x0 0xfe590000 0x0 0x1000>; 2108 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 2109 clocks = <&cru CLK_CAN2>, <&cru PCLK_CAN2>; 2110 clock-names = "baudclk", "apb_pclk"; 2111 resets = <&cru SRST_CAN2>, <&cru SRST_P_CAN2>; 2112 reset-names = "can", "can-apb"; 2113 tx-fifo-depth = <1>; 2114 rx-fifo-depth = <6>; 2115 status = "disabled"; 2116 }; 2117 2118 i2c1: i2c@fe5a0000 { 2119 compatible = "rockchip,rk3399-i2c"; 2120 reg = <0x0 0xfe5a0000 0x0 0x1000>; 2121 clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 2122 clock-names = "i2c", "pclk"; 2123 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 2124 pinctrl-names = "default"; 2125 pinctrl-0 = <&i2c1_xfer>; 2126 #address-cells = <1>; 2127 #size-cells = <0>; 2128 status = "disabled"; 2129 }; 2130 2131 i2c2: i2c@fe5b0000 { 2132 compatible = "rockchip,rk3399-i2c"; 2133 reg = <0x0 0xfe5b0000 0x0 0x1000>; 2134 clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 2135 clock-names = "i2c", "pclk"; 2136 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 2137 pinctrl-names = "default"; 2138 pinctrl-0 = <&i2c2m0_xfer>; 2139 #address-cells = <1>; 2140 #size-cells = <0>; 2141 status = "disabled"; 2142 }; 2143 2144 i2c3: i2c@fe5c0000 { 2145 compatible = "rockchip,rk3399-i2c"; 2146 reg = <0x0 0xfe5c0000 0x0 0x1000>; 2147 clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 2148 clock-names = "i2c", "pclk"; 2149 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 2150 pinctrl-names = "default"; 2151 pinctrl-0 = <&i2c3m0_xfer>; 2152 #address-cells = <1>; 2153 #size-cells = <0>; 2154 status = "disabled"; 2155 }; 2156 2157 i2c4: i2c@fe5d0000 { 2158 compatible = "rockchip,rk3399-i2c"; 2159 reg = <0x0 0xfe5d0000 0x0 0x1000>; 2160 clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 2161 clock-names = "i2c", "pclk"; 2162 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 2163 pinctrl-names = "default"; 2164 pinctrl-0 = <&i2c4m0_xfer>; 2165 #address-cells = <1>; 2166 #size-cells = <0>; 2167 status = "disabled"; 2168 }; 2169 2170 i2c5: i2c@fe5e0000 { 2171 compatible = "rockchip,rk3399-i2c"; 2172 reg = <0x0 0xfe5e0000 0x0 0x1000>; 2173 clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 2174 clock-names = "i2c", "pclk"; 2175 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 2176 pinctrl-names = "default"; 2177 pinctrl-0 = <&i2c5m0_xfer>; 2178 #address-cells = <1>; 2179 #size-cells = <0>; 2180 status = "disabled"; 2181 }; 2182 2183 wdt: watchdog@fe600000 { 2184 compatible = "snps,dw-wdt"; 2185 reg = <0x0 0xfe600000 0x0 0x100>; 2186 clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>; 2187 clock-names = "tclk", "pclk"; 2188 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 2189 resets = <&cru SRST_T_WDT_NS>; 2190 reset-names = "reset"; 2191 status = "okay"; 2192 }; 2193 2194 spi0: spi@fe610000 { 2195 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 2196 reg = <0x0 0xfe610000 0x0 0x1000>; 2197 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 2198 #address-cells = <1>; 2199 #size-cells = <0>; 2200 clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 2201 clock-names = "spiclk", "apb_pclk"; 2202 dmas = <&dmac0 20>, <&dmac0 21>; 2203 dma-names = "tx", "rx"; 2204 pinctrl-names = "default", "high_speed"; 2205 pinctrl-0 = <&spi0clkm0 &spi0cs0m0 &spi0cs1m0 &spi0misom0 &spi0mosim0>; 2206 pinctrl-1 = <&spi0clkm0_hs &spi0cs0m0 &spi0cs1m0 &spi0misom0_hs &spi0mosim0_hs>; 2207 status = "disabled"; 2208 }; 2209 2210 spi1: spi@fe620000 { 2211 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 2212 reg = <0x0 0xfe620000 0x0 0x1000>; 2213 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 2214 #address-cells = <1>; 2215 #size-cells = <0>; 2216 clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 2217 clock-names = "spiclk", "apb_pclk"; 2218 dmas = <&dmac0 22>, <&dmac0 23>; 2219 dma-names = "tx", "rx"; 2220 pinctrl-names = "default", "high_speed"; 2221 pinctrl-0 = <&spi1clkm0 &spi1cs0m0 &spi1cs1m0 &spi1misom0 &spi1mosim0>; 2222 pinctrl-1 = <&spi1clkm0_hs &spi1cs0m0 &spi1cs1m0 &spi1misom0_hs &spi1mosim0_hs>; 2223 status = "disabled"; 2224 }; 2225 2226 spi2: spi@fe630000 { 2227 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 2228 reg = <0x0 0xfe630000 0x0 0x1000>; 2229 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 2230 #address-cells = <1>; 2231 #size-cells = <0>; 2232 clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>; 2233 clock-names = "spiclk", "apb_pclk"; 2234 dmas = <&dmac0 24>, <&dmac0 25>; 2235 dma-names = "tx", "rx"; 2236 pinctrl-names = "default", "high_speed"; 2237 pinctrl-0 = <&spi2clkm0 &spi2cs0m0 &spi2cs1m0 &spi2misom0 &spi2mosim0>; 2238 pinctrl-1 = <&spi2clkm0_hs &spi2cs0m0 &spi2cs1m0 &spi2misom0_hs &spi2mosim0_hs>; 2239 status = "disabled"; 2240 }; 2241 2242 spi3: spi@fe640000 { 2243 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 2244 reg = <0x0 0xfe640000 0x0 0x1000>; 2245 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 2246 #address-cells = <1>; 2247 #size-cells = <0>; 2248 clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>; 2249 clock-names = "spiclk", "apb_pclk"; 2250 dmas = <&dmac0 26>, <&dmac0 27>; 2251 dma-names = "tx", "rx"; 2252 pinctrl-names = "default", "high_speed"; 2253 pinctrl-0 = <&spi3clkm0 &spi3cs0m0 &spi3cs1m0 &spi3misom0 &spi3mosim0>; 2254 pinctrl-1 = <&spi3clkm0_hs &spi3cs0m0 &spi3cs1m0 &spi3misom0_hs &spi3mosim0_hs>; 2255 status = "disabled"; 2256 }; 2257 2258 uart1: serial@fe650000 { 2259 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 2260 reg = <0x0 0xfe650000 0x0 0x100>; 2261 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 2262 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 2263 clock-names = "baudclk", "apb_pclk"; 2264 reg-shift = <2>; 2265 reg-io-width = <4>; 2266 dmas = <&dmac0 2>, <&dmac0 3>; 2267 pinctrl-names = "default"; 2268 pinctrl-0 = <&uart1m0_xfer>; 2269 status = "disabled"; 2270 }; 2271 2272 uart2: serial@fe660000 { 2273 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 2274 reg = <0x0 0xfe660000 0x0 0x100>; 2275 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 2276 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 2277 clock-names = "baudclk", "apb_pclk"; 2278 reg-shift = <2>; 2279 reg-io-width = <4>; 2280 dmas = <&dmac0 4>, <&dmac0 5>; 2281 pinctrl-names = "default"; 2282 pinctrl-0 = <&uart2m0_xfer>; 2283 status = "disabled"; 2284 }; 2285 2286 uart3: serial@fe670000 { 2287 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 2288 reg = <0x0 0xfe670000 0x0 0x100>; 2289 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 2290 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 2291 clock-names = "baudclk", "apb_pclk"; 2292 reg-shift = <2>; 2293 reg-io-width = <4>; 2294 dmas = <&dmac0 6>, <&dmac0 7>; 2295 pinctrl-names = "default"; 2296 pinctrl-0 = <&uart3m0_xfer>; 2297 status = "disabled"; 2298 }; 2299 2300 uart4: serial@fe680000 { 2301 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 2302 reg = <0x0 0xfe680000 0x0 0x100>; 2303 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 2304 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 2305 clock-names = "baudclk", "apb_pclk"; 2306 reg-shift = <2>; 2307 reg-io-width = <4>; 2308 dmas = <&dmac0 8>, <&dmac0 9>; 2309 pinctrl-names = "default"; 2310 pinctrl-0 = <&uart4m0_xfer>; 2311 status = "disabled"; 2312 }; 2313 2314 uart5: serial@fe690000 { 2315 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 2316 reg = <0x0 0xfe690000 0x0 0x100>; 2317 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 2318 clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 2319 clock-names = "baudclk", "apb_pclk"; 2320 reg-shift = <2>; 2321 reg-io-width = <4>; 2322 dmas = <&dmac0 10>, <&dmac0 11>; 2323 pinctrl-names = "default"; 2324 pinctrl-0 = <&uart5m0_xfer>; 2325 status = "disabled"; 2326 }; 2327 2328 uart6: serial@fe6a0000 { 2329 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 2330 reg = <0x0 0xfe6a0000 0x0 0x100>; 2331 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 2332 clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 2333 clock-names = "baudclk", "apb_pclk"; 2334 reg-shift = <2>; 2335 reg-io-width = <4>; 2336 dmas = <&dmac0 12>, <&dmac0 13>; 2337 pinctrl-names = "default"; 2338 pinctrl-0 = <&uart6m0_xfer>; 2339 status = "disabled"; 2340 }; 2341 2342 uart7: serial@fe6b0000 { 2343 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 2344 reg = <0x0 0xfe6b0000 0x0 0x100>; 2345 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 2346 clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 2347 clock-names = "baudclk", "apb_pclk"; 2348 reg-shift = <2>; 2349 reg-io-width = <4>; 2350 dmas = <&dmac0 14>, <&dmac0 15>; 2351 pinctrl-names = "default"; 2352 pinctrl-0 = <&uart7m0_xfer>; 2353 status = "disabled"; 2354 }; 2355 2356 uart8: serial@fe6c0000 { 2357 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 2358 reg = <0x0 0xfe6c0000 0x0 0x100>; 2359 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 2360 clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>; 2361 clock-names = "baudclk", "apb_pclk"; 2362 reg-shift = <2>; 2363 reg-io-width = <4>; 2364 dmas = <&dmac0 16>, <&dmac0 17>; 2365 pinctrl-names = "default"; 2366 pinctrl-0 = <&uart8m0_xfer>; 2367 status = "disabled"; 2368 }; 2369 2370 uart9: serial@fe6d0000 { 2371 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 2372 reg = <0x0 0xfe6d0000 0x0 0x100>; 2373 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 2374 clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>; 2375 clock-names = "baudclk", "apb_pclk"; 2376 reg-shift = <2>; 2377 reg-io-width = <4>; 2378 dmas = <&dmac0 18>, <&dmac0 19>; 2379 pinctrl-names = "default"; 2380 pinctrl-0 = <&uart9m0_xfer>; 2381 status = "disabled"; 2382 }; 2383 2384 pwm4: pwm@fe6e0000 { 2385 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2386 reg = <0x0 0xfe6e0000 0x0 0x10>; 2387 #pwm-cells = <3>; 2388 pinctrl-names = "active"; 2389 pinctrl-0 = <&pwm4_pins>; 2390 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 2391 clock-names = "pwm", "pclk"; 2392 status = "disabled"; 2393 }; 2394 2395 pwm5: pwm@fe6e0010 { 2396 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2397 reg = <0x0 0xfe6e0010 0x0 0x10>; 2398 #pwm-cells = <3>; 2399 pinctrl-names = "active"; 2400 pinctrl-0 = <&pwm5_pins>; 2401 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 2402 clock-names = "pwm", "pclk"; 2403 status = "disabled"; 2404 }; 2405 2406 pwm6: pwm@fe6e0020 { 2407 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2408 reg = <0x0 0xfe6e0020 0x0 0x10>; 2409 #pwm-cells = <3>; 2410 pinctrl-names = "active"; 2411 pinctrl-0 = <&pwm6_pins>; 2412 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 2413 clock-names = "pwm", "pclk"; 2414 status = "disabled"; 2415 }; 2416 2417 pwm7: pwm@fe6e0030 { 2418 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2419 reg = <0x0 0xfe6e0030 0x0 0x10>; 2420 #pwm-cells = <3>; 2421 pinctrl-names = "active"; 2422 pinctrl-0 = <&pwm7_pins>; 2423 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 2424 clock-names = "pwm", "pclk"; 2425 status = "disabled"; 2426 }; 2427 2428 pwm8: pwm@fe6f0000 { 2429 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2430 reg = <0x0 0xfe6f0000 0x0 0x10>; 2431 #pwm-cells = <3>; 2432 pinctrl-names = "active"; 2433 pinctrl-0 = <&pwm8m0_pins>; 2434 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 2435 clock-names = "pwm", "pclk"; 2436 status = "disabled"; 2437 }; 2438 2439 pwm9: pwm@fe6f0010 { 2440 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2441 reg = <0x0 0xfe6f0010 0x0 0x10>; 2442 #pwm-cells = <3>; 2443 pinctrl-names = "active"; 2444 pinctrl-0 = <&pwm9m0_pins>; 2445 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 2446 clock-names = "pwm", "pclk"; 2447 status = "disabled"; 2448 }; 2449 2450 pwm10: pwm@fe6f0020 { 2451 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2452 reg = <0x0 0xfe6f0020 0x0 0x10>; 2453 #pwm-cells = <3>; 2454 pinctrl-names = "active"; 2455 pinctrl-0 = <&pwm10m0_pins>; 2456 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 2457 clock-names = "pwm", "pclk"; 2458 status = "disabled"; 2459 }; 2460 2461 pwm11: pwm@fe6f0030 { 2462 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2463 reg = <0x0 0xfe6f0030 0x0 0x10>; 2464 #pwm-cells = <3>; 2465 pinctrl-names = "active"; 2466 pinctrl-0 = <&pwm11m0_pins>; 2467 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 2468 clock-names = "pwm", "pclk"; 2469 status = "disabled"; 2470 }; 2471 2472 pwm12: pwm@fe700000 { 2473 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2474 reg = <0x0 0xfe700000 0x0 0x10>; 2475 #pwm-cells = <3>; 2476 pinctrl-names = "active"; 2477 pinctrl-0 = <&pwm12m0_pins>; 2478 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2479 clock-names = "pwm", "pclk"; 2480 status = "disabled"; 2481 }; 2482 2483 pwm13: pwm@fe700010 { 2484 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2485 reg = <0x0 0xfe700010 0x0 0x10>; 2486 #pwm-cells = <3>; 2487 pinctrl-names = "active"; 2488 pinctrl-0 = <&pwm13m0_pins>; 2489 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2490 clock-names = "pwm", "pclk"; 2491 status = "disabled"; 2492 }; 2493 2494 pwm14: pwm@fe700020 { 2495 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2496 reg = <0x0 0xfe700020 0x0 0x10>; 2497 #pwm-cells = <3>; 2498 pinctrl-names = "active"; 2499 pinctrl-0 = <&pwm14m0_pins>; 2500 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2501 clock-names = "pwm", "pclk"; 2502 status = "disabled"; 2503 }; 2504 2505 pwm15: pwm@fe700030 { 2506 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 2507 reg = <0x0 0xfe700030 0x0 0x10>; 2508 #pwm-cells = <3>; 2509 pinctrl-names = "active"; 2510 pinctrl-0 = <&pwm15m0_pins>; 2511 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2512 clock-names = "pwm", "pclk"; 2513 status = "disabled"; 2514 }; 2515 2516 tsadc: tsadc@fe710000 { 2517 compatible = "rockchip,rk3568-tsadc"; 2518 reg = <0x0 0xfe710000 0x0 0x100>; 2519 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 2520 rockchip,grf = <&grf>; 2521 clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>; 2522 clock-names = "tsadc", "apb_pclk"; 2523 assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>; 2524 assigned-clock-rates = <17000000>, <700000>; 2525 resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>, 2526 <&cru SRST_TSADCPHY>; 2527 reset-names = "tsadc", "tsadc-apb", "tsadc-phy"; 2528 #thermal-sensor-cells = <1>; 2529 rockchip,hw-tshut-temp = <120000>; 2530 rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ 2531 rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 2532 pinctrl-names = "gpio", "otpout"; 2533 pinctrl-0 = <&tsadc_gpio>; 2534 pinctrl-1 = <&tsadc_shutorg>; 2535 status = "disabled"; 2536 }; 2537 2538 saradc: saradc@fe720000 { 2539 compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc"; 2540 reg = <0x0 0xfe720000 0x0 0x100>; 2541 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 2542 #io-channel-cells = <1>; 2543 clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 2544 clock-names = "saradc", "apb_pclk"; 2545 resets = <&cru SRST_P_SARADC>; 2546 reset-names = "saradc-apb"; 2547 status = "disabled"; 2548 }; 2549 2550 mailbox: mailbox@fe780000 { 2551 compatible = "rockchip,rk3568-mailbox", 2552 "rockchip,rk3368-mailbox"; 2553 reg = <0x0 0xfe780000 0x0 0x1000>; 2554 interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>, 2555 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>, 2556 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>, 2557 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 2558 clocks = <&cru PCLK_MAILBOX>; 2559 clock-names = "pclk_mailbox"; 2560 #mbox-cells = <1>; 2561 status = "disabled"; 2562 }; 2563 2564 combphy0_us: phy@fe820000 { 2565 compatible = "rockchip,rk3568-naneng-combphy"; 2566 reg = <0x0 0xfe820000 0x0 0x100>; 2567 #phy-cells = <1>; 2568 clocks = <&pmucru CLK_PCIEPHY0_REF>, <&cru PCLK_PIPEPHY0>; 2569 clock-names = "refclk", "apbclk"; 2570 assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>; 2571 assigned-clock-rates = <24000000>; 2572 resets = <&cru SRST_P_PIPEPHY0>, <&cru SRST_PIPEPHY0>; 2573 reset-names = "combphy-apb", "combphy"; 2574 rockchip,pipe-grf = <&pipegrf>; 2575 rockchip,pipe-phy-grf = <&pipe_phy_grf0>; 2576 status = "disabled"; 2577 }; 2578 2579 combphy1_usq: phy@fe830000 { 2580 compatible = "rockchip,rk3568-naneng-combphy"; 2581 reg = <0x0 0xfe830000 0x0 0x100>; 2582 #phy-cells = <1>; 2583 clocks = <&pmucru CLK_PCIEPHY1_REF>, <&cru PCLK_PIPEPHY1>; 2584 clock-names = "refclk", "apbclk"; 2585 assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>; 2586 assigned-clock-rates = <24000000>; 2587 resets = <&cru SRST_P_PIPEPHY1>, <&cru SRST_PIPEPHY1>; 2588 reset-names = "combphy-apb", "combphy"; 2589 rockchip,pipe-grf = <&pipegrf>; 2590 rockchip,pipe-phy-grf = <&pipe_phy_grf1>; 2591 status = "disabled"; 2592 }; 2593 2594 combphy2_psq: phy@fe840000 { 2595 compatible = "rockchip,rk3568-naneng-combphy"; 2596 reg = <0x0 0xfe840000 0x0 0x100>; 2597 #phy-cells = <1>; 2598 clocks = <&pmucru CLK_PCIEPHY2_REF>, <&cru PCLK_PIPEPHY2>; 2599 clock-names = "refclk", "apbclk"; 2600 assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>; 2601 assigned-clock-rates = <24000000>; 2602 resets = <&cru SRST_P_PIPEPHY2>, <&cru SRST_PIPEPHY2>; 2603 reset-names = "combphy-apb", "combphy"; 2604 rockchip,pipe-grf = <&pipegrf>; 2605 rockchip,pipe-phy-grf = <&pipe_phy_grf2>; 2606 status = "disabled"; 2607 }; 2608 2609 mipi_dphy0: mipi-dphy@fe850000 { 2610 compatible = "rockchip,rk3568-mipi-dphy"; 2611 reg = <0x0 0xfe850000 0x0 0x10000>; 2612 clocks = <&pmucru CLK_MIPIDSIPHY0_REF>, <&cru PCLK_MIPIDSIPHY0>; 2613 clock-names = "ref", "pclk"; 2614 clock-output-names = "mipi_dphy_pll"; 2615 #clock-cells = <0>; 2616 resets = <&cru SRST_P_MIPIDSIPHY0>; 2617 reset-names = "apb"; 2618 power-domains = <&power RK3568_PD_VO>; 2619 #phy-cells = <0>; 2620 rockchip,grf = <&grf>; 2621 status = "disabled"; 2622 }; 2623 2624 video_phy0: video-phy@fe850000 { 2625 compatible = "rockchip,rk3568-video-phy"; 2626 reg = <0x0 0xfe850000 0x0 0x10000>, 2627 <0x0 0xfe060000 0x0 0x10000>; 2628 clocks = <&pmucru CLK_MIPIDSIPHY0_REF>, 2629 <&cru PCLK_MIPIDSIPHY0>, <&cru PCLK_DSITX_0>; 2630 clock-names = "ref", "pclk_phy", "pclk_host"; 2631 #clock-cells = <0>; 2632 resets = <&cru SRST_P_MIPIDSIPHY0>; 2633 reset-names = "rst"; 2634 power-domains = <&power RK3568_PD_VO>; 2635 #phy-cells = <0>; 2636 status = "disabled"; 2637 }; 2638 2639 mipi_dphy1: mipi-dphy@fe860000 { 2640 compatible = "rockchip,rk3568-mipi-dphy"; 2641 reg = <0x0 0xfe860000 0x0 0x10000>; 2642 clocks = <&pmucru CLK_MIPIDSIPHY1_REF>, <&cru PCLK_MIPIDSIPHY1>; 2643 clock-names = "ref", "pclk"; 2644 clock-output-names = "mipi_dphy1_pll"; 2645 #clock-cells = <0>; 2646 resets = <&cru SRST_P_MIPIDSIPHY1>; 2647 reset-names = "apb"; 2648 power-domains = <&power RK3568_PD_VO>; 2649 #phy-cells = <0>; 2650 rockchip,grf = <&grf>; 2651 status = "disabled"; 2652 }; 2653 2654 video_phy1: video-phy@fe860000 { 2655 compatible = "rockchip,rk3568-video-phy"; 2656 reg = <0x0 0xfe860000 0x0 0x10000>, 2657 <0x0 0xfe070000 0x0 0x10000>; 2658 clocks = <&pmucru CLK_MIPIDSIPHY1_REF>, 2659 <&cru PCLK_MIPIDSIPHY1>, <&cru PCLK_DSITX_1>; 2660 clock-names = "ref", "pclk_phy", "pclk_host"; 2661 #clock-cells = <0>; 2662 resets = <&cru SRST_P_MIPIDSIPHY1>; 2663 reset-names = "rst"; 2664 power-domains = <&power RK3568_PD_VO>; 2665 #phy-cells = <0>; 2666 status = "disabled"; 2667 }; 2668 2669 csi_dphy: csi-dphy@fe870000 { 2670 compatible = "rockchip,rk3568-csi-dphy"; 2671 reg = <0x0 0xfe870000 0x0 0x1000>; 2672 clocks = <&cru PCLK_MIPICSIPHY>; 2673 clock-names = "pclk"; 2674 rockchip,grf = <&grf>; 2675 status = "disabled"; 2676 }; 2677 2678 usb2phy0: usb2-phy@fe8a0000 { 2679 compatible = "rockchip,rk3568-usb2phy"; 2680 reg = <0x0 0xfe8a0000 0x0 0x10000>; 2681 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>; 2682 clocks = <&pmucru CLK_USBPHY0_REF>; 2683 clock-names = "phyclk"; 2684 #clock-cells = <0>; 2685 assigned-clocks = <&cru USB480M>; 2686 assigned-clock-parents = <&usb2phy0>; 2687 clock-output-names = "usb480m_phy"; 2688 rockchip,usbgrf = <&usb2phy0_grf>; 2689 status = "disabled"; 2690 2691 u2phy0_host: host-port { 2692 #phy-cells = <0>; 2693 status = "disabled"; 2694 }; 2695 2696 u2phy0_otg: otg-port { 2697 #phy-cells = <0>; 2698 status = "disabled"; 2699 }; 2700 }; 2701 2702 usb2phy1: usb2-phy@fe8b0000 { 2703 compatible = "rockchip,rk3568-usb2phy"; 2704 reg = <0x0 0xfe8b0000 0x0 0x10000>; 2705 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 2706 clocks = <&pmucru CLK_USBPHY1_REF>; 2707 clock-names = "phyclk"; 2708 #clock-cells = <0>; 2709 rockchip,usbgrf = <&usb2phy1_grf>; 2710 status = "disabled"; 2711 2712 u2phy1_host: host-port { 2713 #phy-cells = <0>; 2714 status = "disabled"; 2715 }; 2716 2717 u2phy1_otg: otg-port { 2718 #phy-cells = <0>; 2719 status = "disabled"; 2720 }; 2721 }; 2722 2723 pcie30phy: phy@fe8c0000 { 2724 compatible = "rockchip,rk3568-pcie3-phy"; 2725 reg = <0x0 0xfe8c0000 0x0 0x20000>; 2726 #phy-cells = <0>; 2727 clocks = <&pmucru CLK_PCIE30PHY_REF_M>, <&pmucru CLK_PCIE30PHY_REF_N>, 2728 <&cru PCLK_PCIE30PHY>; 2729 clock-names = "refclk_m", "refclk_n", "pclk"; 2730 resets = <&cru SRST_PCIE30PHY>; 2731 reset-names = "phy"; 2732 rockchip,phy-grf = <&pcie30_phy_grf>; 2733 status = "disabled"; 2734 }; 2735 2736 pinctrl: pinctrl { 2737 compatible = "rockchip,rk3568-pinctrl"; 2738 rockchip,grf = <&grf>; 2739 rockchip,pmu = <&pmugrf>; 2740 #address-cells = <2>; 2741 #size-cells = <2>; 2742 ranges; 2743 2744 gpio0: gpio@fdd60000 { 2745 compatible = "rockchip,gpio-bank"; 2746 reg = <0x0 0xfdd60000 0x0 0x100>; 2747 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 2748 clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>; 2749 2750 gpio-controller; 2751 #gpio-cells = <2>; 2752 gpio-ranges = <&pinctrl 0 0 32>; 2753 interrupt-controller; 2754 #interrupt-cells = <2>; 2755 }; 2756 2757 gpio1: gpio@fe740000 { 2758 compatible = "rockchip,gpio-bank"; 2759 reg = <0x0 0xfe740000 0x0 0x100>; 2760 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 2761 clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 2762 2763 gpio-controller; 2764 #gpio-cells = <2>; 2765 gpio-ranges = <&pinctrl 0 32 32>; 2766 interrupt-controller; 2767 #interrupt-cells = <2>; 2768 }; 2769 2770 gpio2: gpio@fe750000 { 2771 compatible = "rockchip,gpio-bank"; 2772 reg = <0x0 0xfe750000 0x0 0x100>; 2773 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 2774 clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 2775 2776 gpio-controller; 2777 #gpio-cells = <2>; 2778 gpio-ranges = <&pinctrl 0 64 32>; 2779 interrupt-controller; 2780 #interrupt-cells = <2>; 2781 }; 2782 2783 gpio3: gpio@fe760000 { 2784 compatible = "rockchip,gpio-bank"; 2785 reg = <0x0 0xfe760000 0x0 0x100>; 2786 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 2787 clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 2788 2789 gpio-controller; 2790 #gpio-cells = <2>; 2791 gpio-ranges = <&pinctrl 0 96 32>; 2792 interrupt-controller; 2793 #interrupt-cells = <2>; 2794 }; 2795 2796 gpio4: gpio@fe770000 { 2797 compatible = "rockchip,gpio-bank"; 2798 reg = <0x0 0xfe770000 0x0 0x100>; 2799 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 2800 clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 2801 2802 gpio-controller; 2803 #gpio-cells = <2>; 2804 gpio-ranges = <&pinctrl 0 128 32>; 2805 interrupt-controller; 2806 #interrupt-cells = <2>; 2807 }; 2808 }; 2809}; 2810 2811#include "rk3568-pinctrl.dtsi" 2812