1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 */ 5 6#include <dt-bindings/clock/rk3568-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/pinctrl/rockchip.h> 11#include <dt-bindings/power/rk3568-power.h> 12#include <dt-bindings/soc/rockchip,boot-mode.h> 13#include <dt-bindings/thermal/thermal.h> 14 15/ { 16 interrupt-parent = <&gic>; 17 #address-cells = <2>; 18 #size-cells = <2>; 19 20 aliases { 21 gpio0 = &gpio0; 22 gpio1 = &gpio1; 23 gpio2 = &gpio2; 24 gpio3 = &gpio3; 25 gpio4 = &gpio4; 26 i2c0 = &i2c0; 27 i2c1 = &i2c1; 28 i2c2 = &i2c2; 29 i2c3 = &i2c3; 30 i2c4 = &i2c4; 31 i2c5 = &i2c5; 32 serial0 = &uart0; 33 serial1 = &uart1; 34 serial2 = &uart2; 35 serial3 = &uart3; 36 serial4 = &uart4; 37 serial5 = &uart5; 38 serial6 = &uart6; 39 serial7 = &uart7; 40 serial8 = &uart8; 41 serial9 = &uart9; 42 spi0 = &spi0; 43 spi1 = &spi1; 44 spi2 = &spi2; 45 spi3 = &spi3; 46 }; 47 48 cpus { 49 #address-cells = <2>; 50 #size-cells = <0>; 51 52 cpu0: cpu@0 { 53 device_type = "cpu"; 54 compatible = "arm,cortex-a55"; 55 reg = <0x0 0x0>; 56 clocks = <&scmi_clk 0>; 57 #cooling-cells = <2>; 58 enable-method = "psci"; 59 i-cache-size = <0x8000>; 60 i-cache-line-size = <64>; 61 i-cache-sets = <128>; 62 d-cache-size = <0x8000>; 63 d-cache-line-size = <64>; 64 d-cache-sets = <128>; 65 next-level-cache = <&l3_cache>; 66 }; 67 68 cpu1: cpu@100 { 69 device_type = "cpu"; 70 compatible = "arm,cortex-a55"; 71 reg = <0x0 0x100>; 72 #cooling-cells = <2>; 73 enable-method = "psci"; 74 i-cache-size = <0x8000>; 75 i-cache-line-size = <64>; 76 i-cache-sets = <128>; 77 d-cache-size = <0x8000>; 78 d-cache-line-size = <64>; 79 d-cache-sets = <128>; 80 next-level-cache = <&l3_cache>; 81 }; 82 83 cpu2: cpu@200 { 84 device_type = "cpu"; 85 compatible = "arm,cortex-a55"; 86 reg = <0x0 0x200>; 87 #cooling-cells = <2>; 88 enable-method = "psci"; 89 i-cache-size = <0x8000>; 90 i-cache-line-size = <64>; 91 i-cache-sets = <128>; 92 d-cache-size = <0x8000>; 93 d-cache-line-size = <64>; 94 d-cache-sets = <128>; 95 next-level-cache = <&l3_cache>; 96 }; 97 98 cpu3: cpu@300 { 99 device_type = "cpu"; 100 compatible = "arm,cortex-a55"; 101 reg = <0x0 0x300>; 102 #cooling-cells = <2>; 103 enable-method = "psci"; 104 i-cache-size = <0x8000>; 105 i-cache-line-size = <64>; 106 i-cache-sets = <128>; 107 d-cache-size = <0x8000>; 108 d-cache-line-size = <64>; 109 d-cache-sets = <128>; 110 next-level-cache = <&l3_cache>; 111 }; 112 }; 113 114 /* 115 * There are no private per-core L2 caches, but only the 116 * L3 cache that appears to the CPU cores as L2 caches 117 */ 118 l3_cache: l3-cache { 119 compatible = "cache"; 120 cache-level = <2>; 121 cache-unified; 122 cache-size = <0x80000>; 123 cache-line-size = <64>; 124 cache-sets = <512>; 125 }; 126 127 display_subsystem: display-subsystem { 128 compatible = "rockchip,display-subsystem"; 129 ports = <&vop_out>; 130 }; 131 132 firmware { 133 scmi: scmi { 134 compatible = "arm,scmi-smc"; 135 arm,smc-id = <0x82000010>; 136 shmem = <&scmi_shmem>; 137 #address-cells = <1>; 138 #size-cells = <0>; 139 140 scmi_clk: protocol@14 { 141 reg = <0x14>; 142 #clock-cells = <1>; 143 }; 144 }; 145 }; 146 147 hdmi_sound: hdmi-sound { 148 compatible = "simple-audio-card"; 149 simple-audio-card,name = "HDMI"; 150 simple-audio-card,format = "i2s"; 151 simple-audio-card,mclk-fs = <256>; 152 status = "disabled"; 153 154 simple-audio-card,codec { 155 sound-dai = <&hdmi>; 156 }; 157 158 simple-audio-card,cpu { 159 sound-dai = <&i2s0_8ch>; 160 }; 161 }; 162 163 pmu { 164 compatible = "arm,cortex-a55-pmu"; 165 interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>, 166 <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>, 167 <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>, 168 <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>; 169 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 170 }; 171 172 psci { 173 compatible = "arm,psci-1.0"; 174 method = "smc"; 175 }; 176 177 reserved-memory { 178 #address-cells = <2>; 179 #size-cells = <2>; 180 ranges; 181 182 scmi_shmem: shmem@10f000 { 183 compatible = "arm,scmi-shmem"; 184 reg = <0x0 0x0010f000 0x0 0x100>; 185 no-map; 186 }; 187 }; 188 189 timer { 190 compatible = "arm,armv8-timer"; 191 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, 192 <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, 193 <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, 194 <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; 195 arm,no-tick-in-suspend; 196 }; 197 198 xin24m: xin24m { 199 compatible = "fixed-clock"; 200 clock-frequency = <24000000>; 201 clock-output-names = "xin24m"; 202 #clock-cells = <0>; 203 }; 204 205 xin32k: xin32k { 206 compatible = "fixed-clock"; 207 clock-frequency = <32768>; 208 clock-output-names = "xin32k"; 209 pinctrl-0 = <&clk32k_out0>; 210 pinctrl-names = "default"; 211 #clock-cells = <0>; 212 }; 213 214 sata1: sata@fc400000 { 215 compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci"; 216 reg = <0 0xfc400000 0 0x1000>; 217 clocks = <&cru ACLK_SATA1>, <&cru CLK_SATA1_PMALIVE>, 218 <&cru CLK_SATA1_RXOOB>; 219 clock-names = "sata", "pmalive", "rxoob"; 220 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 221 phys = <&combphy1 PHY_TYPE_SATA>; 222 phy-names = "sata-phy"; 223 ports-implemented = <0x1>; 224 power-domains = <&power RK3568_PD_PIPE>; 225 status = "disabled"; 226 }; 227 228 sata2: sata@fc800000 { 229 compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci"; 230 reg = <0 0xfc800000 0 0x1000>; 231 clocks = <&cru ACLK_SATA2>, <&cru CLK_SATA2_PMALIVE>, 232 <&cru CLK_SATA2_RXOOB>; 233 clock-names = "sata", "pmalive", "rxoob"; 234 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 235 phys = <&combphy2 PHY_TYPE_SATA>; 236 phy-names = "sata-phy"; 237 ports-implemented = <0x1>; 238 power-domains = <&power RK3568_PD_PIPE>; 239 status = "disabled"; 240 }; 241 242 usb_host0_xhci: usb@fcc00000 { 243 compatible = "rockchip,rk3568-dwc3", "snps,dwc3"; 244 reg = <0x0 0xfcc00000 0x0 0x400000>; 245 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 246 clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>, 247 <&cru ACLK_USB3OTG0>; 248 clock-names = "ref_clk", "suspend_clk", 249 "bus_clk"; 250 dr_mode = "otg"; 251 phy_type = "utmi_wide"; 252 power-domains = <&power RK3568_PD_PIPE>; 253 resets = <&cru SRST_USB3OTG0>; 254 snps,dis_u2_susphy_quirk; 255 status = "disabled"; 256 }; 257 258 usb_host1_xhci: usb@fd000000 { 259 compatible = "rockchip,rk3568-dwc3", "snps,dwc3"; 260 reg = <0x0 0xfd000000 0x0 0x400000>; 261 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>; 262 clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>, 263 <&cru ACLK_USB3OTG1>; 264 clock-names = "ref_clk", "suspend_clk", 265 "bus_clk"; 266 dr_mode = "host"; 267 phys = <&usb2phy0_host>, <&combphy1 PHY_TYPE_USB3>; 268 phy-names = "usb2-phy", "usb3-phy"; 269 phy_type = "utmi_wide"; 270 power-domains = <&power RK3568_PD_PIPE>; 271 resets = <&cru SRST_USB3OTG1>; 272 snps,dis_u2_susphy_quirk; 273 status = "disabled"; 274 }; 275 276 gic: interrupt-controller@fd400000 { 277 compatible = "arm,gic-v3"; 278 reg = <0x0 0xfd400000 0 0x10000>, /* GICD */ 279 <0x0 0xfd460000 0 0x80000>; /* GICR */ 280 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 281 interrupt-controller; 282 #interrupt-cells = <3>; 283 mbi-alias = <0x0 0xfd410000>; 284 mbi-ranges = <296 24>; 285 msi-controller; 286 }; 287 288 usb_host0_ehci: usb@fd800000 { 289 compatible = "generic-ehci"; 290 reg = <0x0 0xfd800000 0x0 0x40000>; 291 interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; 292 clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>, 293 <&cru PCLK_USB>; 294 phys = <&usb2phy1_otg>; 295 phy-names = "usb"; 296 status = "disabled"; 297 }; 298 299 usb_host0_ohci: usb@fd840000 { 300 compatible = "generic-ohci"; 301 reg = <0x0 0xfd840000 0x0 0x40000>; 302 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 303 clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>, 304 <&cru PCLK_USB>; 305 phys = <&usb2phy1_otg>; 306 phy-names = "usb"; 307 status = "disabled"; 308 }; 309 310 usb_host1_ehci: usb@fd880000 { 311 compatible = "generic-ehci"; 312 reg = <0x0 0xfd880000 0x0 0x40000>; 313 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 314 clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>, 315 <&cru PCLK_USB>; 316 phys = <&usb2phy1_host>; 317 phy-names = "usb"; 318 status = "disabled"; 319 }; 320 321 usb_host1_ohci: usb@fd8c0000 { 322 compatible = "generic-ohci"; 323 reg = <0x0 0xfd8c0000 0x0 0x40000>; 324 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 325 clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>, 326 <&cru PCLK_USB>; 327 phys = <&usb2phy1_host>; 328 phy-names = "usb"; 329 status = "disabled"; 330 }; 331 332 pmugrf: syscon@fdc20000 { 333 compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd"; 334 reg = <0x0 0xfdc20000 0x0 0x10000>; 335 336 pmu_io_domains: io-domains { 337 compatible = "rockchip,rk3568-pmu-io-voltage-domain"; 338 status = "disabled"; 339 }; 340 }; 341 342 pipegrf: syscon@fdc50000 { 343 reg = <0x0 0xfdc50000 0x0 0x1000>; 344 }; 345 346 grf: syscon@fdc60000 { 347 compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd"; 348 reg = <0x0 0xfdc60000 0x0 0x10000>; 349 }; 350 351 pipe_phy_grf1: syscon@fdc80000 { 352 compatible = "rockchip,rk3568-pipe-phy-grf", "syscon"; 353 reg = <0x0 0xfdc80000 0x0 0x1000>; 354 }; 355 356 pipe_phy_grf2: syscon@fdc90000 { 357 compatible = "rockchip,rk3568-pipe-phy-grf", "syscon"; 358 reg = <0x0 0xfdc90000 0x0 0x1000>; 359 }; 360 361 usb2phy0_grf: syscon@fdca0000 { 362 compatible = "rockchip,rk3568-usb2phy-grf", "syscon"; 363 reg = <0x0 0xfdca0000 0x0 0x8000>; 364 }; 365 366 usb2phy1_grf: syscon@fdca8000 { 367 compatible = "rockchip,rk3568-usb2phy-grf", "syscon"; 368 reg = <0x0 0xfdca8000 0x0 0x8000>; 369 }; 370 371 pmucru: clock-controller@fdd00000 { 372 compatible = "rockchip,rk3568-pmucru"; 373 reg = <0x0 0xfdd00000 0x0 0x1000>; 374 #clock-cells = <1>; 375 #reset-cells = <1>; 376 }; 377 378 cru: clock-controller@fdd20000 { 379 compatible = "rockchip,rk3568-cru"; 380 reg = <0x0 0xfdd20000 0x0 0x1000>; 381 clocks = <&xin24m>; 382 clock-names = "xin24m"; 383 #clock-cells = <1>; 384 #reset-cells = <1>; 385 assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, <&pmucru PLL_PPLL>; 386 assigned-clock-rates = <32768>, <1200000000>, <200000000>; 387 assigned-clock-parents = <&pmucru CLK_RTC32K_FRAC>; 388 rockchip,grf = <&grf>; 389 }; 390 391 i2c0: i2c@fdd40000 { 392 compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c"; 393 reg = <0x0 0xfdd40000 0x0 0x1000>; 394 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 395 clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>; 396 clock-names = "i2c", "pclk"; 397 pinctrl-0 = <&i2c0_xfer>; 398 pinctrl-names = "default"; 399 #address-cells = <1>; 400 #size-cells = <0>; 401 status = "disabled"; 402 }; 403 404 uart0: serial@fdd50000 { 405 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 406 reg = <0x0 0xfdd50000 0x0 0x100>; 407 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 408 clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>; 409 clock-names = "baudclk", "apb_pclk"; 410 dmas = <&dmac0 0>, <&dmac0 1>; 411 pinctrl-0 = <&uart0_xfer>; 412 pinctrl-names = "default"; 413 reg-io-width = <4>; 414 reg-shift = <2>; 415 status = "disabled"; 416 }; 417 418 pwm0: pwm@fdd70000 { 419 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 420 reg = <0x0 0xfdd70000 0x0 0x10>; 421 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 422 clock-names = "pwm", "pclk"; 423 pinctrl-0 = <&pwm0m0_pins>; 424 pinctrl-names = "default"; 425 #pwm-cells = <3>; 426 status = "disabled"; 427 }; 428 429 pwm1: pwm@fdd70010 { 430 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 431 reg = <0x0 0xfdd70010 0x0 0x10>; 432 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 433 clock-names = "pwm", "pclk"; 434 pinctrl-0 = <&pwm1m0_pins>; 435 pinctrl-names = "default"; 436 #pwm-cells = <3>; 437 status = "disabled"; 438 }; 439 440 pwm2: pwm@fdd70020 { 441 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 442 reg = <0x0 0xfdd70020 0x0 0x10>; 443 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 444 clock-names = "pwm", "pclk"; 445 pinctrl-0 = <&pwm2m0_pins>; 446 pinctrl-names = "default"; 447 #pwm-cells = <3>; 448 status = "disabled"; 449 }; 450 451 pwm3: pwm@fdd70030 { 452 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 453 reg = <0x0 0xfdd70030 0x0 0x10>; 454 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 455 clock-names = "pwm", "pclk"; 456 pinctrl-0 = <&pwm3_pins>; 457 pinctrl-names = "default"; 458 #pwm-cells = <3>; 459 status = "disabled"; 460 }; 461 462 pmu: power-management@fdd90000 { 463 compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd"; 464 reg = <0x0 0xfdd90000 0x0 0x1000>; 465 466 power: power-controller { 467 compatible = "rockchip,rk3568-power-controller"; 468 #power-domain-cells = <1>; 469 #address-cells = <1>; 470 #size-cells = <0>; 471 472 /* These power domains are grouped by VD_GPU */ 473 power-domain@RK3568_PD_GPU { 474 reg = <RK3568_PD_GPU>; 475 clocks = <&cru ACLK_GPU_PRE>, 476 <&cru PCLK_GPU_PRE>; 477 pm_qos = <&qos_gpu>; 478 #power-domain-cells = <0>; 479 }; 480 481 /* These power domains are grouped by VD_LOGIC */ 482 power-domain@RK3568_PD_VI { 483 reg = <RK3568_PD_VI>; 484 clocks = <&cru HCLK_VI>, 485 <&cru PCLK_VI>; 486 pm_qos = <&qos_isp>, 487 <&qos_vicap0>, 488 <&qos_vicap1>; 489 #power-domain-cells = <0>; 490 }; 491 492 power-domain@RK3568_PD_VO { 493 reg = <RK3568_PD_VO>; 494 clocks = <&cru HCLK_VO>, 495 <&cru PCLK_VO>, 496 <&cru ACLK_VOP_PRE>; 497 pm_qos = <&qos_hdcp>, 498 <&qos_vop_m0>, 499 <&qos_vop_m1>; 500 #power-domain-cells = <0>; 501 }; 502 503 power-domain@RK3568_PD_RGA { 504 reg = <RK3568_PD_RGA>; 505 clocks = <&cru HCLK_RGA_PRE>, 506 <&cru PCLK_RGA_PRE>; 507 pm_qos = <&qos_ebc>, 508 <&qos_iep>, 509 <&qos_jpeg_dec>, 510 <&qos_jpeg_enc>, 511 <&qos_rga_rd>, 512 <&qos_rga_wr>; 513 #power-domain-cells = <0>; 514 }; 515 516 power-domain@RK3568_PD_VPU { 517 reg = <RK3568_PD_VPU>; 518 clocks = <&cru HCLK_VPU_PRE>; 519 pm_qos = <&qos_vpu>; 520 #power-domain-cells = <0>; 521 }; 522 523 power-domain@RK3568_PD_RKVDEC { 524 clocks = <&cru HCLK_RKVDEC_PRE>; 525 reg = <RK3568_PD_RKVDEC>; 526 pm_qos = <&qos_rkvdec>; 527 #power-domain-cells = <0>; 528 }; 529 530 power-domain@RK3568_PD_RKVENC { 531 reg = <RK3568_PD_RKVENC>; 532 clocks = <&cru HCLK_RKVENC_PRE>; 533 pm_qos = <&qos_rkvenc_rd_m0>, 534 <&qos_rkvenc_rd_m1>, 535 <&qos_rkvenc_wr_m0>; 536 #power-domain-cells = <0>; 537 }; 538 }; 539 }; 540 541 gpu: gpu@fde60000 { 542 compatible = "rockchip,rk3568-mali", "arm,mali-bifrost"; 543 reg = <0x0 0xfde60000 0x0 0x4000>; 544 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 545 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 546 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 547 interrupt-names = "job", "mmu", "gpu"; 548 clocks = <&scmi_clk 1>, <&cru CLK_GPU>; 549 clock-names = "gpu", "bus"; 550 #cooling-cells = <2>; 551 power-domains = <&power RK3568_PD_GPU>; 552 status = "disabled"; 553 }; 554 555 vpu: video-codec@fdea0400 { 556 compatible = "rockchip,rk3568-vpu"; 557 reg = <0x0 0xfdea0000 0x0 0x800>; 558 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 559 interrupt-names = "vdpu"; 560 clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 561 clock-names = "aclk", "hclk"; 562 iommus = <&vdpu_mmu>; 563 power-domains = <&power RK3568_PD_VPU>; 564 }; 565 566 vdpu_mmu: iommu@fdea0800 { 567 compatible = "rockchip,rk3568-iommu"; 568 reg = <0x0 0xfdea0800 0x0 0x40>; 569 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 570 clock-names = "aclk", "iface"; 571 clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 572 power-domains = <&power RK3568_PD_VPU>; 573 #iommu-cells = <0>; 574 }; 575 576 rga: rga@fdeb0000 { 577 compatible = "rockchip,rk3568-rga", "rockchip,rk3288-rga"; 578 reg = <0x0 0xfdeb0000 0x0 0x180>; 579 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 580 clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_RGA_CORE>; 581 clock-names = "aclk", "hclk", "sclk"; 582 resets = <&cru SRST_RGA_CORE>, <&cru SRST_A_RGA>, <&cru SRST_H_RGA>; 583 reset-names = "core", "axi", "ahb"; 584 power-domains = <&power RK3568_PD_RGA>; 585 }; 586 587 vepu: video-codec@fdee0000 { 588 compatible = "rockchip,rk3568-vepu"; 589 reg = <0x0 0xfdee0000 0x0 0x800>; 590 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 591 clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>; 592 clock-names = "aclk", "hclk"; 593 iommus = <&vepu_mmu>; 594 power-domains = <&power RK3568_PD_RGA>; 595 }; 596 597 vepu_mmu: iommu@fdee0800 { 598 compatible = "rockchip,rk3568-iommu"; 599 reg = <0x0 0xfdee0800 0x0 0x40>; 600 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 601 clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>; 602 clock-names = "aclk", "iface"; 603 power-domains = <&power RK3568_PD_RGA>; 604 #iommu-cells = <0>; 605 }; 606 607 sdmmc2: mmc@fe000000 { 608 compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc"; 609 reg = <0x0 0xfe000000 0x0 0x4000>; 610 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 611 clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>, 612 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>; 613 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 614 fifo-depth = <0x100>; 615 max-frequency = <150000000>; 616 resets = <&cru SRST_SDMMC2>; 617 reset-names = "reset"; 618 status = "disabled"; 619 }; 620 621 gmac1: ethernet@fe010000 { 622 compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a"; 623 reg = <0x0 0xfe010000 0x0 0x10000>; 624 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 625 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 626 interrupt-names = "macirq", "eth_wake_irq"; 627 clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>, 628 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>, 629 <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>, 630 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>; 631 clock-names = "stmmaceth", "mac_clk_rx", 632 "mac_clk_tx", "clk_mac_refout", 633 "aclk_mac", "pclk_mac", 634 "clk_mac_speed", "ptp_ref"; 635 resets = <&cru SRST_A_GMAC1>; 636 reset-names = "stmmaceth"; 637 rockchip,grf = <&grf>; 638 snps,axi-config = <&gmac1_stmmac_axi_setup>; 639 snps,mixed-burst; 640 snps,mtl-rx-config = <&gmac1_mtl_rx_setup>; 641 snps,mtl-tx-config = <&gmac1_mtl_tx_setup>; 642 snps,tso; 643 status = "disabled"; 644 645 mdio1: mdio { 646 compatible = "snps,dwmac-mdio"; 647 #address-cells = <0x1>; 648 #size-cells = <0x0>; 649 }; 650 651 gmac1_stmmac_axi_setup: stmmac-axi-config { 652 snps,blen = <0 0 0 0 16 8 4>; 653 snps,rd_osr_lmt = <8>; 654 snps,wr_osr_lmt = <4>; 655 }; 656 657 gmac1_mtl_rx_setup: rx-queues-config { 658 snps,rx-queues-to-use = <1>; 659 queue0 {}; 660 }; 661 662 gmac1_mtl_tx_setup: tx-queues-config { 663 snps,tx-queues-to-use = <1>; 664 queue0 {}; 665 }; 666 }; 667 668 vop: vop@fe040000 { 669 reg = <0x0 0xfe040000 0x0 0x3000>, <0x0 0xfe044000 0x0 0x1000>; 670 reg-names = "vop", "gamma-lut"; 671 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 672 clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>, 673 <&cru DCLK_VOP1>, <&cru DCLK_VOP2>; 674 clock-names = "aclk", "hclk", "dclk_vp0", "dclk_vp1", "dclk_vp2"; 675 iommus = <&vop_mmu>; 676 power-domains = <&power RK3568_PD_VO>; 677 rockchip,grf = <&grf>; 678 status = "disabled"; 679 680 vop_out: ports { 681 #address-cells = <1>; 682 #size-cells = <0>; 683 684 vp0: port@0 { 685 reg = <0>; 686 #address-cells = <1>; 687 #size-cells = <0>; 688 }; 689 690 vp1: port@1 { 691 reg = <1>; 692 #address-cells = <1>; 693 #size-cells = <0>; 694 }; 695 696 vp2: port@2 { 697 reg = <2>; 698 #address-cells = <1>; 699 #size-cells = <0>; 700 }; 701 }; 702 }; 703 704 vop_mmu: iommu@fe043e00 { 705 compatible = "rockchip,rk3568-iommu"; 706 reg = <0x0 0xfe043e00 0x0 0x100>, <0x0 0xfe043f00 0x0 0x100>; 707 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 708 clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 709 clock-names = "aclk", "iface"; 710 #iommu-cells = <0>; 711 power-domains = <&power RK3568_PD_VO>; 712 status = "disabled"; 713 }; 714 715 dsi0: dsi@fe060000 { 716 compatible = "rockchip,rk3568-mipi-dsi", "snps,dw-mipi-dsi"; 717 reg = <0x00 0xfe060000 0x00 0x10000>; 718 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 719 clock-names = "pclk"; 720 clocks = <&cru PCLK_DSITX_0>; 721 phy-names = "dphy"; 722 phys = <&dsi_dphy0>; 723 power-domains = <&power RK3568_PD_VO>; 724 reset-names = "apb"; 725 resets = <&cru SRST_P_DSITX_0>; 726 rockchip,grf = <&grf>; 727 status = "disabled"; 728 729 ports { 730 #address-cells = <1>; 731 #size-cells = <0>; 732 733 dsi0_in: port@0 { 734 reg = <0>; 735 }; 736 737 dsi0_out: port@1 { 738 reg = <1>; 739 }; 740 }; 741 }; 742 743 dsi1: dsi@fe070000 { 744 compatible = "rockchip,rk3568-mipi-dsi", "snps,dw-mipi-dsi"; 745 reg = <0x0 0xfe070000 0x0 0x10000>; 746 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 747 clock-names = "pclk"; 748 clocks = <&cru PCLK_DSITX_1>; 749 phy-names = "dphy"; 750 phys = <&dsi_dphy1>; 751 power-domains = <&power RK3568_PD_VO>; 752 reset-names = "apb"; 753 resets = <&cru SRST_P_DSITX_1>; 754 rockchip,grf = <&grf>; 755 status = "disabled"; 756 757 ports { 758 #address-cells = <1>; 759 #size-cells = <0>; 760 761 dsi1_in: port@0 { 762 reg = <0>; 763 }; 764 765 dsi1_out: port@1 { 766 reg = <1>; 767 }; 768 }; 769 }; 770 771 hdmi: hdmi@fe0a0000 { 772 compatible = "rockchip,rk3568-dw-hdmi"; 773 reg = <0x0 0xfe0a0000 0x0 0x20000>; 774 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 775 clocks = <&cru PCLK_HDMI_HOST>, 776 <&cru CLK_HDMI_SFR>, 777 <&cru CLK_HDMI_CEC>, 778 <&pmucru CLK_HDMI_REF>, 779 <&cru HCLK_VO>; 780 clock-names = "iahb", "isfr", "cec", "ref"; 781 pinctrl-names = "default"; 782 pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>; 783 power-domains = <&power RK3568_PD_VO>; 784 reg-io-width = <4>; 785 rockchip,grf = <&grf>; 786 #sound-dai-cells = <0>; 787 status = "disabled"; 788 789 ports { 790 #address-cells = <1>; 791 #size-cells = <0>; 792 793 hdmi_in: port@0 { 794 reg = <0>; 795 }; 796 797 hdmi_out: port@1 { 798 reg = <1>; 799 }; 800 }; 801 }; 802 803 qos_gpu: qos@fe128000 { 804 compatible = "rockchip,rk3568-qos", "syscon"; 805 reg = <0x0 0xfe128000 0x0 0x20>; 806 }; 807 808 qos_rkvenc_rd_m0: qos@fe138080 { 809 compatible = "rockchip,rk3568-qos", "syscon"; 810 reg = <0x0 0xfe138080 0x0 0x20>; 811 }; 812 813 qos_rkvenc_rd_m1: qos@fe138100 { 814 compatible = "rockchip,rk3568-qos", "syscon"; 815 reg = <0x0 0xfe138100 0x0 0x20>; 816 }; 817 818 qos_rkvenc_wr_m0: qos@fe138180 { 819 compatible = "rockchip,rk3568-qos", "syscon"; 820 reg = <0x0 0xfe138180 0x0 0x20>; 821 }; 822 823 qos_isp: qos@fe148000 { 824 compatible = "rockchip,rk3568-qos", "syscon"; 825 reg = <0x0 0xfe148000 0x0 0x20>; 826 }; 827 828 qos_vicap0: qos@fe148080 { 829 compatible = "rockchip,rk3568-qos", "syscon"; 830 reg = <0x0 0xfe148080 0x0 0x20>; 831 }; 832 833 qos_vicap1: qos@fe148100 { 834 compatible = "rockchip,rk3568-qos", "syscon"; 835 reg = <0x0 0xfe148100 0x0 0x20>; 836 }; 837 838 qos_vpu: qos@fe150000 { 839 compatible = "rockchip,rk3568-qos", "syscon"; 840 reg = <0x0 0xfe150000 0x0 0x20>; 841 }; 842 843 qos_ebc: qos@fe158000 { 844 compatible = "rockchip,rk3568-qos", "syscon"; 845 reg = <0x0 0xfe158000 0x0 0x20>; 846 }; 847 848 qos_iep: qos@fe158100 { 849 compatible = "rockchip,rk3568-qos", "syscon"; 850 reg = <0x0 0xfe158100 0x0 0x20>; 851 }; 852 853 qos_jpeg_dec: qos@fe158180 { 854 compatible = "rockchip,rk3568-qos", "syscon"; 855 reg = <0x0 0xfe158180 0x0 0x20>; 856 }; 857 858 qos_jpeg_enc: qos@fe158200 { 859 compatible = "rockchip,rk3568-qos", "syscon"; 860 reg = <0x0 0xfe158200 0x0 0x20>; 861 }; 862 863 qos_rga_rd: qos@fe158280 { 864 compatible = "rockchip,rk3568-qos", "syscon"; 865 reg = <0x0 0xfe158280 0x0 0x20>; 866 }; 867 868 qos_rga_wr: qos@fe158300 { 869 compatible = "rockchip,rk3568-qos", "syscon"; 870 reg = <0x0 0xfe158300 0x0 0x20>; 871 }; 872 873 qos_npu: qos@fe180000 { 874 compatible = "rockchip,rk3568-qos", "syscon"; 875 reg = <0x0 0xfe180000 0x0 0x20>; 876 }; 877 878 qos_pcie2x1: qos@fe190000 { 879 compatible = "rockchip,rk3568-qos", "syscon"; 880 reg = <0x0 0xfe190000 0x0 0x20>; 881 }; 882 883 qos_sata1: qos@fe190280 { 884 compatible = "rockchip,rk3568-qos", "syscon"; 885 reg = <0x0 0xfe190280 0x0 0x20>; 886 }; 887 888 qos_sata2: qos@fe190300 { 889 compatible = "rockchip,rk3568-qos", "syscon"; 890 reg = <0x0 0xfe190300 0x0 0x20>; 891 }; 892 893 qos_usb3_0: qos@fe190380 { 894 compatible = "rockchip,rk3568-qos", "syscon"; 895 reg = <0x0 0xfe190380 0x0 0x20>; 896 }; 897 898 qos_usb3_1: qos@fe190400 { 899 compatible = "rockchip,rk3568-qos", "syscon"; 900 reg = <0x0 0xfe190400 0x0 0x20>; 901 }; 902 903 qos_rkvdec: qos@fe198000 { 904 compatible = "rockchip,rk3568-qos", "syscon"; 905 reg = <0x0 0xfe198000 0x0 0x20>; 906 }; 907 908 qos_hdcp: qos@fe1a8000 { 909 compatible = "rockchip,rk3568-qos", "syscon"; 910 reg = <0x0 0xfe1a8000 0x0 0x20>; 911 }; 912 913 qos_vop_m0: qos@fe1a8080 { 914 compatible = "rockchip,rk3568-qos", "syscon"; 915 reg = <0x0 0xfe1a8080 0x0 0x20>; 916 }; 917 918 qos_vop_m1: qos@fe1a8100 { 919 compatible = "rockchip,rk3568-qos", "syscon"; 920 reg = <0x0 0xfe1a8100 0x0 0x20>; 921 }; 922 923 dfi: dfi@fe230000 { 924 compatible = "rockchip,rk3568-dfi"; 925 reg = <0x00 0xfe230000 0x00 0x400>; 926 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 927 rockchip,pmu = <&pmugrf>; 928 }; 929 930 pcie2x1: pcie@fe260000 { 931 compatible = "rockchip,rk3568-pcie"; 932 reg = <0x3 0xc0000000 0x0 0x00400000>, 933 <0x0 0xfe260000 0x0 0x00010000>, 934 <0x0 0xf4000000 0x0 0x00100000>; 935 reg-names = "dbi", "apb", "config"; 936 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 937 <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 938 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, 939 <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 940 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 941 interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 942 bus-range = <0x0 0xf>; 943 clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>, 944 <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>, 945 <&cru CLK_PCIE20_AUX_NDFT>; 946 clock-names = "aclk_mst", "aclk_slv", 947 "aclk_dbi", "pclk", "aux"; 948 device_type = "pci"; 949 #interrupt-cells = <1>; 950 interrupt-map-mask = <0 0 0 7>; 951 interrupt-map = <0 0 0 1 &pcie_intc 0>, 952 <0 0 0 2 &pcie_intc 1>, 953 <0 0 0 3 &pcie_intc 2>, 954 <0 0 0 4 &pcie_intc 3>; 955 linux,pci-domain = <0>; 956 num-ib-windows = <6>; 957 num-ob-windows = <2>; 958 max-link-speed = <2>; 959 msi-map = <0x0 &gic 0x0 0x1000>; 960 num-lanes = <1>; 961 phys = <&combphy2 PHY_TYPE_PCIE>; 962 phy-names = "pcie-phy"; 963 power-domains = <&power RK3568_PD_PIPE>; 964 ranges = <0x01000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x00100000>, 965 <0x02000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x01e00000>, 966 <0x03000000 0x0 0x40000000 0x3 0x00000000 0x0 0x40000000>; 967 resets = <&cru SRST_PCIE20_POWERUP>; 968 reset-names = "pipe"; 969 #address-cells = <3>; 970 #size-cells = <2>; 971 status = "disabled"; 972 973 pcie_intc: legacy-interrupt-controller { 974 #address-cells = <0>; 975 #interrupt-cells = <1>; 976 interrupt-controller; 977 interrupt-parent = <&gic>; 978 interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>; 979 }; 980 }; 981 982 sdmmc0: mmc@fe2b0000 { 983 compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc"; 984 reg = <0x0 0xfe2b0000 0x0 0x4000>; 985 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 986 clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>, 987 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>; 988 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 989 fifo-depth = <0x100>; 990 max-frequency = <150000000>; 991 resets = <&cru SRST_SDMMC0>; 992 reset-names = "reset"; 993 status = "disabled"; 994 }; 995 996 sdmmc1: mmc@fe2c0000 { 997 compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc"; 998 reg = <0x0 0xfe2c0000 0x0 0x4000>; 999 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 1000 clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>, 1001 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>; 1002 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1003 fifo-depth = <0x100>; 1004 max-frequency = <150000000>; 1005 resets = <&cru SRST_SDMMC1>; 1006 reset-names = "reset"; 1007 status = "disabled"; 1008 }; 1009 1010 sfc: spi@fe300000 { 1011 compatible = "rockchip,sfc"; 1012 reg = <0x0 0xfe300000 0x0 0x4000>; 1013 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1014 clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 1015 clock-names = "clk_sfc", "hclk_sfc"; 1016 pinctrl-0 = <&fspi_pins>; 1017 pinctrl-names = "default"; 1018 status = "disabled"; 1019 }; 1020 1021 sdhci: mmc@fe310000 { 1022 compatible = "rockchip,rk3568-dwcmshc"; 1023 reg = <0x0 0xfe310000 0x0 0x10000>; 1024 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 1025 assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>; 1026 assigned-clock-rates = <200000000>, <24000000>; 1027 clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>, 1028 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>, 1029 <&cru TCLK_EMMC>; 1030 clock-names = "core", "bus", "axi", "block", "timer"; 1031 status = "disabled"; 1032 }; 1033 1034 rng: rng@fe388000 { 1035 compatible = "rockchip,rk3568-rng"; 1036 reg = <0x0 0xfe388000 0x0 0x4000>; 1037 clocks = <&cru CLK_TRNG_NS>, <&cru HCLK_TRNG_NS>; 1038 clock-names = "core", "ahb"; 1039 resets = <&cru SRST_TRNG_NS>; 1040 status = "disabled"; 1041 }; 1042 1043 i2s0_8ch: i2s@fe400000 { 1044 compatible = "rockchip,rk3568-i2s-tdm"; 1045 reg = <0x0 0xfe400000 0x0 0x1000>; 1046 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 1047 assigned-clocks = <&cru CLK_I2S0_8CH_TX_SRC>, <&cru CLK_I2S0_8CH_RX_SRC>; 1048 assigned-clock-rates = <1188000000>, <1188000000>; 1049 clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>; 1050 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1051 dmas = <&dmac1 0>; 1052 dma-names = "tx"; 1053 resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>; 1054 reset-names = "tx-m", "rx-m"; 1055 rockchip,grf = <&grf>; 1056 #sound-dai-cells = <0>; 1057 status = "disabled"; 1058 }; 1059 1060 i2s1_8ch: i2s@fe410000 { 1061 compatible = "rockchip,rk3568-i2s-tdm"; 1062 reg = <0x0 0xfe410000 0x0 0x1000>; 1063 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 1064 assigned-clocks = <&cru CLK_I2S1_8CH_TX_SRC>, <&cru CLK_I2S1_8CH_RX_SRC>; 1065 assigned-clock-rates = <1188000000>, <1188000000>; 1066 clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>, 1067 <&cru HCLK_I2S1_8CH>; 1068 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1069 dmas = <&dmac1 3>, <&dmac1 2>; 1070 dma-names = "rx", "tx"; 1071 resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>; 1072 reset-names = "tx-m", "rx-m"; 1073 rockchip,grf = <&grf>; 1074 pinctrl-names = "default"; 1075 pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx 1076 &i2s1m0_lrcktx &i2s1m0_lrckrx 1077 &i2s1m0_sdi0 &i2s1m0_sdi1 1078 &i2s1m0_sdi2 &i2s1m0_sdi3 1079 &i2s1m0_sdo0 &i2s1m0_sdo1 1080 &i2s1m0_sdo2 &i2s1m0_sdo3>; 1081 #sound-dai-cells = <0>; 1082 status = "disabled"; 1083 }; 1084 1085 i2s2_2ch: i2s@fe420000 { 1086 compatible = "rockchip,rk3568-i2s-tdm"; 1087 reg = <0x0 0xfe420000 0x0 0x1000>; 1088 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 1089 assigned-clocks = <&cru CLK_I2S2_2CH_SRC>; 1090 assigned-clock-rates = <1188000000>; 1091 clocks = <&cru MCLK_I2S2_2CH>, <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>; 1092 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1093 dmas = <&dmac1 4>, <&dmac1 5>; 1094 dma-names = "tx", "rx"; 1095 resets = <&cru SRST_M_I2S2_2CH>; 1096 reset-names = "tx-m"; 1097 rockchip,grf = <&grf>; 1098 pinctrl-names = "default"; 1099 pinctrl-0 = <&i2s2m0_sclktx 1100 &i2s2m0_lrcktx 1101 &i2s2m0_sdi 1102 &i2s2m0_sdo>; 1103 #sound-dai-cells = <0>; 1104 status = "disabled"; 1105 }; 1106 1107 i2s3_2ch: i2s@fe430000 { 1108 compatible = "rockchip,rk3568-i2s-tdm"; 1109 reg = <0x0 0xfe430000 0x0 0x1000>; 1110 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 1111 clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>, 1112 <&cru HCLK_I2S3_2CH>; 1113 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1114 dmas = <&dmac1 6>, <&dmac1 7>; 1115 dma-names = "tx", "rx"; 1116 resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>; 1117 reset-names = "tx-m", "rx-m"; 1118 rockchip,grf = <&grf>; 1119 #sound-dai-cells = <0>; 1120 status = "disabled"; 1121 }; 1122 1123 pdm: pdm@fe440000 { 1124 compatible = "rockchip,rk3568-pdm"; 1125 reg = <0x0 0xfe440000 0x0 0x1000>; 1126 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 1127 clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>; 1128 clock-names = "pdm_clk", "pdm_hclk"; 1129 dmas = <&dmac1 9>; 1130 dma-names = "rx"; 1131 pinctrl-0 = <&pdmm0_clk 1132 &pdmm0_clk1 1133 &pdmm0_sdi0 1134 &pdmm0_sdi1 1135 &pdmm0_sdi2 1136 &pdmm0_sdi3>; 1137 pinctrl-names = "default"; 1138 resets = <&cru SRST_M_PDM>; 1139 reset-names = "pdm-m"; 1140 #sound-dai-cells = <0>; 1141 status = "disabled"; 1142 }; 1143 1144 spdif: spdif@fe460000 { 1145 compatible = "rockchip,rk3568-spdif"; 1146 reg = <0x0 0xfe460000 0x0 0x1000>; 1147 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 1148 clock-names = "mclk", "hclk"; 1149 clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>; 1150 dmas = <&dmac1 1>; 1151 dma-names = "tx"; 1152 pinctrl-names = "default"; 1153 pinctrl-0 = <&spdifm0_tx>; 1154 #sound-dai-cells = <0>; 1155 status = "disabled"; 1156 }; 1157 1158 dmac0: dma-controller@fe530000 { 1159 compatible = "arm,pl330", "arm,primecell"; 1160 reg = <0x0 0xfe530000 0x0 0x4000>; 1161 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 1162 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1163 arm,pl330-periph-burst; 1164 clocks = <&cru ACLK_BUS>; 1165 clock-names = "apb_pclk"; 1166 #dma-cells = <1>; 1167 }; 1168 1169 dmac1: dma-controller@fe550000 { 1170 compatible = "arm,pl330", "arm,primecell"; 1171 reg = <0x0 0xfe550000 0x0 0x4000>; 1172 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 1173 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 1174 arm,pl330-periph-burst; 1175 clocks = <&cru ACLK_BUS>; 1176 clock-names = "apb_pclk"; 1177 #dma-cells = <1>; 1178 }; 1179 1180 i2c1: i2c@fe5a0000 { 1181 compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c"; 1182 reg = <0x0 0xfe5a0000 0x0 0x1000>; 1183 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 1184 clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 1185 clock-names = "i2c", "pclk"; 1186 pinctrl-0 = <&i2c1_xfer>; 1187 pinctrl-names = "default"; 1188 #address-cells = <1>; 1189 #size-cells = <0>; 1190 status = "disabled"; 1191 }; 1192 1193 i2c2: i2c@fe5b0000 { 1194 compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c"; 1195 reg = <0x0 0xfe5b0000 0x0 0x1000>; 1196 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 1197 clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 1198 clock-names = "i2c", "pclk"; 1199 pinctrl-0 = <&i2c2m0_xfer>; 1200 pinctrl-names = "default"; 1201 #address-cells = <1>; 1202 #size-cells = <0>; 1203 status = "disabled"; 1204 }; 1205 1206 i2c3: i2c@fe5c0000 { 1207 compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c"; 1208 reg = <0x0 0xfe5c0000 0x0 0x1000>; 1209 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 1210 clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 1211 clock-names = "i2c", "pclk"; 1212 pinctrl-0 = <&i2c3m0_xfer>; 1213 pinctrl-names = "default"; 1214 #address-cells = <1>; 1215 #size-cells = <0>; 1216 status = "disabled"; 1217 }; 1218 1219 i2c4: i2c@fe5d0000 { 1220 compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c"; 1221 reg = <0x0 0xfe5d0000 0x0 0x1000>; 1222 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 1223 clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 1224 clock-names = "i2c", "pclk"; 1225 pinctrl-0 = <&i2c4m0_xfer>; 1226 pinctrl-names = "default"; 1227 #address-cells = <1>; 1228 #size-cells = <0>; 1229 status = "disabled"; 1230 }; 1231 1232 i2c5: i2c@fe5e0000 { 1233 compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c"; 1234 reg = <0x0 0xfe5e0000 0x0 0x1000>; 1235 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 1236 clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 1237 clock-names = "i2c", "pclk"; 1238 pinctrl-0 = <&i2c5m0_xfer>; 1239 pinctrl-names = "default"; 1240 #address-cells = <1>; 1241 #size-cells = <0>; 1242 status = "disabled"; 1243 }; 1244 1245 wdt: watchdog@fe600000 { 1246 compatible = "rockchip,rk3568-wdt", "snps,dw-wdt"; 1247 reg = <0x0 0xfe600000 0x0 0x100>; 1248 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 1249 clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>; 1250 clock-names = "tclk", "pclk"; 1251 }; 1252 1253 spi0: spi@fe610000 { 1254 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 1255 reg = <0x0 0xfe610000 0x0 0x1000>; 1256 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 1257 clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 1258 clock-names = "spiclk", "apb_pclk"; 1259 dmas = <&dmac0 20>, <&dmac0 21>; 1260 dma-names = "tx", "rx"; 1261 pinctrl-names = "default"; 1262 pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>; 1263 #address-cells = <1>; 1264 #size-cells = <0>; 1265 status = "disabled"; 1266 }; 1267 1268 spi1: spi@fe620000 { 1269 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 1270 reg = <0x0 0xfe620000 0x0 0x1000>; 1271 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 1272 clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 1273 clock-names = "spiclk", "apb_pclk"; 1274 dmas = <&dmac0 22>, <&dmac0 23>; 1275 dma-names = "tx", "rx"; 1276 pinctrl-names = "default"; 1277 pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>; 1278 #address-cells = <1>; 1279 #size-cells = <0>; 1280 status = "disabled"; 1281 }; 1282 1283 spi2: spi@fe630000 { 1284 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 1285 reg = <0x0 0xfe630000 0x0 0x1000>; 1286 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 1287 clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>; 1288 clock-names = "spiclk", "apb_pclk"; 1289 dmas = <&dmac0 24>, <&dmac0 25>; 1290 dma-names = "tx", "rx"; 1291 pinctrl-names = "default"; 1292 pinctrl-0 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins>; 1293 #address-cells = <1>; 1294 #size-cells = <0>; 1295 status = "disabled"; 1296 }; 1297 1298 spi3: spi@fe640000 { 1299 compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi"; 1300 reg = <0x0 0xfe640000 0x0 0x1000>; 1301 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 1302 clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>; 1303 clock-names = "spiclk", "apb_pclk"; 1304 dmas = <&dmac0 26>, <&dmac0 27>; 1305 dma-names = "tx", "rx"; 1306 pinctrl-names = "default"; 1307 pinctrl-0 = <&spi3m0_cs0 &spi3m0_cs1 &spi3m0_pins>; 1308 #address-cells = <1>; 1309 #size-cells = <0>; 1310 status = "disabled"; 1311 }; 1312 1313 uart1: serial@fe650000 { 1314 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1315 reg = <0x0 0xfe650000 0x0 0x100>; 1316 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 1317 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 1318 clock-names = "baudclk", "apb_pclk"; 1319 dmas = <&dmac0 2>, <&dmac0 3>; 1320 pinctrl-0 = <&uart1m0_xfer>; 1321 pinctrl-names = "default"; 1322 reg-io-width = <4>; 1323 reg-shift = <2>; 1324 status = "disabled"; 1325 }; 1326 1327 uart2: serial@fe660000 { 1328 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1329 reg = <0x0 0xfe660000 0x0 0x100>; 1330 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 1331 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 1332 clock-names = "baudclk", "apb_pclk"; 1333 dmas = <&dmac0 4>, <&dmac0 5>; 1334 pinctrl-0 = <&uart2m0_xfer>; 1335 pinctrl-names = "default"; 1336 reg-io-width = <4>; 1337 reg-shift = <2>; 1338 status = "disabled"; 1339 }; 1340 1341 uart3: serial@fe670000 { 1342 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1343 reg = <0x0 0xfe670000 0x0 0x100>; 1344 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 1345 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 1346 clock-names = "baudclk", "apb_pclk"; 1347 dmas = <&dmac0 6>, <&dmac0 7>; 1348 pinctrl-0 = <&uart3m0_xfer>; 1349 pinctrl-names = "default"; 1350 reg-io-width = <4>; 1351 reg-shift = <2>; 1352 status = "disabled"; 1353 }; 1354 1355 uart4: serial@fe680000 { 1356 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1357 reg = <0x0 0xfe680000 0x0 0x100>; 1358 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 1359 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 1360 clock-names = "baudclk", "apb_pclk"; 1361 dmas = <&dmac0 8>, <&dmac0 9>; 1362 pinctrl-0 = <&uart4m0_xfer>; 1363 pinctrl-names = "default"; 1364 reg-io-width = <4>; 1365 reg-shift = <2>; 1366 status = "disabled"; 1367 }; 1368 1369 uart5: serial@fe690000 { 1370 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1371 reg = <0x0 0xfe690000 0x0 0x100>; 1372 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 1373 clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 1374 clock-names = "baudclk", "apb_pclk"; 1375 dmas = <&dmac0 10>, <&dmac0 11>; 1376 pinctrl-0 = <&uart5m0_xfer>; 1377 pinctrl-names = "default"; 1378 reg-io-width = <4>; 1379 reg-shift = <2>; 1380 status = "disabled"; 1381 }; 1382 1383 uart6: serial@fe6a0000 { 1384 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1385 reg = <0x0 0xfe6a0000 0x0 0x100>; 1386 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 1387 clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 1388 clock-names = "baudclk", "apb_pclk"; 1389 dmas = <&dmac0 12>, <&dmac0 13>; 1390 pinctrl-0 = <&uart6m0_xfer>; 1391 pinctrl-names = "default"; 1392 reg-io-width = <4>; 1393 reg-shift = <2>; 1394 status = "disabled"; 1395 }; 1396 1397 uart7: serial@fe6b0000 { 1398 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1399 reg = <0x0 0xfe6b0000 0x0 0x100>; 1400 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 1401 clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 1402 clock-names = "baudclk", "apb_pclk"; 1403 dmas = <&dmac0 14>, <&dmac0 15>; 1404 pinctrl-0 = <&uart7m0_xfer>; 1405 pinctrl-names = "default"; 1406 reg-io-width = <4>; 1407 reg-shift = <2>; 1408 status = "disabled"; 1409 }; 1410 1411 uart8: serial@fe6c0000 { 1412 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1413 reg = <0x0 0xfe6c0000 0x0 0x100>; 1414 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 1415 clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>; 1416 clock-names = "baudclk", "apb_pclk"; 1417 dmas = <&dmac0 16>, <&dmac0 17>; 1418 pinctrl-0 = <&uart8m0_xfer>; 1419 pinctrl-names = "default"; 1420 reg-io-width = <4>; 1421 reg-shift = <2>; 1422 status = "disabled"; 1423 }; 1424 1425 uart9: serial@fe6d0000 { 1426 compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart"; 1427 reg = <0x0 0xfe6d0000 0x0 0x100>; 1428 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 1429 clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>; 1430 clock-names = "baudclk", "apb_pclk"; 1431 dmas = <&dmac0 18>, <&dmac0 19>; 1432 pinctrl-0 = <&uart9m0_xfer>; 1433 pinctrl-names = "default"; 1434 reg-io-width = <4>; 1435 reg-shift = <2>; 1436 status = "disabled"; 1437 }; 1438 1439 thermal_zones: thermal-zones { 1440 cpu_thermal: cpu-thermal { 1441 polling-delay-passive = <100>; 1442 polling-delay = <1000>; 1443 1444 thermal-sensors = <&tsadc 0>; 1445 1446 trips { 1447 cpu_alert0: cpu_alert0 { 1448 temperature = <70000>; 1449 hysteresis = <2000>; 1450 type = "passive"; 1451 }; 1452 cpu_alert1: cpu_alert1 { 1453 temperature = <75000>; 1454 hysteresis = <2000>; 1455 type = "passive"; 1456 }; 1457 cpu_crit: cpu_crit { 1458 temperature = <95000>; 1459 hysteresis = <2000>; 1460 type = "critical"; 1461 }; 1462 }; 1463 1464 cooling-maps { 1465 map0 { 1466 trip = <&cpu_alert0>; 1467 cooling-device = 1468 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1469 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1470 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1471 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1472 }; 1473 }; 1474 }; 1475 1476 gpu_thermal: gpu-thermal { 1477 polling-delay-passive = <20>; /* milliseconds */ 1478 polling-delay = <1000>; /* milliseconds */ 1479 1480 thermal-sensors = <&tsadc 1>; 1481 1482 trips { 1483 gpu_threshold: gpu-threshold { 1484 temperature = <70000>; 1485 hysteresis = <2000>; 1486 type = "passive"; 1487 }; 1488 gpu_target: gpu-target { 1489 temperature = <75000>; 1490 hysteresis = <2000>; 1491 type = "passive"; 1492 }; 1493 gpu_crit: gpu-crit { 1494 temperature = <95000>; 1495 hysteresis = <2000>; 1496 type = "critical"; 1497 }; 1498 }; 1499 1500 cooling-maps { 1501 map0 { 1502 trip = <&gpu_target>; 1503 cooling-device = 1504 <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1505 }; 1506 }; 1507 }; 1508 }; 1509 1510 tsadc: tsadc@fe710000 { 1511 compatible = "rockchip,rk3568-tsadc"; 1512 reg = <0x0 0xfe710000 0x0 0x100>; 1513 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 1514 assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>; 1515 assigned-clock-rates = <17000000>, <700000>; 1516 clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>; 1517 clock-names = "tsadc", "apb_pclk"; 1518 resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>, 1519 <&cru SRST_TSADCPHY>; 1520 rockchip,grf = <&grf>; 1521 rockchip,hw-tshut-temp = <95000>; 1522 pinctrl-names = "default", "sleep"; 1523 pinctrl-0 = <&tsadc_shutorg>; 1524 pinctrl-1 = <&tsadc_pin>; 1525 #thermal-sensor-cells = <1>; 1526 status = "disabled"; 1527 }; 1528 1529 saradc: saradc@fe720000 { 1530 compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc"; 1531 reg = <0x0 0xfe720000 0x0 0x100>; 1532 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 1533 clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 1534 clock-names = "saradc", "apb_pclk"; 1535 resets = <&cru SRST_P_SARADC>; 1536 reset-names = "saradc-apb"; 1537 #io-channel-cells = <1>; 1538 status = "disabled"; 1539 }; 1540 1541 pwm4: pwm@fe6e0000 { 1542 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1543 reg = <0x0 0xfe6e0000 0x0 0x10>; 1544 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1545 clock-names = "pwm", "pclk"; 1546 pinctrl-0 = <&pwm4_pins>; 1547 pinctrl-names = "default"; 1548 #pwm-cells = <3>; 1549 status = "disabled"; 1550 }; 1551 1552 pwm5: pwm@fe6e0010 { 1553 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1554 reg = <0x0 0xfe6e0010 0x0 0x10>; 1555 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1556 clock-names = "pwm", "pclk"; 1557 pinctrl-0 = <&pwm5_pins>; 1558 pinctrl-names = "default"; 1559 #pwm-cells = <3>; 1560 status = "disabled"; 1561 }; 1562 1563 pwm6: pwm@fe6e0020 { 1564 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1565 reg = <0x0 0xfe6e0020 0x0 0x10>; 1566 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1567 clock-names = "pwm", "pclk"; 1568 pinctrl-0 = <&pwm6_pins>; 1569 pinctrl-names = "default"; 1570 #pwm-cells = <3>; 1571 status = "disabled"; 1572 }; 1573 1574 pwm7: pwm@fe6e0030 { 1575 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1576 reg = <0x0 0xfe6e0030 0x0 0x10>; 1577 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1578 clock-names = "pwm", "pclk"; 1579 pinctrl-0 = <&pwm7_pins>; 1580 pinctrl-names = "default"; 1581 #pwm-cells = <3>; 1582 status = "disabled"; 1583 }; 1584 1585 pwm8: pwm@fe6f0000 { 1586 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1587 reg = <0x0 0xfe6f0000 0x0 0x10>; 1588 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1589 clock-names = "pwm", "pclk"; 1590 pinctrl-0 = <&pwm8m0_pins>; 1591 pinctrl-names = "default"; 1592 #pwm-cells = <3>; 1593 status = "disabled"; 1594 }; 1595 1596 pwm9: pwm@fe6f0010 { 1597 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1598 reg = <0x0 0xfe6f0010 0x0 0x10>; 1599 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1600 clock-names = "pwm", "pclk"; 1601 pinctrl-0 = <&pwm9m0_pins>; 1602 pinctrl-names = "default"; 1603 #pwm-cells = <3>; 1604 status = "disabled"; 1605 }; 1606 1607 pwm10: pwm@fe6f0020 { 1608 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1609 reg = <0x0 0xfe6f0020 0x0 0x10>; 1610 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1611 clock-names = "pwm", "pclk"; 1612 pinctrl-0 = <&pwm10m0_pins>; 1613 pinctrl-names = "default"; 1614 #pwm-cells = <3>; 1615 status = "disabled"; 1616 }; 1617 1618 pwm11: pwm@fe6f0030 { 1619 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1620 reg = <0x0 0xfe6f0030 0x0 0x10>; 1621 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1622 clock-names = "pwm", "pclk"; 1623 pinctrl-0 = <&pwm11m0_pins>; 1624 pinctrl-names = "default"; 1625 #pwm-cells = <3>; 1626 status = "disabled"; 1627 }; 1628 1629 pwm12: pwm@fe700000 { 1630 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1631 reg = <0x0 0xfe700000 0x0 0x10>; 1632 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1633 clock-names = "pwm", "pclk"; 1634 pinctrl-0 = <&pwm12m0_pins>; 1635 pinctrl-names = "default"; 1636 #pwm-cells = <3>; 1637 status = "disabled"; 1638 }; 1639 1640 pwm13: pwm@fe700010 { 1641 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1642 reg = <0x0 0xfe700010 0x0 0x10>; 1643 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1644 clock-names = "pwm", "pclk"; 1645 pinctrl-0 = <&pwm13m0_pins>; 1646 pinctrl-names = "default"; 1647 #pwm-cells = <3>; 1648 status = "disabled"; 1649 }; 1650 1651 pwm14: pwm@fe700020 { 1652 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1653 reg = <0x0 0xfe700020 0x0 0x10>; 1654 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1655 clock-names = "pwm", "pclk"; 1656 pinctrl-0 = <&pwm14m0_pins>; 1657 pinctrl-names = "default"; 1658 #pwm-cells = <3>; 1659 status = "disabled"; 1660 }; 1661 1662 pwm15: pwm@fe700030 { 1663 compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm"; 1664 reg = <0x0 0xfe700030 0x0 0x10>; 1665 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1666 clock-names = "pwm", "pclk"; 1667 pinctrl-0 = <&pwm15m0_pins>; 1668 pinctrl-names = "default"; 1669 #pwm-cells = <3>; 1670 status = "disabled"; 1671 }; 1672 1673 combphy1: phy@fe830000 { 1674 compatible = "rockchip,rk3568-naneng-combphy"; 1675 reg = <0x0 0xfe830000 0x0 0x100>; 1676 clocks = <&pmucru CLK_PCIEPHY1_REF>, 1677 <&cru PCLK_PIPEPHY1>, 1678 <&cru PCLK_PIPE>; 1679 clock-names = "ref", "apb", "pipe"; 1680 assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>; 1681 assigned-clock-rates = <100000000>; 1682 resets = <&cru SRST_PIPEPHY1>; 1683 reset-names = "phy"; 1684 rockchip,pipe-grf = <&pipegrf>; 1685 rockchip,pipe-phy-grf = <&pipe_phy_grf1>; 1686 #phy-cells = <1>; 1687 status = "disabled"; 1688 }; 1689 1690 combphy2: phy@fe840000 { 1691 compatible = "rockchip,rk3568-naneng-combphy"; 1692 reg = <0x0 0xfe840000 0x0 0x100>; 1693 clocks = <&pmucru CLK_PCIEPHY2_REF>, 1694 <&cru PCLK_PIPEPHY2>, 1695 <&cru PCLK_PIPE>; 1696 clock-names = "ref", "apb", "pipe"; 1697 assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>; 1698 assigned-clock-rates = <100000000>; 1699 resets = <&cru SRST_PIPEPHY2>; 1700 reset-names = "phy"; 1701 rockchip,pipe-grf = <&pipegrf>; 1702 rockchip,pipe-phy-grf = <&pipe_phy_grf2>; 1703 #phy-cells = <1>; 1704 status = "disabled"; 1705 }; 1706 1707 csi_dphy: phy@fe870000 { 1708 compatible = "rockchip,rk3568-csi-dphy"; 1709 reg = <0x0 0xfe870000 0x0 0x10000>; 1710 clocks = <&cru PCLK_MIPICSIPHY>; 1711 clock-names = "pclk"; 1712 #phy-cells = <0>; 1713 resets = <&cru SRST_P_MIPICSIPHY>; 1714 reset-names = "apb"; 1715 rockchip,grf = <&grf>; 1716 status = "disabled"; 1717 }; 1718 1719 dsi_dphy0: mipi-dphy@fe850000 { 1720 compatible = "rockchip,rk3568-dsi-dphy"; 1721 reg = <0x0 0xfe850000 0x0 0x10000>; 1722 clock-names = "ref", "pclk"; 1723 clocks = <&pmucru CLK_MIPIDSIPHY0_REF>, <&cru PCLK_MIPIDSIPHY0>; 1724 #phy-cells = <0>; 1725 power-domains = <&power RK3568_PD_VO>; 1726 reset-names = "apb"; 1727 resets = <&cru SRST_P_MIPIDSIPHY0>; 1728 status = "disabled"; 1729 }; 1730 1731 dsi_dphy1: mipi-dphy@fe860000 { 1732 compatible = "rockchip,rk3568-dsi-dphy"; 1733 reg = <0x0 0xfe860000 0x0 0x10000>; 1734 clock-names = "ref", "pclk"; 1735 clocks = <&pmucru CLK_MIPIDSIPHY1_REF>, <&cru PCLK_MIPIDSIPHY1>; 1736 #phy-cells = <0>; 1737 power-domains = <&power RK3568_PD_VO>; 1738 reset-names = "apb"; 1739 resets = <&cru SRST_P_MIPIDSIPHY1>; 1740 status = "disabled"; 1741 }; 1742 1743 usb2phy0: usb2phy@fe8a0000 { 1744 compatible = "rockchip,rk3568-usb2phy"; 1745 reg = <0x0 0xfe8a0000 0x0 0x10000>; 1746 clocks = <&pmucru CLK_USBPHY0_REF>; 1747 clock-names = "phyclk"; 1748 clock-output-names = "clk_usbphy0_480m"; 1749 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>; 1750 rockchip,usbgrf = <&usb2phy0_grf>; 1751 #clock-cells = <0>; 1752 status = "disabled"; 1753 1754 usb2phy0_host: host-port { 1755 #phy-cells = <0>; 1756 status = "disabled"; 1757 }; 1758 1759 usb2phy0_otg: otg-port { 1760 #phy-cells = <0>; 1761 status = "disabled"; 1762 }; 1763 }; 1764 1765 usb2phy1: usb2phy@fe8b0000 { 1766 compatible = "rockchip,rk3568-usb2phy"; 1767 reg = <0x0 0xfe8b0000 0x0 0x10000>; 1768 clocks = <&pmucru CLK_USBPHY1_REF>; 1769 clock-names = "phyclk"; 1770 clock-output-names = "clk_usbphy1_480m"; 1771 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 1772 rockchip,usbgrf = <&usb2phy1_grf>; 1773 #clock-cells = <0>; 1774 status = "disabled"; 1775 1776 usb2phy1_host: host-port { 1777 #phy-cells = <0>; 1778 status = "disabled"; 1779 }; 1780 1781 usb2phy1_otg: otg-port { 1782 #phy-cells = <0>; 1783 status = "disabled"; 1784 }; 1785 }; 1786 1787 pinctrl: pinctrl { 1788 compatible = "rockchip,rk3568-pinctrl"; 1789 rockchip,grf = <&grf>; 1790 rockchip,pmu = <&pmugrf>; 1791 #address-cells = <2>; 1792 #size-cells = <2>; 1793 ranges; 1794 1795 gpio0: gpio@fdd60000 { 1796 compatible = "rockchip,gpio-bank"; 1797 reg = <0x0 0xfdd60000 0x0 0x100>; 1798 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 1799 clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>; 1800 gpio-controller; 1801 gpio-ranges = <&pinctrl 0 0 32>; 1802 #gpio-cells = <2>; 1803 interrupt-controller; 1804 #interrupt-cells = <2>; 1805 }; 1806 1807 gpio1: gpio@fe740000 { 1808 compatible = "rockchip,gpio-bank"; 1809 reg = <0x0 0xfe740000 0x0 0x100>; 1810 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 1811 clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 1812 gpio-controller; 1813 gpio-ranges = <&pinctrl 0 32 32>; 1814 #gpio-cells = <2>; 1815 interrupt-controller; 1816 #interrupt-cells = <2>; 1817 }; 1818 1819 gpio2: gpio@fe750000 { 1820 compatible = "rockchip,gpio-bank"; 1821 reg = <0x0 0xfe750000 0x0 0x100>; 1822 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 1823 clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 1824 gpio-controller; 1825 gpio-ranges = <&pinctrl 0 64 32>; 1826 #gpio-cells = <2>; 1827 interrupt-controller; 1828 #interrupt-cells = <2>; 1829 }; 1830 1831 gpio3: gpio@fe760000 { 1832 compatible = "rockchip,gpio-bank"; 1833 reg = <0x0 0xfe760000 0x0 0x100>; 1834 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 1835 clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 1836 gpio-controller; 1837 gpio-ranges = <&pinctrl 0 96 32>; 1838 #gpio-cells = <2>; 1839 interrupt-controller; 1840 #interrupt-cells = <2>; 1841 }; 1842 1843 gpio4: gpio@fe770000 { 1844 compatible = "rockchip,gpio-bank"; 1845 reg = <0x0 0xfe770000 0x0 0x100>; 1846 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 1847 clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 1848 gpio-controller; 1849 gpio-ranges = <&pinctrl 0 128 32>; 1850 #gpio-cells = <2>; 1851 interrupt-controller; 1852 #interrupt-cells = <2>; 1853 }; 1854 }; 1855}; 1856 1857#include "rk3568-pinctrl.dtsi" 1858