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/rockchip,rk3588-cru.h> 7#include <dt-bindings/interrupt-controller/arm-gic.h> 8#include <dt-bindings/interrupt-controller/irq.h> 9#include <dt-bindings/power/rk3588-power.h> 10#include <dt-bindings/reset/rockchip,rk3588-cru.h> 11#include <dt-bindings/phy/phy.h> 12#include <dt-bindings/ata/ahci.h> 13 14/ { 15 compatible = "rockchip,rk3588"; 16 17 interrupt-parent = <&gic>; 18 #address-cells = <2>; 19 #size-cells = <2>; 20 21 cpus { 22 #address-cells = <1>; 23 #size-cells = <0>; 24 25 cpu-map { 26 cluster0 { 27 core0 { 28 cpu = <&cpu_l0>; 29 }; 30 core1 { 31 cpu = <&cpu_l1>; 32 }; 33 core2 { 34 cpu = <&cpu_l2>; 35 }; 36 core3 { 37 cpu = <&cpu_l3>; 38 }; 39 }; 40 cluster1 { 41 core0 { 42 cpu = <&cpu_b0>; 43 }; 44 core1 { 45 cpu = <&cpu_b1>; 46 }; 47 }; 48 cluster2 { 49 core0 { 50 cpu = <&cpu_b2>; 51 }; 52 core1 { 53 cpu = <&cpu_b3>; 54 }; 55 }; 56 }; 57 58 cpu_l0: cpu@0 { 59 device_type = "cpu"; 60 compatible = "arm,cortex-a55"; 61 reg = <0x0>; 62 enable-method = "psci"; 63 capacity-dmips-mhz = <530>; 64 clocks = <&scmi_clk SCMI_CLK_CPUL>; 65 assigned-clocks = <&scmi_clk SCMI_CLK_CPUL>; 66 assigned-clock-rates = <816000000>; 67 cpu-idle-states = <&CPU_SLEEP>; 68 i-cache-size = <32768>; 69 i-cache-line-size = <64>; 70 i-cache-sets = <128>; 71 d-cache-size = <32768>; 72 d-cache-line-size = <64>; 73 d-cache-sets = <128>; 74 next-level-cache = <&l2_cache_l0>; 75 dynamic-power-coefficient = <228>; 76 #cooling-cells = <2>; 77 }; 78 79 cpu_l1: cpu@100 { 80 device_type = "cpu"; 81 compatible = "arm,cortex-a55"; 82 reg = <0x100>; 83 enable-method = "psci"; 84 capacity-dmips-mhz = <530>; 85 clocks = <&scmi_clk SCMI_CLK_CPUL>; 86 cpu-idle-states = <&CPU_SLEEP>; 87 i-cache-size = <32768>; 88 i-cache-line-size = <64>; 89 i-cache-sets = <128>; 90 d-cache-size = <32768>; 91 d-cache-line-size = <64>; 92 d-cache-sets = <128>; 93 next-level-cache = <&l2_cache_l1>; 94 dynamic-power-coefficient = <228>; 95 #cooling-cells = <2>; 96 }; 97 98 cpu_l2: cpu@200 { 99 device_type = "cpu"; 100 compatible = "arm,cortex-a55"; 101 reg = <0x200>; 102 enable-method = "psci"; 103 capacity-dmips-mhz = <530>; 104 clocks = <&scmi_clk SCMI_CLK_CPUL>; 105 cpu-idle-states = <&CPU_SLEEP>; 106 i-cache-size = <32768>; 107 i-cache-line-size = <64>; 108 i-cache-sets = <128>; 109 d-cache-size = <32768>; 110 d-cache-line-size = <64>; 111 d-cache-sets = <128>; 112 next-level-cache = <&l2_cache_l2>; 113 dynamic-power-coefficient = <228>; 114 #cooling-cells = <2>; 115 }; 116 117 cpu_l3: cpu@300 { 118 device_type = "cpu"; 119 compatible = "arm,cortex-a55"; 120 reg = <0x300>; 121 enable-method = "psci"; 122 capacity-dmips-mhz = <530>; 123 clocks = <&scmi_clk SCMI_CLK_CPUL>; 124 cpu-idle-states = <&CPU_SLEEP>; 125 i-cache-size = <32768>; 126 i-cache-line-size = <64>; 127 i-cache-sets = <128>; 128 d-cache-size = <32768>; 129 d-cache-line-size = <64>; 130 d-cache-sets = <128>; 131 next-level-cache = <&l2_cache_l3>; 132 dynamic-power-coefficient = <228>; 133 #cooling-cells = <2>; 134 }; 135 136 cpu_b0: cpu@400 { 137 device_type = "cpu"; 138 compatible = "arm,cortex-a76"; 139 reg = <0x400>; 140 enable-method = "psci"; 141 capacity-dmips-mhz = <1024>; 142 clocks = <&scmi_clk SCMI_CLK_CPUB01>; 143 assigned-clocks = <&scmi_clk SCMI_CLK_CPUB01>; 144 assigned-clock-rates = <816000000>; 145 cpu-idle-states = <&CPU_SLEEP>; 146 i-cache-size = <65536>; 147 i-cache-line-size = <64>; 148 i-cache-sets = <256>; 149 d-cache-size = <65536>; 150 d-cache-line-size = <64>; 151 d-cache-sets = <256>; 152 next-level-cache = <&l2_cache_b0>; 153 dynamic-power-coefficient = <416>; 154 #cooling-cells = <2>; 155 }; 156 157 cpu_b1: cpu@500 { 158 device_type = "cpu"; 159 compatible = "arm,cortex-a76"; 160 reg = <0x500>; 161 enable-method = "psci"; 162 capacity-dmips-mhz = <1024>; 163 clocks = <&scmi_clk SCMI_CLK_CPUB01>; 164 cpu-idle-states = <&CPU_SLEEP>; 165 i-cache-size = <65536>; 166 i-cache-line-size = <64>; 167 i-cache-sets = <256>; 168 d-cache-size = <65536>; 169 d-cache-line-size = <64>; 170 d-cache-sets = <256>; 171 next-level-cache = <&l2_cache_b1>; 172 dynamic-power-coefficient = <416>; 173 #cooling-cells = <2>; 174 }; 175 176 cpu_b2: cpu@600 { 177 device_type = "cpu"; 178 compatible = "arm,cortex-a76"; 179 reg = <0x600>; 180 enable-method = "psci"; 181 capacity-dmips-mhz = <1024>; 182 clocks = <&scmi_clk SCMI_CLK_CPUB23>; 183 assigned-clocks = <&scmi_clk SCMI_CLK_CPUB23>; 184 assigned-clock-rates = <816000000>; 185 cpu-idle-states = <&CPU_SLEEP>; 186 i-cache-size = <65536>; 187 i-cache-line-size = <64>; 188 i-cache-sets = <256>; 189 d-cache-size = <65536>; 190 d-cache-line-size = <64>; 191 d-cache-sets = <256>; 192 next-level-cache = <&l2_cache_b2>; 193 dynamic-power-coefficient = <416>; 194 #cooling-cells = <2>; 195 }; 196 197 cpu_b3: cpu@700 { 198 device_type = "cpu"; 199 compatible = "arm,cortex-a76"; 200 reg = <0x700>; 201 enable-method = "psci"; 202 capacity-dmips-mhz = <1024>; 203 clocks = <&scmi_clk SCMI_CLK_CPUB23>; 204 cpu-idle-states = <&CPU_SLEEP>; 205 i-cache-size = <65536>; 206 i-cache-line-size = <64>; 207 i-cache-sets = <256>; 208 d-cache-size = <65536>; 209 d-cache-line-size = <64>; 210 d-cache-sets = <256>; 211 next-level-cache = <&l2_cache_b3>; 212 dynamic-power-coefficient = <416>; 213 #cooling-cells = <2>; 214 }; 215 216 idle-states { 217 entry-method = "psci"; 218 CPU_SLEEP: cpu-sleep { 219 compatible = "arm,idle-state"; 220 local-timer-stop; 221 arm,psci-suspend-param = <0x0010000>; 222 entry-latency-us = <100>; 223 exit-latency-us = <120>; 224 min-residency-us = <1000>; 225 }; 226 }; 227 228 l2_cache_l0: l2-cache-l0 { 229 compatible = "cache"; 230 cache-size = <131072>; 231 cache-line-size = <64>; 232 cache-sets = <512>; 233 cache-level = <2>; 234 cache-unified; 235 next-level-cache = <&l3_cache>; 236 }; 237 238 l2_cache_l1: l2-cache-l1 { 239 compatible = "cache"; 240 cache-size = <131072>; 241 cache-line-size = <64>; 242 cache-sets = <512>; 243 cache-level = <2>; 244 cache-unified; 245 next-level-cache = <&l3_cache>; 246 }; 247 248 l2_cache_l2: l2-cache-l2 { 249 compatible = "cache"; 250 cache-size = <131072>; 251 cache-line-size = <64>; 252 cache-sets = <512>; 253 cache-level = <2>; 254 cache-unified; 255 next-level-cache = <&l3_cache>; 256 }; 257 258 l2_cache_l3: l2-cache-l3 { 259 compatible = "cache"; 260 cache-size = <131072>; 261 cache-line-size = <64>; 262 cache-sets = <512>; 263 cache-level = <2>; 264 cache-unified; 265 next-level-cache = <&l3_cache>; 266 }; 267 268 l2_cache_b0: l2-cache-b0 { 269 compatible = "cache"; 270 cache-size = <524288>; 271 cache-line-size = <64>; 272 cache-sets = <1024>; 273 cache-level = <2>; 274 cache-unified; 275 next-level-cache = <&l3_cache>; 276 }; 277 278 l2_cache_b1: l2-cache-b1 { 279 compatible = "cache"; 280 cache-size = <524288>; 281 cache-line-size = <64>; 282 cache-sets = <1024>; 283 cache-level = <2>; 284 cache-unified; 285 next-level-cache = <&l3_cache>; 286 }; 287 288 l2_cache_b2: l2-cache-b2 { 289 compatible = "cache"; 290 cache-size = <524288>; 291 cache-line-size = <64>; 292 cache-sets = <1024>; 293 cache-level = <2>; 294 cache-unified; 295 next-level-cache = <&l3_cache>; 296 }; 297 298 l2_cache_b3: l2-cache-b3 { 299 compatible = "cache"; 300 cache-size = <524288>; 301 cache-line-size = <64>; 302 cache-sets = <1024>; 303 cache-level = <2>; 304 cache-unified; 305 next-level-cache = <&l3_cache>; 306 }; 307 308 l3_cache: l3-cache { 309 compatible = "cache"; 310 cache-size = <3145728>; 311 cache-line-size = <64>; 312 cache-sets = <4096>; 313 cache-level = <3>; 314 cache-unified; 315 }; 316 }; 317 318 firmware { 319 optee: optee { 320 compatible = "linaro,optee-tz"; 321 method = "smc"; 322 }; 323 324 scmi: scmi { 325 compatible = "arm,scmi-smc"; 326 arm,smc-id = <0x82000010>; 327 shmem = <&scmi_shmem>; 328 #address-cells = <1>; 329 #size-cells = <0>; 330 331 scmi_clk: protocol@14 { 332 reg = <0x14>; 333 #clock-cells = <1>; 334 }; 335 336 scmi_reset: protocol@16 { 337 reg = <0x16>; 338 #reset-cells = <1>; 339 }; 340 }; 341 }; 342 343 pmu-a55 { 344 compatible = "arm,cortex-a55-pmu"; 345 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition0>; 346 }; 347 348 pmu-a76 { 349 compatible = "arm,cortex-a76-pmu"; 350 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition1>; 351 }; 352 353 psci { 354 compatible = "arm,psci-1.0"; 355 method = "smc"; 356 }; 357 358 spll: clock-0 { 359 compatible = "fixed-clock"; 360 clock-frequency = <702000000>; 361 clock-output-names = "spll"; 362 #clock-cells = <0>; 363 }; 364 365 timer { 366 compatible = "arm,armv8-timer"; 367 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>, 368 <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>, 369 <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>, 370 <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>, 371 <GIC_PPI 12 IRQ_TYPE_LEVEL_HIGH 0>; 372 interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt"; 373 }; 374 375 xin24m: clock-1 { 376 compatible = "fixed-clock"; 377 clock-frequency = <24000000>; 378 clock-output-names = "xin24m"; 379 #clock-cells = <0>; 380 }; 381 382 xin32k: clock-2 { 383 compatible = "fixed-clock"; 384 clock-frequency = <32768>; 385 clock-output-names = "xin32k"; 386 #clock-cells = <0>; 387 }; 388 389 pmu_sram: sram@10f000 { 390 compatible = "mmio-sram"; 391 reg = <0x0 0x0010f000 0x0 0x100>; 392 ranges = <0 0x0 0x0010f000 0x100>; 393 #address-cells = <1>; 394 #size-cells = <1>; 395 396 scmi_shmem: sram@0 { 397 compatible = "arm,scmi-shmem"; 398 reg = <0x0 0x100>; 399 }; 400 }; 401 402 usb_host0_ehci: usb@fc800000 { 403 compatible = "rockchip,rk3588-ehci", "generic-ehci"; 404 reg = <0x0 0xfc800000 0x0 0x40000>; 405 interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH 0>; 406 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>, <&cru ACLK_USB>, <&u2phy2>; 407 phys = <&u2phy2_host>; 408 phy-names = "usb"; 409 power-domains = <&power RK3588_PD_USB>; 410 status = "disabled"; 411 }; 412 413 usb_host0_ohci: usb@fc840000 { 414 compatible = "rockchip,rk3588-ohci", "generic-ohci"; 415 reg = <0x0 0xfc840000 0x0 0x40000>; 416 interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH 0>; 417 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>, <&cru ACLK_USB>, <&u2phy2>; 418 phys = <&u2phy2_host>; 419 phy-names = "usb"; 420 power-domains = <&power RK3588_PD_USB>; 421 status = "disabled"; 422 }; 423 424 usb_host1_ehci: usb@fc880000 { 425 compatible = "rockchip,rk3588-ehci", "generic-ehci"; 426 reg = <0x0 0xfc880000 0x0 0x40000>; 427 interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH 0>; 428 clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>, <&cru ACLK_USB>, <&u2phy3>; 429 phys = <&u2phy3_host>; 430 phy-names = "usb"; 431 power-domains = <&power RK3588_PD_USB>; 432 status = "disabled"; 433 }; 434 435 usb_host1_ohci: usb@fc8c0000 { 436 compatible = "rockchip,rk3588-ohci", "generic-ohci"; 437 reg = <0x0 0xfc8c0000 0x0 0x40000>; 438 interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH 0>; 439 clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>, <&cru ACLK_USB>, <&u2phy3>; 440 phys = <&u2phy3_host>; 441 phy-names = "usb"; 442 power-domains = <&power RK3588_PD_USB>; 443 status = "disabled"; 444 }; 445 446 sys_grf: syscon@fd58c000 { 447 compatible = "rockchip,rk3588-sys-grf", "syscon"; 448 reg = <0x0 0xfd58c000 0x0 0x1000>; 449 }; 450 451 php_grf: syscon@fd5b0000 { 452 compatible = "rockchip,rk3588-php-grf", "syscon"; 453 reg = <0x0 0xfd5b0000 0x0 0x1000>; 454 }; 455 456 pipe_phy0_grf: syscon@fd5bc000 { 457 compatible = "rockchip,rk3588-pipe-phy-grf", "syscon"; 458 reg = <0x0 0xfd5bc000 0x0 0x100>; 459 }; 460 461 pipe_phy2_grf: syscon@fd5c4000 { 462 compatible = "rockchip,rk3588-pipe-phy-grf", "syscon"; 463 reg = <0x0 0xfd5c4000 0x0 0x100>; 464 }; 465 466 usb2phy2_grf: syscon@fd5d8000 { 467 compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd"; 468 reg = <0x0 0xfd5d8000 0x0 0x4000>; 469 #address-cells = <1>; 470 #size-cells = <1>; 471 472 u2phy2: usb2-phy@8000 { 473 compatible = "rockchip,rk3588-usb2phy"; 474 reg = <0x8000 0x10>; 475 interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH 0>; 476 resets = <&cru SRST_OTGPHY_U2_0>, <&cru SRST_P_USB2PHY_U2_0_GRF0>; 477 reset-names = "phy", "apb"; 478 clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>; 479 clock-names = "phyclk"; 480 clock-output-names = "usb480m_phy2"; 481 #clock-cells = <0>; 482 status = "disabled"; 483 484 u2phy2_host: host-port { 485 #phy-cells = <0>; 486 status = "disabled"; 487 }; 488 }; 489 }; 490 491 usb2phy3_grf: syscon@fd5dc000 { 492 compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd"; 493 reg = <0x0 0xfd5dc000 0x0 0x4000>; 494 #address-cells = <1>; 495 #size-cells = <1>; 496 497 u2phy3: usb2-phy@c000 { 498 compatible = "rockchip,rk3588-usb2phy"; 499 reg = <0xc000 0x10>; 500 interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH 0>; 501 resets = <&cru SRST_OTGPHY_U2_1>, <&cru SRST_P_USB2PHY_U2_1_GRF0>; 502 reset-names = "phy", "apb"; 503 clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>; 504 clock-names = "phyclk"; 505 clock-output-names = "usb480m_phy3"; 506 #clock-cells = <0>; 507 status = "disabled"; 508 509 u2phy3_host: host-port { 510 #phy-cells = <0>; 511 status = "disabled"; 512 }; 513 }; 514 }; 515 516 ioc: syscon@fd5f0000 { 517 compatible = "rockchip,rk3588-ioc", "syscon"; 518 reg = <0x0 0xfd5f0000 0x0 0x10000>; 519 }; 520 521 system_sram1: sram@fd600000 { 522 compatible = "mmio-sram"; 523 reg = <0x0 0xfd600000 0x0 0x100000>; 524 ranges = <0x0 0x0 0xfd600000 0x100000>; 525 #address-cells = <1>; 526 #size-cells = <1>; 527 }; 528 529 cru: clock-controller@fd7c0000 { 530 compatible = "rockchip,rk3588-cru"; 531 reg = <0x0 0xfd7c0000 0x0 0x5c000>; 532 assigned-clocks = 533 <&cru PLL_PPLL>, <&cru PLL_AUPLL>, 534 <&cru PLL_NPLL>, <&cru PLL_GPLL>, 535 <&cru ACLK_CENTER_ROOT>, 536 <&cru HCLK_CENTER_ROOT>, <&cru ACLK_CENTER_LOW_ROOT>, 537 <&cru ACLK_TOP_ROOT>, <&cru PCLK_TOP_ROOT>, 538 <&cru ACLK_LOW_TOP_ROOT>, <&cru PCLK_PMU0_ROOT>, 539 <&cru HCLK_PMU_CM0_ROOT>, <&cru ACLK_VOP>, 540 <&cru ACLK_BUS_ROOT>, <&cru CLK_150M_SRC>, 541 <&cru CLK_GPU>; 542 assigned-clock-rates = 543 <1100000000>, <786432000>, 544 <850000000>, <1188000000>, 545 <702000000>, 546 <400000000>, <500000000>, 547 <800000000>, <100000000>, 548 <400000000>, <100000000>, 549 <200000000>, <500000000>, 550 <375000000>, <150000000>, 551 <200000000>; 552 rockchip,grf = <&php_grf>; 553 #clock-cells = <1>; 554 #reset-cells = <1>; 555 }; 556 557 i2c0: i2c@fd880000 { 558 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 559 reg = <0x0 0xfd880000 0x0 0x1000>; 560 interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH 0>; 561 clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>; 562 clock-names = "i2c", "pclk"; 563 pinctrl-0 = <&i2c0m0_xfer>; 564 pinctrl-names = "default"; 565 #address-cells = <1>; 566 #size-cells = <0>; 567 status = "disabled"; 568 }; 569 570 uart0: serial@fd890000 { 571 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 572 reg = <0x0 0xfd890000 0x0 0x100>; 573 interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH 0>; 574 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 575 clock-names = "baudclk", "apb_pclk"; 576 dmas = <&dmac0 6>, <&dmac0 7>; 577 dma-names = "tx", "rx"; 578 pinctrl-0 = <&uart0m1_xfer>; 579 pinctrl-names = "default"; 580 reg-shift = <2>; 581 reg-io-width = <4>; 582 status = "disabled"; 583 }; 584 585 pwm0: pwm@fd8b0000 { 586 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 587 reg = <0x0 0xfd8b0000 0x0 0x10>; 588 clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 589 clock-names = "pwm", "pclk"; 590 pinctrl-0 = <&pwm0m0_pins>; 591 pinctrl-names = "default"; 592 #pwm-cells = <3>; 593 status = "disabled"; 594 }; 595 596 pwm1: pwm@fd8b0010 { 597 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 598 reg = <0x0 0xfd8b0010 0x0 0x10>; 599 clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 600 clock-names = "pwm", "pclk"; 601 pinctrl-0 = <&pwm1m0_pins>; 602 pinctrl-names = "default"; 603 #pwm-cells = <3>; 604 status = "disabled"; 605 }; 606 607 pwm2: pwm@fd8b0020 { 608 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 609 reg = <0x0 0xfd8b0020 0x0 0x10>; 610 clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 611 clock-names = "pwm", "pclk"; 612 pinctrl-0 = <&pwm2m0_pins>; 613 pinctrl-names = "default"; 614 #pwm-cells = <3>; 615 status = "disabled"; 616 }; 617 618 pwm3: pwm@fd8b0030 { 619 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 620 reg = <0x0 0xfd8b0030 0x0 0x10>; 621 clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 622 clock-names = "pwm", "pclk"; 623 pinctrl-0 = <&pwm3m0_pins>; 624 pinctrl-names = "default"; 625 #pwm-cells = <3>; 626 status = "disabled"; 627 }; 628 629 pmu: power-management@fd8d8000 { 630 compatible = "rockchip,rk3588-pmu", "syscon", "simple-mfd"; 631 reg = <0x0 0xfd8d8000 0x0 0x400>; 632 633 power: power-controller { 634 compatible = "rockchip,rk3588-power-controller"; 635 #address-cells = <1>; 636 #power-domain-cells = <1>; 637 #size-cells = <0>; 638 status = "okay"; 639 640 /* These power domains are grouped by VD_NPU */ 641 power-domain@RK3588_PD_NPU { 642 reg = <RK3588_PD_NPU>; 643 #power-domain-cells = <0>; 644 #address-cells = <1>; 645 #size-cells = <0>; 646 647 power-domain@RK3588_PD_NPUTOP { 648 reg = <RK3588_PD_NPUTOP>; 649 clocks = <&cru HCLK_NPU_ROOT>, 650 <&cru PCLK_NPU_ROOT>, 651 <&cru CLK_NPU_DSU0>, 652 <&cru HCLK_NPU_CM0_ROOT>; 653 pm_qos = <&qos_npu0_mwr>, 654 <&qos_npu0_mro>, 655 <&qos_mcu_npu>; 656 #power-domain-cells = <0>; 657 #address-cells = <1>; 658 #size-cells = <0>; 659 660 power-domain@RK3588_PD_NPU1 { 661 reg = <RK3588_PD_NPU1>; 662 clocks = <&cru HCLK_NPU_ROOT>, 663 <&cru PCLK_NPU_ROOT>, 664 <&cru CLK_NPU_DSU0>; 665 pm_qos = <&qos_npu1>; 666 #power-domain-cells = <0>; 667 }; 668 power-domain@RK3588_PD_NPU2 { 669 reg = <RK3588_PD_NPU2>; 670 clocks = <&cru HCLK_NPU_ROOT>, 671 <&cru PCLK_NPU_ROOT>, 672 <&cru CLK_NPU_DSU0>; 673 pm_qos = <&qos_npu2>; 674 #power-domain-cells = <0>; 675 }; 676 }; 677 }; 678 /* These power domains are grouped by VD_GPU */ 679 power-domain@RK3588_PD_GPU { 680 reg = <RK3588_PD_GPU>; 681 clocks = <&cru CLK_GPU>, 682 <&cru CLK_GPU_COREGROUP>, 683 <&cru CLK_GPU_STACKS>; 684 pm_qos = <&qos_gpu_m0>, 685 <&qos_gpu_m1>, 686 <&qos_gpu_m2>, 687 <&qos_gpu_m3>; 688 #power-domain-cells = <0>; 689 }; 690 /* These power domains are grouped by VD_VCODEC */ 691 power-domain@RK3588_PD_VCODEC { 692 reg = <RK3588_PD_VCODEC>; 693 #address-cells = <1>; 694 #size-cells = <0>; 695 #power-domain-cells = <0>; 696 697 power-domain@RK3588_PD_RKVDEC0 { 698 reg = <RK3588_PD_RKVDEC0>; 699 clocks = <&cru HCLK_RKVDEC0>, 700 <&cru HCLK_VDPU_ROOT>, 701 <&cru ACLK_VDPU_ROOT>, 702 <&cru ACLK_RKVDEC0>, 703 <&cru ACLK_RKVDEC_CCU>; 704 pm_qos = <&qos_rkvdec0>; 705 #power-domain-cells = <0>; 706 }; 707 power-domain@RK3588_PD_RKVDEC1 { 708 reg = <RK3588_PD_RKVDEC1>; 709 clocks = <&cru HCLK_RKVDEC1>, 710 <&cru HCLK_VDPU_ROOT>, 711 <&cru ACLK_VDPU_ROOT>, 712 <&cru ACLK_RKVDEC1>; 713 pm_qos = <&qos_rkvdec1>; 714 #power-domain-cells = <0>; 715 }; 716 power-domain@RK3588_PD_VENC0 { 717 reg = <RK3588_PD_VENC0>; 718 clocks = <&cru HCLK_RKVENC0>, 719 <&cru ACLK_RKVENC0>; 720 pm_qos = <&qos_rkvenc0_m0ro>, 721 <&qos_rkvenc0_m1ro>, 722 <&qos_rkvenc0_m2wo>; 723 #address-cells = <1>; 724 #size-cells = <0>; 725 #power-domain-cells = <0>; 726 727 power-domain@RK3588_PD_VENC1 { 728 reg = <RK3588_PD_VENC1>; 729 clocks = <&cru HCLK_RKVENC1>, 730 <&cru HCLK_RKVENC0>, 731 <&cru ACLK_RKVENC0>, 732 <&cru ACLK_RKVENC1>; 733 pm_qos = <&qos_rkvenc1_m0ro>, 734 <&qos_rkvenc1_m1ro>, 735 <&qos_rkvenc1_m2wo>; 736 #power-domain-cells = <0>; 737 }; 738 }; 739 }; 740 /* These power domains are grouped by VD_LOGIC */ 741 power-domain@RK3588_PD_VDPU { 742 reg = <RK3588_PD_VDPU>; 743 clocks = <&cru HCLK_VDPU_ROOT>, 744 <&cru ACLK_VDPU_LOW_ROOT>, 745 <&cru ACLK_VDPU_ROOT>, 746 <&cru ACLK_JPEG_DECODER_ROOT>, 747 <&cru ACLK_IEP2P0>, 748 <&cru HCLK_IEP2P0>, 749 <&cru ACLK_JPEG_ENCODER0>, 750 <&cru HCLK_JPEG_ENCODER0>, 751 <&cru ACLK_JPEG_ENCODER1>, 752 <&cru HCLK_JPEG_ENCODER1>, 753 <&cru ACLK_JPEG_ENCODER2>, 754 <&cru HCLK_JPEG_ENCODER2>, 755 <&cru ACLK_JPEG_ENCODER3>, 756 <&cru HCLK_JPEG_ENCODER3>, 757 <&cru ACLK_JPEG_DECODER>, 758 <&cru HCLK_JPEG_DECODER>, 759 <&cru ACLK_RGA2>, 760 <&cru HCLK_RGA2>; 761 pm_qos = <&qos_iep>, 762 <&qos_jpeg_dec>, 763 <&qos_jpeg_enc0>, 764 <&qos_jpeg_enc1>, 765 <&qos_jpeg_enc2>, 766 <&qos_jpeg_enc3>, 767 <&qos_rga2_mro>, 768 <&qos_rga2_mwo>; 769 #address-cells = <1>; 770 #size-cells = <0>; 771 #power-domain-cells = <0>; 772 773 774 power-domain@RK3588_PD_AV1 { 775 reg = <RK3588_PD_AV1>; 776 clocks = <&cru PCLK_AV1>, 777 <&cru ACLK_AV1>, 778 <&cru HCLK_VDPU_ROOT>; 779 pm_qos = <&qos_av1>; 780 #power-domain-cells = <0>; 781 }; 782 power-domain@RK3588_PD_RKVDEC0 { 783 reg = <RK3588_PD_RKVDEC0>; 784 clocks = <&cru HCLK_RKVDEC0>, 785 <&cru HCLK_VDPU_ROOT>, 786 <&cru ACLK_VDPU_ROOT>, 787 <&cru ACLK_RKVDEC0>; 788 pm_qos = <&qos_rkvdec0>; 789 #power-domain-cells = <0>; 790 }; 791 power-domain@RK3588_PD_RKVDEC1 { 792 reg = <RK3588_PD_RKVDEC1>; 793 clocks = <&cru HCLK_RKVDEC1>, 794 <&cru HCLK_VDPU_ROOT>, 795 <&cru ACLK_VDPU_ROOT>; 796 pm_qos = <&qos_rkvdec1>; 797 #power-domain-cells = <0>; 798 }; 799 power-domain@RK3588_PD_RGA30 { 800 reg = <RK3588_PD_RGA30>; 801 clocks = <&cru ACLK_RGA3_0>, 802 <&cru HCLK_RGA3_0>; 803 pm_qos = <&qos_rga3_0>; 804 #power-domain-cells = <0>; 805 }; 806 }; 807 power-domain@RK3588_PD_VOP { 808 reg = <RK3588_PD_VOP>; 809 clocks = <&cru PCLK_VOP_ROOT>, 810 <&cru HCLK_VOP_ROOT>, 811 <&cru ACLK_VOP>; 812 pm_qos = <&qos_vop_m0>, 813 <&qos_vop_m1>; 814 #address-cells = <1>; 815 #size-cells = <0>; 816 #power-domain-cells = <0>; 817 818 power-domain@RK3588_PD_VO0 { 819 reg = <RK3588_PD_VO0>; 820 clocks = <&cru PCLK_VO0_ROOT>, 821 <&cru PCLK_VO0_S_ROOT>, 822 <&cru HCLK_VO0_S_ROOT>, 823 <&cru ACLK_VO0_ROOT>, 824 <&cru HCLK_HDCP0>, 825 <&cru ACLK_HDCP0>, 826 <&cru HCLK_VOP_ROOT>; 827 pm_qos = <&qos_hdcp0>; 828 #power-domain-cells = <0>; 829 }; 830 }; 831 power-domain@RK3588_PD_VO1 { 832 reg = <RK3588_PD_VO1>; 833 clocks = <&cru PCLK_VO1_ROOT>, 834 <&cru PCLK_VO1_S_ROOT>, 835 <&cru HCLK_VO1_S_ROOT>, 836 <&cru HCLK_HDCP1>, 837 <&cru ACLK_HDCP1>, 838 <&cru ACLK_HDMIRX_ROOT>, 839 <&cru HCLK_VO1USB_TOP_ROOT>; 840 pm_qos = <&qos_hdcp1>, 841 <&qos_hdmirx>; 842 #power-domain-cells = <0>; 843 }; 844 power-domain@RK3588_PD_VI { 845 reg = <RK3588_PD_VI>; 846 clocks = <&cru HCLK_VI_ROOT>, 847 <&cru PCLK_VI_ROOT>, 848 <&cru HCLK_ISP0>, 849 <&cru ACLK_ISP0>, 850 <&cru HCLK_VICAP>, 851 <&cru ACLK_VICAP>; 852 pm_qos = <&qos_isp0_mro>, 853 <&qos_isp0_mwo>, 854 <&qos_vicap_m0>, 855 <&qos_vicap_m1>; 856 #address-cells = <1>; 857 #size-cells = <0>; 858 #power-domain-cells = <0>; 859 860 power-domain@RK3588_PD_ISP1 { 861 reg = <RK3588_PD_ISP1>; 862 clocks = <&cru HCLK_ISP1>, 863 <&cru ACLK_ISP1>, 864 <&cru HCLK_VI_ROOT>, 865 <&cru PCLK_VI_ROOT>; 866 pm_qos = <&qos_isp1_mwo>, 867 <&qos_isp1_mro>; 868 #power-domain-cells = <0>; 869 }; 870 power-domain@RK3588_PD_FEC { 871 reg = <RK3588_PD_FEC>; 872 clocks = <&cru HCLK_FISHEYE0>, 873 <&cru ACLK_FISHEYE0>, 874 <&cru HCLK_FISHEYE1>, 875 <&cru ACLK_FISHEYE1>, 876 <&cru PCLK_VI_ROOT>; 877 pm_qos = <&qos_fisheye0>, 878 <&qos_fisheye1>; 879 #power-domain-cells = <0>; 880 }; 881 }; 882 power-domain@RK3588_PD_RGA31 { 883 reg = <RK3588_PD_RGA31>; 884 clocks = <&cru HCLK_RGA3_1>, 885 <&cru ACLK_RGA3_1>; 886 pm_qos = <&qos_rga3_1>; 887 #power-domain-cells = <0>; 888 }; 889 power-domain@RK3588_PD_USB { 890 reg = <RK3588_PD_USB>; 891 clocks = <&cru PCLK_PHP_ROOT>, 892 <&cru ACLK_USB_ROOT>, 893 <&cru ACLK_USB>, 894 <&cru HCLK_USB_ROOT>, 895 <&cru HCLK_HOST0>, 896 <&cru HCLK_HOST_ARB0>, 897 <&cru HCLK_HOST1>, 898 <&cru HCLK_HOST_ARB1>; 899 pm_qos = <&qos_usb3_0>, 900 <&qos_usb3_1>, 901 <&qos_usb2host_0>, 902 <&qos_usb2host_1>; 903 #power-domain-cells = <0>; 904 }; 905 power-domain@RK3588_PD_GMAC { 906 reg = <RK3588_PD_GMAC>; 907 clocks = <&cru PCLK_PHP_ROOT>, 908 <&cru ACLK_PCIE_ROOT>, 909 <&cru ACLK_PHP_ROOT>; 910 #power-domain-cells = <0>; 911 }; 912 power-domain@RK3588_PD_PCIE { 913 reg = <RK3588_PD_PCIE>; 914 clocks = <&cru PCLK_PHP_ROOT>, 915 <&cru ACLK_PCIE_ROOT>, 916 <&cru ACLK_PHP_ROOT>; 917 #power-domain-cells = <0>; 918 }; 919 power-domain@RK3588_PD_SDIO { 920 reg = <RK3588_PD_SDIO>; 921 clocks = <&cru HCLK_SDIO>, 922 <&cru HCLK_NVM_ROOT>; 923 pm_qos = <&qos_sdio>; 924 #power-domain-cells = <0>; 925 }; 926 power-domain@RK3588_PD_AUDIO { 927 reg = <RK3588_PD_AUDIO>; 928 clocks = <&cru HCLK_AUDIO_ROOT>, 929 <&cru PCLK_AUDIO_ROOT>; 930 #power-domain-cells = <0>; 931 }; 932 power-domain@RK3588_PD_SDMMC { 933 reg = <RK3588_PD_SDMMC>; 934 pm_qos = <&qos_sdmmc>; 935 #power-domain-cells = <0>; 936 }; 937 }; 938 }; 939 940 i2s4_8ch: i2s@fddc0000 { 941 compatible = "rockchip,rk3588-i2s-tdm"; 942 reg = <0x0 0xfddc0000 0x0 0x1000>; 943 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH 0>; 944 clocks = <&cru MCLK_I2S4_8CH_TX>, <&cru MCLK_I2S4_8CH_TX>, <&cru HCLK_I2S4_8CH>; 945 clock-names = "mclk_tx", "mclk_rx", "hclk"; 946 assigned-clocks = <&cru CLK_I2S4_8CH_TX_SRC>; 947 assigned-clock-parents = <&cru PLL_AUPLL>; 948 dmas = <&dmac2 0>; 949 dma-names = "tx"; 950 power-domains = <&power RK3588_PD_VO0>; 951 resets = <&cru SRST_M_I2S4_8CH_TX>; 952 reset-names = "tx-m"; 953 #sound-dai-cells = <0>; 954 status = "disabled"; 955 }; 956 957 i2s5_8ch: i2s@fddf0000 { 958 compatible = "rockchip,rk3588-i2s-tdm"; 959 reg = <0x0 0xfddf0000 0x0 0x1000>; 960 interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH 0>; 961 clocks = <&cru MCLK_I2S5_8CH_TX>, <&cru MCLK_I2S5_8CH_TX>, <&cru HCLK_I2S5_8CH>; 962 clock-names = "mclk_tx", "mclk_rx", "hclk"; 963 assigned-clocks = <&cru CLK_I2S5_8CH_TX_SRC>; 964 assigned-clock-parents = <&cru PLL_AUPLL>; 965 dmas = <&dmac2 2>; 966 dma-names = "tx"; 967 power-domains = <&power RK3588_PD_VO1>; 968 resets = <&cru SRST_M_I2S5_8CH_TX>; 969 reset-names = "tx-m"; 970 #sound-dai-cells = <0>; 971 status = "disabled"; 972 }; 973 974 i2s9_8ch: i2s@fddfc000 { 975 compatible = "rockchip,rk3588-i2s-tdm"; 976 reg = <0x0 0xfddfc000 0x0 0x1000>; 977 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH 0>; 978 clocks = <&cru MCLK_I2S9_8CH_RX>, <&cru MCLK_I2S9_8CH_RX>, <&cru HCLK_I2S9_8CH>; 979 clock-names = "mclk_tx", "mclk_rx", "hclk"; 980 assigned-clocks = <&cru CLK_I2S9_8CH_RX_SRC>; 981 assigned-clock-parents = <&cru PLL_AUPLL>; 982 dmas = <&dmac2 23>; 983 dma-names = "rx"; 984 power-domains = <&power RK3588_PD_VO1>; 985 resets = <&cru SRST_M_I2S9_8CH_RX>; 986 reset-names = "rx-m"; 987 #sound-dai-cells = <0>; 988 status = "disabled"; 989 }; 990 991 qos_gpu_m0: qos@fdf35000 { 992 compatible = "rockchip,rk3588-qos", "syscon"; 993 reg = <0x0 0xfdf35000 0x0 0x20>; 994 }; 995 996 qos_gpu_m1: qos@fdf35200 { 997 compatible = "rockchip,rk3588-qos", "syscon"; 998 reg = <0x0 0xfdf35200 0x0 0x20>; 999 }; 1000 1001 qos_gpu_m2: qos@fdf35400 { 1002 compatible = "rockchip,rk3588-qos", "syscon"; 1003 reg = <0x0 0xfdf35400 0x0 0x20>; 1004 }; 1005 1006 qos_gpu_m3: qos@fdf35600 { 1007 compatible = "rockchip,rk3588-qos", "syscon"; 1008 reg = <0x0 0xfdf35600 0x0 0x20>; 1009 }; 1010 1011 qos_rga3_1: qos@fdf36000 { 1012 compatible = "rockchip,rk3588-qos", "syscon"; 1013 reg = <0x0 0xfdf36000 0x0 0x20>; 1014 }; 1015 1016 qos_sdio: qos@fdf39000 { 1017 compatible = "rockchip,rk3588-qos", "syscon"; 1018 reg = <0x0 0xfdf39000 0x0 0x20>; 1019 }; 1020 1021 qos_sdmmc: qos@fdf3d800 { 1022 compatible = "rockchip,rk3588-qos", "syscon"; 1023 reg = <0x0 0xfdf3d800 0x0 0x20>; 1024 }; 1025 1026 qos_usb3_1: qos@fdf3e000 { 1027 compatible = "rockchip,rk3588-qos", "syscon"; 1028 reg = <0x0 0xfdf3e000 0x0 0x20>; 1029 }; 1030 1031 qos_usb3_0: qos@fdf3e200 { 1032 compatible = "rockchip,rk3588-qos", "syscon"; 1033 reg = <0x0 0xfdf3e200 0x0 0x20>; 1034 }; 1035 1036 qos_usb2host_0: qos@fdf3e400 { 1037 compatible = "rockchip,rk3588-qos", "syscon"; 1038 reg = <0x0 0xfdf3e400 0x0 0x20>; 1039 }; 1040 1041 qos_usb2host_1: qos@fdf3e600 { 1042 compatible = "rockchip,rk3588-qos", "syscon"; 1043 reg = <0x0 0xfdf3e600 0x0 0x20>; 1044 }; 1045 1046 qos_fisheye0: qos@fdf40000 { 1047 compatible = "rockchip,rk3588-qos", "syscon"; 1048 reg = <0x0 0xfdf40000 0x0 0x20>; 1049 }; 1050 1051 qos_fisheye1: qos@fdf40200 { 1052 compatible = "rockchip,rk3588-qos", "syscon"; 1053 reg = <0x0 0xfdf40200 0x0 0x20>; 1054 }; 1055 1056 qos_isp0_mro: qos@fdf40400 { 1057 compatible = "rockchip,rk3588-qos", "syscon"; 1058 reg = <0x0 0xfdf40400 0x0 0x20>; 1059 }; 1060 1061 qos_isp0_mwo: qos@fdf40500 { 1062 compatible = "rockchip,rk3588-qos", "syscon"; 1063 reg = <0x0 0xfdf40500 0x0 0x20>; 1064 }; 1065 1066 qos_vicap_m0: qos@fdf40600 { 1067 compatible = "rockchip,rk3588-qos", "syscon"; 1068 reg = <0x0 0xfdf40600 0x0 0x20>; 1069 }; 1070 1071 qos_vicap_m1: qos@fdf40800 { 1072 compatible = "rockchip,rk3588-qos", "syscon"; 1073 reg = <0x0 0xfdf40800 0x0 0x20>; 1074 }; 1075 1076 qos_isp1_mwo: qos@fdf41000 { 1077 compatible = "rockchip,rk3588-qos", "syscon"; 1078 reg = <0x0 0xfdf41000 0x0 0x20>; 1079 }; 1080 1081 qos_isp1_mro: qos@fdf41100 { 1082 compatible = "rockchip,rk3588-qos", "syscon"; 1083 reg = <0x0 0xfdf41100 0x0 0x20>; 1084 }; 1085 1086 qos_rkvenc0_m0ro: qos@fdf60000 { 1087 compatible = "rockchip,rk3588-qos", "syscon"; 1088 reg = <0x0 0xfdf60000 0x0 0x20>; 1089 }; 1090 1091 qos_rkvenc0_m1ro: qos@fdf60200 { 1092 compatible = "rockchip,rk3588-qos", "syscon"; 1093 reg = <0x0 0xfdf60200 0x0 0x20>; 1094 }; 1095 1096 qos_rkvenc0_m2wo: qos@fdf60400 { 1097 compatible = "rockchip,rk3588-qos", "syscon"; 1098 reg = <0x0 0xfdf60400 0x0 0x20>; 1099 }; 1100 1101 qos_rkvenc1_m0ro: qos@fdf61000 { 1102 compatible = "rockchip,rk3588-qos", "syscon"; 1103 reg = <0x0 0xfdf61000 0x0 0x20>; 1104 }; 1105 1106 qos_rkvenc1_m1ro: qos@fdf61200 { 1107 compatible = "rockchip,rk3588-qos", "syscon"; 1108 reg = <0x0 0xfdf61200 0x0 0x20>; 1109 }; 1110 1111 qos_rkvenc1_m2wo: qos@fdf61400 { 1112 compatible = "rockchip,rk3588-qos", "syscon"; 1113 reg = <0x0 0xfdf61400 0x0 0x20>; 1114 }; 1115 1116 qos_rkvdec0: qos@fdf62000 { 1117 compatible = "rockchip,rk3588-qos", "syscon"; 1118 reg = <0x0 0xfdf62000 0x0 0x20>; 1119 }; 1120 1121 qos_rkvdec1: qos@fdf63000 { 1122 compatible = "rockchip,rk3588-qos", "syscon"; 1123 reg = <0x0 0xfdf63000 0x0 0x20>; 1124 }; 1125 1126 qos_av1: qos@fdf64000 { 1127 compatible = "rockchip,rk3588-qos", "syscon"; 1128 reg = <0x0 0xfdf64000 0x0 0x20>; 1129 }; 1130 1131 qos_iep: qos@fdf66000 { 1132 compatible = "rockchip,rk3588-qos", "syscon"; 1133 reg = <0x0 0xfdf66000 0x0 0x20>; 1134 }; 1135 1136 qos_jpeg_dec: qos@fdf66200 { 1137 compatible = "rockchip,rk3588-qos", "syscon"; 1138 reg = <0x0 0xfdf66200 0x0 0x20>; 1139 }; 1140 1141 qos_jpeg_enc0: qos@fdf66400 { 1142 compatible = "rockchip,rk3588-qos", "syscon"; 1143 reg = <0x0 0xfdf66400 0x0 0x20>; 1144 }; 1145 1146 qos_jpeg_enc1: qos@fdf66600 { 1147 compatible = "rockchip,rk3588-qos", "syscon"; 1148 reg = <0x0 0xfdf66600 0x0 0x20>; 1149 }; 1150 1151 qos_jpeg_enc2: qos@fdf66800 { 1152 compatible = "rockchip,rk3588-qos", "syscon"; 1153 reg = <0x0 0xfdf66800 0x0 0x20>; 1154 }; 1155 1156 qos_jpeg_enc3: qos@fdf66a00 { 1157 compatible = "rockchip,rk3588-qos", "syscon"; 1158 reg = <0x0 0xfdf66a00 0x0 0x20>; 1159 }; 1160 1161 qos_rga2_mro: qos@fdf66c00 { 1162 compatible = "rockchip,rk3588-qos", "syscon"; 1163 reg = <0x0 0xfdf66c00 0x0 0x20>; 1164 }; 1165 1166 qos_rga2_mwo: qos@fdf66e00 { 1167 compatible = "rockchip,rk3588-qos", "syscon"; 1168 reg = <0x0 0xfdf66e00 0x0 0x20>; 1169 }; 1170 1171 qos_rga3_0: qos@fdf67000 { 1172 compatible = "rockchip,rk3588-qos", "syscon"; 1173 reg = <0x0 0xfdf67000 0x0 0x20>; 1174 }; 1175 1176 qos_vdpu: qos@fdf67200 { 1177 compatible = "rockchip,rk3588-qos", "syscon"; 1178 reg = <0x0 0xfdf67200 0x0 0x20>; 1179 }; 1180 1181 qos_npu1: qos@fdf70000 { 1182 compatible = "rockchip,rk3588-qos", "syscon"; 1183 reg = <0x0 0xfdf70000 0x0 0x20>; 1184 }; 1185 1186 qos_npu2: qos@fdf71000 { 1187 compatible = "rockchip,rk3588-qos", "syscon"; 1188 reg = <0x0 0xfdf71000 0x0 0x20>; 1189 }; 1190 1191 qos_npu0_mwr: qos@fdf72000 { 1192 compatible = "rockchip,rk3588-qos", "syscon"; 1193 reg = <0x0 0xfdf72000 0x0 0x20>; 1194 }; 1195 1196 qos_npu0_mro: qos@fdf72200 { 1197 compatible = "rockchip,rk3588-qos", "syscon"; 1198 reg = <0x0 0xfdf72200 0x0 0x20>; 1199 }; 1200 1201 qos_mcu_npu: qos@fdf72400 { 1202 compatible = "rockchip,rk3588-qos", "syscon"; 1203 reg = <0x0 0xfdf72400 0x0 0x20>; 1204 }; 1205 1206 qos_hdcp0: qos@fdf80000 { 1207 compatible = "rockchip,rk3588-qos", "syscon"; 1208 reg = <0x0 0xfdf80000 0x0 0x20>; 1209 }; 1210 1211 qos_hdcp1: qos@fdf81000 { 1212 compatible = "rockchip,rk3588-qos", "syscon"; 1213 reg = <0x0 0xfdf81000 0x0 0x20>; 1214 }; 1215 1216 qos_hdmirx: qos@fdf81200 { 1217 compatible = "rockchip,rk3588-qos", "syscon"; 1218 reg = <0x0 0xfdf81200 0x0 0x20>; 1219 }; 1220 1221 qos_vop_m0: qos@fdf82000 { 1222 compatible = "rockchip,rk3588-qos", "syscon"; 1223 reg = <0x0 0xfdf82000 0x0 0x20>; 1224 }; 1225 1226 qos_vop_m1: qos@fdf82200 { 1227 compatible = "rockchip,rk3588-qos", "syscon"; 1228 reg = <0x0 0xfdf82200 0x0 0x20>; 1229 }; 1230 1231 pcie2x1l1: pcie@fe180000 { 1232 compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie"; 1233 bus-range = <0x30 0x3f>; 1234 clocks = <&cru ACLK_PCIE_1L1_MSTR>, <&cru ACLK_PCIE_1L1_SLV>, 1235 <&cru ACLK_PCIE_1L1_DBI>, <&cru PCLK_PCIE_1L1>, 1236 <&cru CLK_PCIE_AUX3>, <&cru CLK_PCIE1L1_PIPE>; 1237 clock-names = "aclk_mst", "aclk_slv", 1238 "aclk_dbi", "pclk", 1239 "aux", "pipe"; 1240 device_type = "pci"; 1241 interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH 0>, 1242 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH 0>, 1243 <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH 0>, 1244 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH 0>, 1245 <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH 0>; 1246 interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 1247 #interrupt-cells = <1>; 1248 interrupt-map-mask = <0 0 0 7>; 1249 interrupt-map = <0 0 0 1 &pcie2x1l1_intc 0>, 1250 <0 0 0 2 &pcie2x1l1_intc 1>, 1251 <0 0 0 3 &pcie2x1l1_intc 2>, 1252 <0 0 0 4 &pcie2x1l1_intc 3>; 1253 linux,pci-domain = <3>; 1254 max-link-speed = <2>; 1255 msi-map = <0x3000 &its0 0x3000 0x1000>; 1256 num-lanes = <1>; 1257 phys = <&combphy2_psu PHY_TYPE_PCIE>; 1258 phy-names = "pcie-phy"; 1259 power-domains = <&power RK3588_PD_PCIE>; 1260 ranges = <0x01000000 0x0 0xf3100000 0x0 0xf3100000 0x0 0x00100000>, 1261 <0x02000000 0x0 0xf3200000 0x0 0xf3200000 0x0 0x00e00000>, 1262 <0x03000000 0x0 0x40000000 0x9 0xc0000000 0x0 0x40000000>; 1263 reg = <0xa 0x40c00000 0x0 0x00400000>, 1264 <0x0 0xfe180000 0x0 0x00010000>, 1265 <0x0 0xf3000000 0x0 0x00100000>; 1266 reg-names = "dbi", "apb", "config"; 1267 resets = <&cru SRST_PCIE3_POWER_UP>, <&cru SRST_P_PCIE3>; 1268 reset-names = "pwr", "pipe"; 1269 #address-cells = <3>; 1270 #size-cells = <2>; 1271 status = "disabled"; 1272 1273 pcie2x1l1_intc: legacy-interrupt-controller { 1274 interrupt-controller; 1275 #address-cells = <0>; 1276 #interrupt-cells = <1>; 1277 interrupt-parent = <&gic>; 1278 interrupts = <GIC_SPI 245 IRQ_TYPE_EDGE_RISING 0>; 1279 }; 1280 }; 1281 1282 pcie2x1l2: pcie@fe190000 { 1283 compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie"; 1284 bus-range = <0x40 0x4f>; 1285 clocks = <&cru ACLK_PCIE_1L2_MSTR>, <&cru ACLK_PCIE_1L2_SLV>, 1286 <&cru ACLK_PCIE_1L2_DBI>, <&cru PCLK_PCIE_1L2>, 1287 <&cru CLK_PCIE_AUX4>, <&cru CLK_PCIE1L2_PIPE>; 1288 clock-names = "aclk_mst", "aclk_slv", 1289 "aclk_dbi", "pclk", 1290 "aux", "pipe"; 1291 device_type = "pci"; 1292 interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH 0>, 1293 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH 0>, 1294 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH 0>, 1295 <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH 0>, 1296 <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH 0>; 1297 interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 1298 #interrupt-cells = <1>; 1299 interrupt-map-mask = <0 0 0 7>; 1300 interrupt-map = <0 0 0 1 &pcie2x1l2_intc 0>, 1301 <0 0 0 2 &pcie2x1l2_intc 1>, 1302 <0 0 0 3 &pcie2x1l2_intc 2>, 1303 <0 0 0 4 &pcie2x1l2_intc 3>; 1304 linux,pci-domain = <4>; 1305 max-link-speed = <2>; 1306 msi-map = <0x4000 &its0 0x4000 0x1000>; 1307 num-lanes = <1>; 1308 phys = <&combphy0_ps PHY_TYPE_PCIE>; 1309 phy-names = "pcie-phy"; 1310 power-domains = <&power RK3588_PD_PCIE>; 1311 ranges = <0x01000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x00100000>, 1312 <0x02000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x00e00000>, 1313 <0x03000000 0x0 0x40000000 0xa 0x00000000 0x0 0x40000000>; 1314 reg = <0xa 0x41000000 0x0 0x00400000>, 1315 <0x0 0xfe190000 0x0 0x00010000>, 1316 <0x0 0xf4000000 0x0 0x00100000>; 1317 reg-names = "dbi", "apb", "config"; 1318 resets = <&cru SRST_PCIE4_POWER_UP>, <&cru SRST_P_PCIE4>; 1319 reset-names = "pwr", "pipe"; 1320 #address-cells = <3>; 1321 #size-cells = <2>; 1322 status = "disabled"; 1323 1324 pcie2x1l2_intc: legacy-interrupt-controller { 1325 interrupt-controller; 1326 #address-cells = <0>; 1327 #interrupt-cells = <1>; 1328 interrupt-parent = <&gic>; 1329 interrupts = <GIC_SPI 250 IRQ_TYPE_EDGE_RISING 0>; 1330 }; 1331 }; 1332 1333 gmac1: ethernet@fe1c0000 { 1334 compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a"; 1335 reg = <0x0 0xfe1c0000 0x0 0x10000>; 1336 interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH 0>, 1337 <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>; 1338 interrupt-names = "macirq", "eth_wake_irq"; 1339 clocks = <&cru CLK_GMAC_125M>, <&cru CLK_GMAC_50M>, 1340 <&cru PCLK_GMAC1>, <&cru ACLK_GMAC1>, 1341 <&cru CLK_GMAC1_PTP_REF>; 1342 clock-names = "stmmaceth", "clk_mac_ref", 1343 "pclk_mac", "aclk_mac", 1344 "ptp_ref"; 1345 power-domains = <&power RK3588_PD_GMAC>; 1346 resets = <&cru SRST_A_GMAC1>; 1347 reset-names = "stmmaceth"; 1348 rockchip,grf = <&sys_grf>; 1349 rockchip,php-grf = <&php_grf>; 1350 snps,axi-config = <&gmac1_stmmac_axi_setup>; 1351 snps,mixed-burst; 1352 snps,mtl-rx-config = <&gmac1_mtl_rx_setup>; 1353 snps,mtl-tx-config = <&gmac1_mtl_tx_setup>; 1354 snps,tso; 1355 status = "disabled"; 1356 1357 mdio1: mdio { 1358 compatible = "snps,dwmac-mdio"; 1359 #address-cells = <0x1>; 1360 #size-cells = <0x0>; 1361 }; 1362 1363 gmac1_stmmac_axi_setup: stmmac-axi-config { 1364 snps,blen = <0 0 0 0 16 8 4>; 1365 snps,wr_osr_lmt = <4>; 1366 snps,rd_osr_lmt = <8>; 1367 }; 1368 1369 gmac1_mtl_rx_setup: rx-queues-config { 1370 snps,rx-queues-to-use = <2>; 1371 queue0 {}; 1372 queue1 {}; 1373 }; 1374 1375 gmac1_mtl_tx_setup: tx-queues-config { 1376 snps,tx-queues-to-use = <2>; 1377 queue0 {}; 1378 queue1 {}; 1379 }; 1380 }; 1381 1382 sata0: sata@fe210000 { 1383 compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci"; 1384 reg = <0 0xfe210000 0 0x1000>; 1385 interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH 0>; 1386 clocks = <&cru ACLK_SATA0>, <&cru CLK_PMALIVE0>, 1387 <&cru CLK_RXOOB0>, <&cru CLK_PIPEPHY0_REF>, 1388 <&cru CLK_PIPEPHY0_PIPE_ASIC_G>; 1389 clock-names = "sata", "pmalive", "rxoob", "ref", "asic"; 1390 ports-implemented = <0x1>; 1391 #address-cells = <1>; 1392 #size-cells = <0>; 1393 status = "disabled"; 1394 1395 sata-port@0 { 1396 reg = <0>; 1397 hba-port-cap = <HBA_PORT_FBSCP>; 1398 phys = <&combphy0_ps PHY_TYPE_SATA>; 1399 phy-names = "sata-phy"; 1400 snps,rx-ts-max = <32>; 1401 snps,tx-ts-max = <32>; 1402 }; 1403 }; 1404 1405 sata2: sata@fe230000 { 1406 compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci"; 1407 reg = <0 0xfe230000 0 0x1000>; 1408 interrupts = <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH 0>; 1409 clocks = <&cru ACLK_SATA2>, <&cru CLK_PMALIVE2>, 1410 <&cru CLK_RXOOB2>, <&cru CLK_PIPEPHY2_REF>, 1411 <&cru CLK_PIPEPHY2_PIPE_ASIC_G>; 1412 clock-names = "sata", "pmalive", "rxoob", "ref", "asic"; 1413 ports-implemented = <0x1>; 1414 #address-cells = <1>; 1415 #size-cells = <0>; 1416 status = "disabled"; 1417 1418 sata-port@0 { 1419 reg = <0>; 1420 hba-port-cap = <HBA_PORT_FBSCP>; 1421 phys = <&combphy2_psu PHY_TYPE_SATA>; 1422 phy-names = "sata-phy"; 1423 snps,rx-ts-max = <32>; 1424 snps,tx-ts-max = <32>; 1425 }; 1426 }; 1427 1428 sdmmc: mmc@fe2c0000 { 1429 compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc"; 1430 reg = <0x0 0xfe2c0000 0x0 0x4000>; 1431 interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 0>; 1432 clocks = <&scmi_clk SCMI_HCLK_SD>, <&scmi_clk SCMI_CCLK_SD>, 1433 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 1434 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1435 fifo-depth = <0x100>; 1436 max-frequency = <200000000>; 1437 pinctrl-names = "default"; 1438 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>; 1439 power-domains = <&power RK3588_PD_SDMMC>; 1440 status = "disabled"; 1441 }; 1442 1443 sdio: mmc@fe2d0000 { 1444 compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc"; 1445 reg = <0x00 0xfe2d0000 0x00 0x4000>; 1446 interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH 0>; 1447 clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>, 1448 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 1449 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1450 fifo-depth = <0x100>; 1451 max-frequency = <200000000>; 1452 pinctrl-names = "default"; 1453 pinctrl-0 = <&sdiom1_pins>; 1454 power-domains = <&power RK3588_PD_SDIO>; 1455 status = "disabled"; 1456 }; 1457 1458 sdhci: mmc@fe2e0000 { 1459 compatible = "rockchip,rk3588-dwcmshc"; 1460 reg = <0x0 0xfe2e0000 0x0 0x10000>; 1461 interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH 0>; 1462 assigned-clocks = <&cru BCLK_EMMC>, <&cru TMCLK_EMMC>, <&cru CCLK_EMMC>; 1463 assigned-clock-rates = <200000000>, <24000000>, <200000000>; 1464 clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>, 1465 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>, 1466 <&cru TMCLK_EMMC>; 1467 clock-names = "core", "bus", "axi", "block", "timer"; 1468 max-frequency = <200000000>; 1469 pinctrl-0 = <&emmc_rstnout>, <&emmc_bus8>, <&emmc_clk>, 1470 <&emmc_cmd>, <&emmc_data_strobe>; 1471 pinctrl-names = "default"; 1472 resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>, 1473 <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>, 1474 <&cru SRST_T_EMMC>; 1475 reset-names = "core", "bus", "axi", "block", "timer"; 1476 status = "disabled"; 1477 }; 1478 1479 i2s0_8ch: i2s@fe470000 { 1480 compatible = "rockchip,rk3588-i2s-tdm"; 1481 reg = <0x0 0xfe470000 0x0 0x1000>; 1482 interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH 0>; 1483 clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>; 1484 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1485 assigned-clocks = <&cru CLK_I2S0_8CH_TX_SRC>, <&cru CLK_I2S0_8CH_RX_SRC>; 1486 assigned-clock-parents = <&cru PLL_AUPLL>, <&cru PLL_AUPLL>; 1487 dmas = <&dmac0 0>, <&dmac0 1>; 1488 dma-names = "tx", "rx"; 1489 power-domains = <&power RK3588_PD_AUDIO>; 1490 resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>; 1491 reset-names = "tx-m", "rx-m"; 1492 rockchip,trcm-sync-tx-only; 1493 pinctrl-names = "default"; 1494 pinctrl-0 = <&i2s0_lrck 1495 &i2s0_sclk 1496 &i2s0_sdi0 1497 &i2s0_sdi1 1498 &i2s0_sdi2 1499 &i2s0_sdi3 1500 &i2s0_sdo0 1501 &i2s0_sdo1 1502 &i2s0_sdo2 1503 &i2s0_sdo3>; 1504 #sound-dai-cells = <0>; 1505 status = "disabled"; 1506 }; 1507 1508 i2s1_8ch: i2s@fe480000 { 1509 compatible = "rockchip,rk3588-i2s-tdm"; 1510 reg = <0x0 0xfe480000 0x0 0x1000>; 1511 interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH 0>; 1512 clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>, <&cru HCLK_I2S1_8CH>; 1513 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1514 dmas = <&dmac0 2>, <&dmac0 3>; 1515 dma-names = "tx", "rx"; 1516 resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>; 1517 reset-names = "tx-m", "rx-m"; 1518 rockchip,trcm-sync-tx-only; 1519 pinctrl-names = "default"; 1520 pinctrl-0 = <&i2s1m0_lrck 1521 &i2s1m0_sclk 1522 &i2s1m0_sdi0 1523 &i2s1m0_sdi1 1524 &i2s1m0_sdi2 1525 &i2s1m0_sdi3 1526 &i2s1m0_sdo0 1527 &i2s1m0_sdo1 1528 &i2s1m0_sdo2 1529 &i2s1m0_sdo3>; 1530 #sound-dai-cells = <0>; 1531 status = "disabled"; 1532 }; 1533 1534 i2s2_2ch: i2s@fe490000 { 1535 compatible = "rockchip,rk3588-i2s", "rockchip,rk3066-i2s"; 1536 reg = <0x0 0xfe490000 0x0 0x1000>; 1537 interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH 0>; 1538 clocks = <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>; 1539 clock-names = "i2s_clk", "i2s_hclk"; 1540 assigned-clocks = <&cru CLK_I2S2_2CH_SRC>; 1541 assigned-clock-parents = <&cru PLL_AUPLL>; 1542 dmas = <&dmac1 0>, <&dmac1 1>; 1543 dma-names = "tx", "rx"; 1544 power-domains = <&power RK3588_PD_AUDIO>; 1545 rockchip,trcm-sync-tx-only; 1546 pinctrl-names = "default"; 1547 pinctrl-0 = <&i2s2m1_lrck 1548 &i2s2m1_sclk 1549 &i2s2m1_sdi 1550 &i2s2m1_sdo>; 1551 #sound-dai-cells = <0>; 1552 status = "disabled"; 1553 }; 1554 1555 i2s3_2ch: i2s@fe4a0000 { 1556 compatible = "rockchip,rk3588-i2s", "rockchip,rk3066-i2s"; 1557 reg = <0x0 0xfe4a0000 0x0 0x1000>; 1558 interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH 0>; 1559 clocks = <&cru MCLK_I2S3_2CH>, <&cru HCLK_I2S3_2CH>; 1560 clock-names = "i2s_clk", "i2s_hclk"; 1561 assigned-clocks = <&cru CLK_I2S3_2CH_SRC>; 1562 assigned-clock-parents = <&cru PLL_AUPLL>; 1563 dmas = <&dmac1 2>, <&dmac1 3>; 1564 dma-names = "tx", "rx"; 1565 power-domains = <&power RK3588_PD_AUDIO>; 1566 rockchip,trcm-sync-tx-only; 1567 pinctrl-names = "default"; 1568 pinctrl-0 = <&i2s3_lrck 1569 &i2s3_sclk 1570 &i2s3_sdi 1571 &i2s3_sdo>; 1572 #sound-dai-cells = <0>; 1573 status = "disabled"; 1574 }; 1575 1576 gic: interrupt-controller@fe600000 { 1577 compatible = "arm,gic-v3"; 1578 reg = <0x0 0xfe600000 0 0x10000>, /* GICD */ 1579 <0x0 0xfe680000 0 0x100000>; /* GICR */ 1580 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 1581 interrupt-controller; 1582 mbi-alias = <0x0 0xfe610000>; 1583 mbi-ranges = <424 56>; 1584 msi-controller; 1585 ranges; 1586 #address-cells = <2>; 1587 #interrupt-cells = <4>; 1588 #size-cells = <2>; 1589 1590 its0: msi-controller@fe640000 { 1591 compatible = "arm,gic-v3-its"; 1592 reg = <0x0 0xfe640000 0x0 0x20000>; 1593 msi-controller; 1594 #msi-cells = <1>; 1595 }; 1596 1597 its1: msi-controller@fe660000 { 1598 compatible = "arm,gic-v3-its"; 1599 reg = <0x0 0xfe660000 0x0 0x20000>; 1600 msi-controller; 1601 #msi-cells = <1>; 1602 }; 1603 1604 ppi-partitions { 1605 ppi_partition0: interrupt-partition-0 { 1606 affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>; 1607 }; 1608 1609 ppi_partition1: interrupt-partition-1 { 1610 affinity = <&cpu_b0 &cpu_b1 &cpu_b2 &cpu_b3>; 1611 }; 1612 }; 1613 }; 1614 1615 dmac0: dma-controller@fea10000 { 1616 compatible = "arm,pl330", "arm,primecell"; 1617 reg = <0x0 0xfea10000 0x0 0x4000>; 1618 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH 0>, 1619 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH 0>; 1620 arm,pl330-periph-burst; 1621 clocks = <&cru ACLK_DMAC0>; 1622 clock-names = "apb_pclk"; 1623 #dma-cells = <1>; 1624 }; 1625 1626 dmac1: dma-controller@fea30000 { 1627 compatible = "arm,pl330", "arm,primecell"; 1628 reg = <0x0 0xfea30000 0x0 0x4000>; 1629 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH 0>, 1630 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH 0>; 1631 arm,pl330-periph-burst; 1632 clocks = <&cru ACLK_DMAC1>; 1633 clock-names = "apb_pclk"; 1634 #dma-cells = <1>; 1635 }; 1636 1637 i2c1: i2c@fea90000 { 1638 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1639 reg = <0x0 0xfea90000 0x0 0x1000>; 1640 clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 1641 clock-names = "i2c", "pclk"; 1642 interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH 0>; 1643 pinctrl-0 = <&i2c1m0_xfer>; 1644 pinctrl-names = "default"; 1645 #address-cells = <1>; 1646 #size-cells = <0>; 1647 status = "disabled"; 1648 }; 1649 1650 i2c2: i2c@feaa0000 { 1651 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1652 reg = <0x0 0xfeaa0000 0x0 0x1000>; 1653 clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 1654 clock-names = "i2c", "pclk"; 1655 interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH 0>; 1656 pinctrl-0 = <&i2c2m0_xfer>; 1657 pinctrl-names = "default"; 1658 #address-cells = <1>; 1659 #size-cells = <0>; 1660 status = "disabled"; 1661 }; 1662 1663 i2c3: i2c@feab0000 { 1664 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1665 reg = <0x0 0xfeab0000 0x0 0x1000>; 1666 clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 1667 clock-names = "i2c", "pclk"; 1668 interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 0>; 1669 pinctrl-0 = <&i2c3m0_xfer>; 1670 pinctrl-names = "default"; 1671 #address-cells = <1>; 1672 #size-cells = <0>; 1673 status = "disabled"; 1674 }; 1675 1676 i2c4: i2c@feac0000 { 1677 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1678 reg = <0x0 0xfeac0000 0x0 0x1000>; 1679 clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 1680 clock-names = "i2c", "pclk"; 1681 interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 0>; 1682 pinctrl-0 = <&i2c4m0_xfer>; 1683 pinctrl-names = "default"; 1684 #address-cells = <1>; 1685 #size-cells = <0>; 1686 status = "disabled"; 1687 }; 1688 1689 i2c5: i2c@fead0000 { 1690 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1691 reg = <0x0 0xfead0000 0x0 0x1000>; 1692 clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 1693 clock-names = "i2c", "pclk"; 1694 interrupts = <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 0>; 1695 pinctrl-0 = <&i2c5m0_xfer>; 1696 pinctrl-names = "default"; 1697 #address-cells = <1>; 1698 #size-cells = <0>; 1699 status = "disabled"; 1700 }; 1701 1702 timer0: timer@feae0000 { 1703 compatible = "rockchip,rk3588-timer", "rockchip,rk3288-timer"; 1704 reg = <0x0 0xfeae0000 0x0 0x20>; 1705 interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH 0>; 1706 clocks = <&cru PCLK_BUSTIMER0>, <&cru CLK_BUSTIMER0>; 1707 clock-names = "pclk", "timer"; 1708 }; 1709 1710 wdt: watchdog@feaf0000 { 1711 compatible = "rockchip,rk3588-wdt", "snps,dw-wdt"; 1712 reg = <0x0 0xfeaf0000 0x0 0x100>; 1713 clocks = <&cru TCLK_WDT0>, <&cru PCLK_WDT0>; 1714 clock-names = "tclk", "pclk"; 1715 interrupts = <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH 0>; 1716 }; 1717 1718 spi0: spi@feb00000 { 1719 compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi"; 1720 reg = <0x0 0xfeb00000 0x0 0x1000>; 1721 interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH 0>; 1722 clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 1723 clock-names = "spiclk", "apb_pclk"; 1724 dmas = <&dmac0 14>, <&dmac0 15>; 1725 dma-names = "tx", "rx"; 1726 num-cs = <2>; 1727 pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>; 1728 pinctrl-names = "default"; 1729 #address-cells = <1>; 1730 #size-cells = <0>; 1731 status = "disabled"; 1732 }; 1733 1734 spi1: spi@feb10000 { 1735 compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi"; 1736 reg = <0x0 0xfeb10000 0x0 0x1000>; 1737 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH 0>; 1738 clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 1739 clock-names = "spiclk", "apb_pclk"; 1740 dmas = <&dmac0 16>, <&dmac0 17>; 1741 dma-names = "tx", "rx"; 1742 num-cs = <2>; 1743 pinctrl-0 = <&spi1m1_cs0 &spi1m1_cs1 &spi1m1_pins>; 1744 pinctrl-names = "default"; 1745 #address-cells = <1>; 1746 #size-cells = <0>; 1747 status = "disabled"; 1748 }; 1749 1750 spi2: spi@feb20000 { 1751 compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi"; 1752 reg = <0x0 0xfeb20000 0x0 0x1000>; 1753 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH 0>; 1754 clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>; 1755 clock-names = "spiclk", "apb_pclk"; 1756 dmas = <&dmac1 15>, <&dmac1 16>; 1757 dma-names = "tx", "rx"; 1758 num-cs = <2>; 1759 pinctrl-0 = <&spi2m2_cs0 &spi2m2_cs1 &spi2m2_pins>; 1760 pinctrl-names = "default"; 1761 #address-cells = <1>; 1762 #size-cells = <0>; 1763 status = "disabled"; 1764 }; 1765 1766 spi3: spi@feb30000 { 1767 compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi"; 1768 reg = <0x0 0xfeb30000 0x0 0x1000>; 1769 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH 0>; 1770 clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>; 1771 clock-names = "spiclk", "apb_pclk"; 1772 dmas = <&dmac1 17>, <&dmac1 18>; 1773 dma-names = "tx", "rx"; 1774 num-cs = <2>; 1775 pinctrl-0 = <&spi3m1_cs0 &spi3m1_cs1 &spi3m1_pins>; 1776 pinctrl-names = "default"; 1777 #address-cells = <1>; 1778 #size-cells = <0>; 1779 status = "disabled"; 1780 }; 1781 1782 uart1: serial@feb40000 { 1783 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1784 reg = <0x0 0xfeb40000 0x0 0x100>; 1785 interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH 0>; 1786 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 1787 clock-names = "baudclk", "apb_pclk"; 1788 dmas = <&dmac0 8>, <&dmac0 9>; 1789 dma-names = "tx", "rx"; 1790 pinctrl-0 = <&uart1m1_xfer>; 1791 pinctrl-names = "default"; 1792 reg-io-width = <4>; 1793 reg-shift = <2>; 1794 status = "disabled"; 1795 }; 1796 1797 uart2: serial@feb50000 { 1798 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1799 reg = <0x0 0xfeb50000 0x0 0x100>; 1800 interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 0>; 1801 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 1802 clock-names = "baudclk", "apb_pclk"; 1803 dmas = <&dmac0 10>, <&dmac0 11>; 1804 dma-names = "tx", "rx"; 1805 pinctrl-0 = <&uart2m1_xfer>; 1806 pinctrl-names = "default"; 1807 reg-io-width = <4>; 1808 reg-shift = <2>; 1809 status = "disabled"; 1810 }; 1811 1812 uart3: serial@feb60000 { 1813 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1814 reg = <0x0 0xfeb60000 0x0 0x100>; 1815 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH 0>; 1816 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 1817 clock-names = "baudclk", "apb_pclk"; 1818 dmas = <&dmac0 12>, <&dmac0 13>; 1819 dma-names = "tx", "rx"; 1820 pinctrl-0 = <&uart3m1_xfer>; 1821 pinctrl-names = "default"; 1822 reg-io-width = <4>; 1823 reg-shift = <2>; 1824 status = "disabled"; 1825 }; 1826 1827 uart4: serial@feb70000 { 1828 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1829 reg = <0x0 0xfeb70000 0x0 0x100>; 1830 interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH 0>; 1831 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 1832 clock-names = "baudclk", "apb_pclk"; 1833 dmas = <&dmac1 9>, <&dmac1 10>; 1834 dma-names = "tx", "rx"; 1835 pinctrl-0 = <&uart4m1_xfer>; 1836 pinctrl-names = "default"; 1837 reg-io-width = <4>; 1838 reg-shift = <2>; 1839 status = "disabled"; 1840 }; 1841 1842 uart5: serial@feb80000 { 1843 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1844 reg = <0x0 0xfeb80000 0x0 0x100>; 1845 interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH 0>; 1846 clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 1847 clock-names = "baudclk", "apb_pclk"; 1848 dmas = <&dmac1 11>, <&dmac1 12>; 1849 dma-names = "tx", "rx"; 1850 pinctrl-0 = <&uart5m1_xfer>; 1851 pinctrl-names = "default"; 1852 reg-io-width = <4>; 1853 reg-shift = <2>; 1854 status = "disabled"; 1855 }; 1856 1857 uart6: serial@feb90000 { 1858 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1859 reg = <0x0 0xfeb90000 0x0 0x100>; 1860 interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH 0>; 1861 clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 1862 clock-names = "baudclk", "apb_pclk"; 1863 dmas = <&dmac1 13>, <&dmac1 14>; 1864 dma-names = "tx", "rx"; 1865 pinctrl-0 = <&uart6m1_xfer>; 1866 pinctrl-names = "default"; 1867 reg-io-width = <4>; 1868 reg-shift = <2>; 1869 status = "disabled"; 1870 }; 1871 1872 uart7: serial@feba0000 { 1873 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1874 reg = <0x0 0xfeba0000 0x0 0x100>; 1875 interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH 0>; 1876 clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 1877 clock-names = "baudclk", "apb_pclk"; 1878 dmas = <&dmac2 7>, <&dmac2 8>; 1879 dma-names = "tx", "rx"; 1880 pinctrl-0 = <&uart7m1_xfer>; 1881 pinctrl-names = "default"; 1882 reg-io-width = <4>; 1883 reg-shift = <2>; 1884 status = "disabled"; 1885 }; 1886 1887 uart8: serial@febb0000 { 1888 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1889 reg = <0x0 0xfebb0000 0x0 0x100>; 1890 interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH 0>; 1891 clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>; 1892 clock-names = "baudclk", "apb_pclk"; 1893 dmas = <&dmac2 9>, <&dmac2 10>; 1894 dma-names = "tx", "rx"; 1895 pinctrl-0 = <&uart8m1_xfer>; 1896 pinctrl-names = "default"; 1897 reg-io-width = <4>; 1898 reg-shift = <2>; 1899 status = "disabled"; 1900 }; 1901 1902 uart9: serial@febc0000 { 1903 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1904 reg = <0x0 0xfebc0000 0x0 0x100>; 1905 interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH 0>; 1906 clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>; 1907 clock-names = "baudclk", "apb_pclk"; 1908 dmas = <&dmac2 11>, <&dmac2 12>; 1909 dma-names = "tx", "rx"; 1910 pinctrl-0 = <&uart9m1_xfer>; 1911 pinctrl-names = "default"; 1912 reg-io-width = <4>; 1913 reg-shift = <2>; 1914 status = "disabled"; 1915 }; 1916 1917 pwm4: pwm@febd0000 { 1918 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1919 reg = <0x0 0xfebd0000 0x0 0x10>; 1920 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1921 clock-names = "pwm", "pclk"; 1922 pinctrl-0 = <&pwm4m0_pins>; 1923 pinctrl-names = "default"; 1924 #pwm-cells = <3>; 1925 status = "disabled"; 1926 }; 1927 1928 pwm5: pwm@febd0010 { 1929 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1930 reg = <0x0 0xfebd0010 0x0 0x10>; 1931 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1932 clock-names = "pwm", "pclk"; 1933 pinctrl-0 = <&pwm5m0_pins>; 1934 pinctrl-names = "default"; 1935 #pwm-cells = <3>; 1936 status = "disabled"; 1937 }; 1938 1939 pwm6: pwm@febd0020 { 1940 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1941 reg = <0x0 0xfebd0020 0x0 0x10>; 1942 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1943 clock-names = "pwm", "pclk"; 1944 pinctrl-0 = <&pwm6m0_pins>; 1945 pinctrl-names = "default"; 1946 #pwm-cells = <3>; 1947 status = "disabled"; 1948 }; 1949 1950 pwm7: pwm@febd0030 { 1951 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1952 reg = <0x0 0xfebd0030 0x0 0x10>; 1953 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1954 clock-names = "pwm", "pclk"; 1955 pinctrl-0 = <&pwm7m0_pins>; 1956 pinctrl-names = "default"; 1957 #pwm-cells = <3>; 1958 status = "disabled"; 1959 }; 1960 1961 pwm8: pwm@febe0000 { 1962 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1963 reg = <0x0 0xfebe0000 0x0 0x10>; 1964 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1965 clock-names = "pwm", "pclk"; 1966 pinctrl-0 = <&pwm8m0_pins>; 1967 pinctrl-names = "default"; 1968 #pwm-cells = <3>; 1969 status = "disabled"; 1970 }; 1971 1972 pwm9: pwm@febe0010 { 1973 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1974 reg = <0x0 0xfebe0010 0x0 0x10>; 1975 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1976 clock-names = "pwm", "pclk"; 1977 pinctrl-0 = <&pwm9m0_pins>; 1978 pinctrl-names = "default"; 1979 #pwm-cells = <3>; 1980 status = "disabled"; 1981 }; 1982 1983 pwm10: pwm@febe0020 { 1984 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1985 reg = <0x0 0xfebe0020 0x0 0x10>; 1986 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1987 clock-names = "pwm", "pclk"; 1988 pinctrl-0 = <&pwm10m0_pins>; 1989 pinctrl-names = "default"; 1990 #pwm-cells = <3>; 1991 status = "disabled"; 1992 }; 1993 1994 pwm11: pwm@febe0030 { 1995 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1996 reg = <0x0 0xfebe0030 0x0 0x10>; 1997 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1998 clock-names = "pwm", "pclk"; 1999 pinctrl-0 = <&pwm11m0_pins>; 2000 pinctrl-names = "default"; 2001 #pwm-cells = <3>; 2002 status = "disabled"; 2003 }; 2004 2005 pwm12: pwm@febf0000 { 2006 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2007 reg = <0x0 0xfebf0000 0x0 0x10>; 2008 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2009 clock-names = "pwm", "pclk"; 2010 pinctrl-0 = <&pwm12m0_pins>; 2011 pinctrl-names = "default"; 2012 #pwm-cells = <3>; 2013 status = "disabled"; 2014 }; 2015 2016 pwm13: pwm@febf0010 { 2017 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2018 reg = <0x0 0xfebf0010 0x0 0x10>; 2019 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2020 clock-names = "pwm", "pclk"; 2021 pinctrl-0 = <&pwm13m0_pins>; 2022 pinctrl-names = "default"; 2023 #pwm-cells = <3>; 2024 status = "disabled"; 2025 }; 2026 2027 pwm14: pwm@febf0020 { 2028 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2029 reg = <0x0 0xfebf0020 0x0 0x10>; 2030 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2031 clock-names = "pwm", "pclk"; 2032 pinctrl-0 = <&pwm14m0_pins>; 2033 pinctrl-names = "default"; 2034 #pwm-cells = <3>; 2035 status = "disabled"; 2036 }; 2037 2038 pwm15: pwm@febf0030 { 2039 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2040 reg = <0x0 0xfebf0030 0x0 0x10>; 2041 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2042 clock-names = "pwm", "pclk"; 2043 pinctrl-0 = <&pwm15m0_pins>; 2044 pinctrl-names = "default"; 2045 #pwm-cells = <3>; 2046 status = "disabled"; 2047 }; 2048 2049 tsadc: tsadc@fec00000 { 2050 compatible = "rockchip,rk3588-tsadc"; 2051 reg = <0x0 0xfec00000 0x0 0x400>; 2052 interrupts = <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH 0>; 2053 clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>; 2054 clock-names = "tsadc", "apb_pclk"; 2055 assigned-clocks = <&cru CLK_TSADC>; 2056 assigned-clock-rates = <2000000>; 2057 resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>; 2058 reset-names = "tsadc-apb", "tsadc"; 2059 rockchip,hw-tshut-temp = <120000>; 2060 rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 2061 rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 2062 pinctrl-0 = <&tsadc_gpio_func>; 2063 pinctrl-1 = <&tsadc_shut>; 2064 pinctrl-names = "gpio", "otpout"; 2065 #thermal-sensor-cells = <1>; 2066 status = "disabled"; 2067 }; 2068 2069 saradc: adc@fec10000 { 2070 compatible = "rockchip,rk3588-saradc"; 2071 reg = <0x0 0xfec10000 0x0 0x10000>; 2072 interrupts = <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH 0>; 2073 #io-channel-cells = <1>; 2074 clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 2075 clock-names = "saradc", "apb_pclk"; 2076 resets = <&cru SRST_P_SARADC>; 2077 reset-names = "saradc-apb"; 2078 status = "disabled"; 2079 }; 2080 2081 i2c6: i2c@fec80000 { 2082 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 2083 reg = <0x0 0xfec80000 0x0 0x1000>; 2084 clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>; 2085 clock-names = "i2c", "pclk"; 2086 interrupts = <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 0>; 2087 pinctrl-0 = <&i2c6m0_xfer>; 2088 pinctrl-names = "default"; 2089 #address-cells = <1>; 2090 #size-cells = <0>; 2091 status = "disabled"; 2092 }; 2093 2094 i2c7: i2c@fec90000 { 2095 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 2096 reg = <0x0 0xfec90000 0x0 0x1000>; 2097 clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>; 2098 clock-names = "i2c", "pclk"; 2099 interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 0>; 2100 pinctrl-0 = <&i2c7m0_xfer>; 2101 pinctrl-names = "default"; 2102 #address-cells = <1>; 2103 #size-cells = <0>; 2104 status = "disabled"; 2105 }; 2106 2107 i2c8: i2c@feca0000 { 2108 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 2109 reg = <0x0 0xfeca0000 0x0 0x1000>; 2110 clocks = <&cru CLK_I2C8>, <&cru PCLK_I2C8>; 2111 clock-names = "i2c", "pclk"; 2112 interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH 0>; 2113 pinctrl-0 = <&i2c8m0_xfer>; 2114 pinctrl-names = "default"; 2115 #address-cells = <1>; 2116 #size-cells = <0>; 2117 status = "disabled"; 2118 }; 2119 2120 spi4: spi@fecb0000 { 2121 compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi"; 2122 reg = <0x0 0xfecb0000 0x0 0x1000>; 2123 interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH 0>; 2124 clocks = <&cru CLK_SPI4>, <&cru PCLK_SPI4>; 2125 clock-names = "spiclk", "apb_pclk"; 2126 dmas = <&dmac2 13>, <&dmac2 14>; 2127 dma-names = "tx", "rx"; 2128 num-cs = <2>; 2129 pinctrl-0 = <&spi4m0_cs0 &spi4m0_cs1 &spi4m0_pins>; 2130 pinctrl-names = "default"; 2131 #address-cells = <1>; 2132 #size-cells = <0>; 2133 status = "disabled"; 2134 }; 2135 2136 otp: efuse@fecc0000 { 2137 compatible = "rockchip,rk3588-otp"; 2138 reg = <0x0 0xfecc0000 0x0 0x400>; 2139 clocks = <&cru CLK_OTPC_NS>, <&cru PCLK_OTPC_NS>, 2140 <&cru CLK_OTP_PHY_G>, <&cru CLK_OTPC_ARB>; 2141 clock-names = "otp", "apb_pclk", "phy", "arb"; 2142 resets = <&cru SRST_OTPC_NS>, <&cru SRST_P_OTPC_NS>, 2143 <&cru SRST_OTPC_ARB>; 2144 reset-names = "otp", "apb", "arb"; 2145 #address-cells = <1>; 2146 #size-cells = <1>; 2147 2148 cpu_code: cpu-code@2 { 2149 reg = <0x02 0x2>; 2150 }; 2151 2152 otp_id: id@7 { 2153 reg = <0x07 0x10>; 2154 }; 2155 2156 cpub0_leakage: cpu-leakage@17 { 2157 reg = <0x17 0x1>; 2158 }; 2159 2160 cpub1_leakage: cpu-leakage@18 { 2161 reg = <0x18 0x1>; 2162 }; 2163 2164 cpul_leakage: cpu-leakage@19 { 2165 reg = <0x19 0x1>; 2166 }; 2167 2168 log_leakage: log-leakage@1a { 2169 reg = <0x1a 0x1>; 2170 }; 2171 2172 gpu_leakage: gpu-leakage@1b { 2173 reg = <0x1b 0x1>; 2174 }; 2175 2176 otp_cpu_version: cpu-version@1c { 2177 reg = <0x1c 0x1>; 2178 bits = <3 3>; 2179 }; 2180 2181 npu_leakage: npu-leakage@28 { 2182 reg = <0x28 0x1>; 2183 }; 2184 2185 codec_leakage: codec-leakage@29 { 2186 reg = <0x29 0x1>; 2187 }; 2188 }; 2189 2190 dmac2: dma-controller@fed10000 { 2191 compatible = "arm,pl330", "arm,primecell"; 2192 reg = <0x0 0xfed10000 0x0 0x4000>; 2193 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH 0>, 2194 <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH 0>; 2195 arm,pl330-periph-burst; 2196 clocks = <&cru ACLK_DMAC2>; 2197 clock-names = "apb_pclk"; 2198 #dma-cells = <1>; 2199 }; 2200 2201 combphy0_ps: phy@fee00000 { 2202 compatible = "rockchip,rk3588-naneng-combphy"; 2203 reg = <0x0 0xfee00000 0x0 0x100>; 2204 clocks = <&cru CLK_REF_PIPE_PHY0>, <&cru PCLK_PCIE_COMBO_PIPE_PHY0>, 2205 <&cru PCLK_PHP_ROOT>; 2206 clock-names = "ref", "apb", "pipe"; 2207 assigned-clocks = <&cru CLK_REF_PIPE_PHY0>; 2208 assigned-clock-rates = <100000000>; 2209 #phy-cells = <1>; 2210 resets = <&cru SRST_REF_PIPE_PHY0>, <&cru SRST_P_PCIE2_PHY0>; 2211 reset-names = "phy", "apb"; 2212 rockchip,pipe-grf = <&php_grf>; 2213 rockchip,pipe-phy-grf = <&pipe_phy0_grf>; 2214 status = "disabled"; 2215 }; 2216 2217 combphy2_psu: phy@fee20000 { 2218 compatible = "rockchip,rk3588-naneng-combphy"; 2219 reg = <0x0 0xfee20000 0x0 0x100>; 2220 clocks = <&cru CLK_REF_PIPE_PHY2>, <&cru PCLK_PCIE_COMBO_PIPE_PHY2>, 2221 <&cru PCLK_PHP_ROOT>; 2222 clock-names = "ref", "apb", "pipe"; 2223 assigned-clocks = <&cru CLK_REF_PIPE_PHY2>; 2224 assigned-clock-rates = <100000000>; 2225 #phy-cells = <1>; 2226 resets = <&cru SRST_REF_PIPE_PHY2>, <&cru SRST_P_PCIE2_PHY2>; 2227 reset-names = "phy", "apb"; 2228 rockchip,pipe-grf = <&php_grf>; 2229 rockchip,pipe-phy-grf = <&pipe_phy2_grf>; 2230 status = "disabled"; 2231 }; 2232 2233 system_sram2: sram@ff001000 { 2234 compatible = "mmio-sram"; 2235 reg = <0x0 0xff001000 0x0 0xef000>; 2236 ranges = <0x0 0x0 0xff001000 0xef000>; 2237 #address-cells = <1>; 2238 #size-cells = <1>; 2239 }; 2240 2241 pinctrl: pinctrl { 2242 compatible = "rockchip,rk3588-pinctrl"; 2243 ranges; 2244 rockchip,grf = <&ioc>; 2245 #address-cells = <2>; 2246 #size-cells = <2>; 2247 2248 gpio0: gpio@fd8a0000 { 2249 compatible = "rockchip,gpio-bank"; 2250 reg = <0x0 0xfd8a0000 0x0 0x100>; 2251 interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>; 2252 clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>; 2253 gpio-controller; 2254 gpio-ranges = <&pinctrl 0 0 32>; 2255 interrupt-controller; 2256 #gpio-cells = <2>; 2257 #interrupt-cells = <2>; 2258 }; 2259 2260 gpio1: gpio@fec20000 { 2261 compatible = "rockchip,gpio-bank"; 2262 reg = <0x0 0xfec20000 0x0 0x100>; 2263 interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH 0>; 2264 clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 2265 gpio-controller; 2266 gpio-ranges = <&pinctrl 0 32 32>; 2267 interrupt-controller; 2268 #gpio-cells = <2>; 2269 #interrupt-cells = <2>; 2270 }; 2271 2272 gpio2: gpio@fec30000 { 2273 compatible = "rockchip,gpio-bank"; 2274 reg = <0x0 0xfec30000 0x0 0x100>; 2275 interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH 0>; 2276 clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 2277 gpio-controller; 2278 gpio-ranges = <&pinctrl 0 64 32>; 2279 interrupt-controller; 2280 #gpio-cells = <2>; 2281 #interrupt-cells = <2>; 2282 }; 2283 2284 gpio3: gpio@fec40000 { 2285 compatible = "rockchip,gpio-bank"; 2286 reg = <0x0 0xfec40000 0x0 0x100>; 2287 interrupts = <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH 0>; 2288 clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 2289 gpio-controller; 2290 gpio-ranges = <&pinctrl 0 96 32>; 2291 interrupt-controller; 2292 #gpio-cells = <2>; 2293 #interrupt-cells = <2>; 2294 }; 2295 2296 gpio4: gpio@fec50000 { 2297 compatible = "rockchip,gpio-bank"; 2298 reg = <0x0 0xfec50000 0x0 0x100>; 2299 interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH 0>; 2300 clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 2301 gpio-controller; 2302 gpio-ranges = <&pinctrl 0 128 32>; 2303 interrupt-controller; 2304 #gpio-cells = <2>; 2305 #interrupt-cells = <2>; 2306 }; 2307 }; 2308}; 2309 2310#include "rk3588s-pinctrl.dtsi" 2311