1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd. 4 */ 5 6#include <dt-bindings/clock/rv1126-cru.h> 7#include <dt-bindings/power/rv1126-power.h> 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/interrupt-controller/irq.h> 10#include <dt-bindings/interrupt-controller/arm-gic.h> 11#include <dt-bindings/pinctrl/rockchip.h> 12#include <dt-bindings/soc/rockchip,boot-mode.h> 13#include <dt-bindings/soc/rockchip-system-status.h> 14#include <dt-bindings/suspend/rockchip-rv1126.h> 15#include <dt-bindings/thermal/thermal.h> 16#include "rv1126-dram-default-timing.dtsi" 17 18/ { 19 #address-cells = <1>; 20 #size-cells = <1>; 21 22 compatible = "rockchip,rv1126"; 23 24 interrupt-parent = <&gic>; 25 26 aliases { 27 i2c0 = &i2c0; 28 i2c1 = &i2c1; 29 i2c2 = &i2c2; 30 i2c3 = &i2c3; 31 i2c4 = &i2c4; 32 i2c5 = &i2c5; 33 mmc0 = &emmc; 34 mmc1 = &sdmmc; 35 mmc2 = &sdio; 36 serial0 = &uart0; 37 serial1 = &uart1; 38 serial2 = &uart2; 39 serial3 = &uart3; 40 serial4 = &uart4; 41 serial5 = &uart5; 42 spi0 = &spi0; 43 spi1 = &spi1; 44 dphy0 = &csi_dphy0; 45 dphy1 = &csi_dphy1; 46 }; 47 48 cpus { 49 #address-cells = <1>; 50 #size-cells = <0>; 51 52 cpu0: cpu@f00 { 53 device_type = "cpu"; 54 compatible = "arm,cortex-a7"; 55 reg = <0xf00>; 56 enable-method = "psci"; 57 clocks = <&cru ARMCLK>; 58 operating-points-v2 = <&cpu0_opp_table>; 59 dynamic-power-coefficient = <60>; 60 #cooling-cells = <2>; 61 cpu-idle-states = <&CPU_SLEEP>; 62 }; 63 64 cpu1: cpu@f01 { 65 device_type = "cpu"; 66 compatible = "arm,cortex-a7"; 67 reg = <0xf01>; 68 enable-method = "psci"; 69 clocks = <&cru ARMCLK>; 70 operating-points-v2 = <&cpu0_opp_table>; 71 dynamic-power-coefficient = <60>; 72 cpu-idle-states = <&CPU_SLEEP>; 73 }; 74 75 cpu2: cpu@f02 { 76 device_type = "cpu"; 77 compatible = "arm,cortex-a7"; 78 reg = <0xf02>; 79 enable-method = "psci"; 80 clocks = <&cru ARMCLK>; 81 operating-points-v2 = <&cpu0_opp_table>; 82 dynamic-power-coefficient = <60>; 83 cpu-idle-states = <&CPU_SLEEP>; 84 }; 85 86 cpu3: cpu@f03 { 87 device_type = "cpu"; 88 compatible = "arm,cortex-a7"; 89 reg = <0xf03>; 90 enable-method = "psci"; 91 clocks = <&cru ARMCLK>; 92 operating-points-v2 = <&cpu0_opp_table>; 93 dynamic-power-coefficient = <60>; 94 cpu-idle-states = <&CPU_SLEEP>; 95 }; 96 97 idle-states { 98 entry-method = "psci"; 99 100 CPU_SLEEP: cpu-sleep { 101 compatible = "arm,idle-state"; 102 local-timer-stop; 103 arm,psci-suspend-param = <0x0010000>; 104 entry-latency-us = <120>; 105 exit-latency-us = <250>; 106 min-residency-us = <900>; 107 }; 108 }; 109 110 }; 111 112 cpu0_opp_table: cpu0-opp-table { 113 compatible = "operating-points-v2"; 114 opp-shared; 115 116 nvmem-cells = <&cpu_leakage>, <&cpu_performance>; 117 nvmem-cell-names = "leakage", "performance"; 118 119 rockchip,reboot-freq = <816000>; 120 121 rockchip,temp-freq-table = < 122 100000 1296000 123 >; 124 125 clocks = <&cru PLL_APLL>; 126 rockchip,bin-scaling-sel = < 127 0 5 128 1 9 129 >; 130 rockchip,bin-voltage-sel = < 131 1 0 132 >; 133 rockchip,pvtm-voltage-sel = < 134 0 100500 1 135 100501 104500 2 136 104501 109500 3 137 109501 999999 4 138 >; 139 rockchip,pvtm-freq = <408000>; 140 rockchip,pvtm-volt = <800000>; 141 rockchip,pvtm-ch = <0 0>; 142 rockchip,pvtm-sample-time = <1000>; 143 rockchip,pvtm-number = <10>; 144 rockchip,pvtm-error = <1000>; 145 rockchip,pvtm-ref-temp = <37>; 146 rockchip,pvtm-temp-prop = <(-40) 13>; 147 rockchip,pvtm-thermal-zone = "cpu-thermal"; 148 149 opp-408000000 { 150 opp-hz = /bits/ 64 <408000000>; 151 opp-microvolt = <725000 725000 1000000>; 152 opp-microvolt-L0 = <725000 725000 1000000>; 153 clock-latency-ns = <40000>; 154 }; 155 opp-600000000 { 156 opp-hz = /bits/ 64 <600000000>; 157 opp-microvolt = <725000 725000 1000000>; 158 opp-microvolt-L0 = <725000 725000 1000000>; 159 clock-latency-ns = <40000>; 160 }; 161 opp-816000000 { 162 opp-hz = /bits/ 64 <816000000>; 163 opp-microvolt = <725000 725000 1000000>; 164 opp-microvolt-L0 = <750000 750000 1000000>; 165 clock-latency-ns = <40000>; 166 opp-suspend; 167 }; 168 opp-1008000000 { 169 opp-hz = /bits/ 64 <1008000000>; 170 opp-microvolt = <775000 775000 1000000>; 171 opp-microvolt-L0 = <800000 800000 1000000>; 172 opp-microvolt-L1 = <775000 775000 1000000>; 173 opp-microvolt-L2 = <775000 775000 1000000>; 174 opp-microvolt-L3 = <750000 750000 1000000>; 175 opp-microvolt-L4 = <725000 725000 1000000>; 176 clock-latency-ns = <40000>; 177 }; 178 opp-1200000000 { 179 opp-hz = /bits/ 64 <1200000000>; 180 opp-microvolt = <850000 850000 1000000>; 181 opp-microvolt-L0 = <875000 875000 1000000>; 182 opp-microvolt-L1 = <850000 850000 1000000>; 183 opp-microvolt-L2 = <850000 850000 1000000>; 184 opp-microvolt-L3 = <825000 825000 1000000>; 185 opp-microvolt-L4 = <800000 800000 1000000>; 186 clock-latency-ns = <40000>; 187 }; 188 opp-1296000000 { 189 opp-hz = /bits/ 64 <1296000000>; 190 opp-microvolt = <875000 875000 1000000>; 191 opp-microvolt-L0 = <925000 925000 1000000>; 192 opp-microvolt-L1 = <875000 875000 1000000>; 193 opp-microvolt-L2 = <875000 875000 1000000>; 194 opp-microvolt-L3 = <850000 850000 1000000>; 195 opp-microvolt-L4 = <825000 825000 1000000>; 196 clock-latency-ns = <40000>; 197 }; 198 opp-1416000000 { 199 opp-hz = /bits/ 64 <1416000000>; 200 opp-microvolt = <925000 925000 1000000>; 201 opp-microvolt-L0 = <975000 975000 1000000>; 202 opp-microvolt-L1 = <925000 925000 1000000>; 203 opp-microvolt-L2 = <925000 925000 1000000>; 204 opp-microvolt-L3 = <900000 900000 1000000>; 205 opp-microvolt-L4 = <875000 875000 1000000>; 206 clock-latency-ns = <40000>; 207 }; 208 opp-1512000000 { 209 opp-hz = /bits/ 64 <1512000000>; 210 opp-microvolt = <975000 975000 1000000>; 211 opp-microvolt-L1 = <975000 975000 1000000>; 212 opp-microvolt-L2 = <950000 950000 1000000>; 213 opp-microvolt-L3 = <925000 925000 1000000>; 214 opp-microvolt-L4 = <900000 900000 1000000>; 215 clock-latency-ns = <40000>; 216 }; 217 }; 218 219 cpuinfo { 220 compatible = "rockchip,cpuinfo"; 221 nvmem-cells = <&otp_id>, <&otp_cpu_code>; 222 nvmem-cell-names = "id", "cpu-code"; 223 }; 224 225 arm-pmu { 226 compatible = "arm,cortex-a7-pmu"; 227 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 228 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 229 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 230 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 231 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 232 }; 233 234 bus_soc: bus-soc { 235 compatible = "rockchip,rv1126-bus"; 236 rockchip,busfreq-policy = "smc"; 237 soc-bus0 { 238 bus-id = <0>; 239 cfg-val = <0x00300020>; 240 enable-msk = <0x7144>; 241 status = "okay"; 242 }; 243 soc-bus1 { 244 bus-id = <1>; 245 cfg-val = <0x00300020>; 246 enable-msk = <0x70ff>; 247 status = "disabled"; 248 }; 249 soc-bus2 { 250 bus-id = <2>; 251 cfg-val = <0x00300020>; 252 enable-msk = <0x70ff>; 253 status = "disabled"; 254 }; 255 soc-bus3 { 256 bus-id = <3>; 257 cfg-val = <0x00300020>; 258 enable-msk = <0x70ff>; 259 status = "disabled"; 260 }; 261 soc-bus4 { 262 bus-id = <4>; 263 cfg-val = <0x00300020>; 264 enable-msk = <0x7011>; 265 status = "disabled"; 266 }; 267 soc-bus5 { 268 bus-id = <5>; 269 cfg-val = <0x00300020>; 270 enable-msk = <0x7011>; 271 status = "disabled"; 272 }; 273 soc-bus6 { 274 bus-id = <6>; 275 cfg-val = <0x00300020>; 276 enable-msk = <0x7011>; 277 status = "disabled"; 278 }; 279 soc-bus7 { 280 bus-id = <7>; 281 cfg-val = <0x00300020>; 282 enable-msk = <0x0>; 283 status = "disabled"; 284 }; 285 soc-bus8 { 286 bus-id = <8>; 287 cfg-val = <0x00300020>; 288 enable-msk = <0x0>; 289 status = "disabled"; 290 }; 291 soc-bus9 { 292 bus-id = <9>; 293 cfg-val = <0x00300020>; 294 enable-msk = <0x0>; 295 status = "disabled"; 296 }; 297 soc-bus10 { 298 bus-id = <10>; 299 cfg-val = <0x00300020>; 300 enable-msk = <0x0>; 301 status = "disabled"; 302 }; 303 soc-bus11 { 304 bus-id = <11>; 305 cfg-val = <0x00300020>; 306 enable-msk = <0x7000>; 307 status = "disabled"; 308 }; 309 }; 310 311 display_subsystem: display-subsystem { 312 compatible = "rockchip,display-subsystem"; 313 ports = <&vop_out>; 314 status = "disabled"; 315 logo-memory-region = <&drm_logo>; 316 317 route { 318 route_dsi: route-dsi { 319 status = "disabled"; 320 logo,uboot = "logo.bmp"; 321 logo,kernel = "logo_kernel.bmp"; 322 logo,mode = "center"; 323 charge_logo,mode = "center"; 324 connect = <&vop_out_dsi>; 325 }; 326 327 route_rgb: route-rgb { 328 status = "disabled"; 329 logo,uboot = "logo.bmp"; 330 logo,kernel = "logo_kernel.bmp"; 331 logo,mode = "center"; 332 charge_logo,mode = "center"; 333 connect = <&vop_out_rgb>; 334 }; 335 }; 336 }; 337 338 fiq_debugger: fiq-debugger { 339 compatible = "rockchip,fiq-debugger"; 340 rockchip,serial-id = <2>; 341 rockchip,wake-irq = <0>; 342 rockchip,irq-mode-enable = <0>; 343 rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */ 344 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 345 status = "disabled"; 346 }; 347 348 firmware { 349 optee: optee { 350 compatible = "linaro,optee-tz"; 351 method = "smc"; 352 status = "disabled"; 353 }; 354 }; 355 356 mipi_csi2: mipi-csi2 { 357 compatible = "rockchip,rv1126-mipi-csi2"; 358 rockchip,hw = <&mipi_csi2_hw>; 359 status = "disabled"; 360 }; 361 362 mpp_srv: mpp-srv { 363 compatible = "rockchip,mpp-service"; 364 rockchip,taskqueue-count = <4>; 365 rockchip,resetgroup-count = <4>; 366 status = "disabled"; 367 }; 368 369 psci { 370 compatible = "arm,psci-1.0"; 371 method = "smc"; 372 }; 373 374 reserved-memory { 375 #address-cells = <1>; 376 #size-cells = <1>; 377 ranges; 378 379 linux,cma { 380 compatible = "shared-dma-pool"; 381 inactive; 382 reusable; 383 size = <0x800000>; 384 linux,cma-default; 385 }; 386 387 drm_logo: drm-logo@00000000 { 388 compatible = "rockchip,drm-logo"; 389 reg = <0x0 0x0>; 390 }; 391 392 isp_reserved: isp { 393 compatible = "shared-dma-pool"; 394 inactive; 395 reusable; 396 size = <0x10000000>; 397 }; 398 399 ramoops: ramoops@8000000 { 400 compatible = "ramoops"; 401 reg = <0x8000000 0x100000>; 402 record-size = <0x20000>; 403 console-size = <0x40000>; 404 ftrace-size = <0x00000>; 405 pmsg-size = <0x40000>; 406 status = "disabled"; 407 }; 408 }; 409 410 rkcif_dvp: rkcif_dvp { 411 compatible = "rockchip,rkcif-dvp"; 412 rockchip,hw = <&rkcif>; 413 // iommus = <&rkcif_mmu>; 414 memory-region = <&isp_reserved>; 415 status = "disabled"; 416 }; 417 418 rkcif_dvp_sditf: rkcif_dvp_sditf { 419 compatible = "rockchip,rkcif-sditf"; 420 rockchip,cif = <&rkcif_dvp>; 421 status = "disabled"; 422 }; 423 424 rkcif_lite_mipi_lvds: rkcif_lite_mipi_lvds { 425 compatible = "rockchip,rkcif-mipi-lvds"; 426 rockchip,hw = <&rkcif_lite>; 427 iommus = <&rkcif_lite_mmu>; 428 status = "disabled"; 429 }; 430 431 rkcif_lite_sditf: rkcif_lite_sditf { 432 compatible = "rockchip,rkcif-sditf"; 433 rockchip,cif = <&rkcif_lite_mipi_lvds>; 434 status = "disabled"; 435 }; 436 437 rkcif_mipi_lvds: rkcif_mipi_lvds { 438 compatible = "rockchip,rkcif-mipi-lvds"; 439 rockchip,hw = <&rkcif>; 440 // iommus = <&rkcif_mmu>; 441 memory-region = <&isp_reserved>; 442 status = "disabled"; 443 }; 444 445 rkcif_mipi_lvds_sditf: rkcif_mipi_lvds_sditf { 446 compatible = "rockchip,rkcif-sditf"; 447 rockchip,cif = <&rkcif_mipi_lvds>; 448 status = "disabled"; 449 }; 450 451 rockchip_suspend: rockchip-suspend { 452 compatible = "rockchip,pm-rv1126"; 453 status = "disabled"; 454 rockchip,sleep-debug-en = <0>; 455 rockchip,sleep-mode-config = < 456 (0 457 | RKPM_SLP_ARMOFF 458 | RKPM_SLP_PMU_PMUALIVE_32K 459 | RKPM_SLP_PMU_DIS_OSC 460 | RKPM_SLP_PMIC_LP 461 ) 462 >; 463 rockchip,wakeup-config = < 464 (0 465 | RKPM_GPIO_WKUP_EN 466 ) 467 >; 468 }; 469 470 rockchip_system_monitor: rockchip-system-monitor { 471 compatible = "rockchip,system-monitor"; 472 }; 473 474 thermal_zones: thermal-zones { 475 cpu_thermal: cpu-thermal { 476 polling-delay-passive = <20>; /* milliseconds */ 477 polling-delay = <1000>; /* milliseconds */ 478 sustainable-power = <875>; /* milliwatts */ 479 k_pu = <75>; 480 k_po = <175>; 481 k_i = <0>; 482 483 thermal-sensors = <&cpu_tsadc 0>; 484 485 trips { 486 threshold: trip-point-0 { 487 /* millicelsius */ 488 temperature = <75000>; 489 /* millicelsius */ 490 hysteresis = <2000>; 491 type = "passive"; 492 }; 493 target: trip-point-1 { 494 /* millicelsius */ 495 temperature = <85000>; 496 /* millicelsius */ 497 hysteresis = <2000>; 498 type = "passive"; 499 }; 500 soc_crit: soc-crit { 501 /* millicelsius */ 502 temperature = <115000>; 503 /* millicelsius */ 504 hysteresis = <2000>; 505 type = "critical"; 506 }; 507 }; 508 509 cooling-maps { 510 map0 { 511 trip = <&target>; 512 cooling-device = 513 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 514 contribution = <1024>; 515 }; 516 map1 { 517 trip = <&target>; 518 cooling-device = 519 <&npu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 520 contribution = <1024>; 521 }; 522 map2 { 523 trip = <&target>; 524 cooling-device = 525 <&rkvenc THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 526 contribution = <1060>; 527 }; 528 }; 529 }; 530 531 npu_thermal: npu-thermal { 532 polling-delay-passive = <20>; /* milliseconds */ 533 polling-delay = <1000>; /* milliseconds */ 534 sustainable-power = <977>; /* milliwatts */ 535 536 thermal-sensors = <&npu_tsadc 0>; 537 }; 538 }; 539 540 timer { 541 compatible = "arm,armv7-timer"; 542 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 543 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 544 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 545 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 546 clock-frequency = <24000000>; 547 }; 548 549 xin24m: oscillator { 550 compatible = "fixed-clock"; 551 clock-frequency = <24000000>; 552 clock-output-names = "xin24m"; 553 #clock-cells = <0>; 554 }; 555 556 dummy_cpll: dummy_cpll { 557 compatible = "fixed-clock"; 558 clock-frequency = <0>; 559 clock-output-names = "dummy_cpll"; 560 #clock-cells = <0>; 561 }; 562 563 gmac_clkin_m0: external-gmac-clockm0 { 564 compatible = "fixed-clock"; 565 clock-frequency = <125000000>; 566 clock-output-names = "clk_gmac_rgmii_clkin_m0"; 567 #clock-cells = <0>; 568 }; 569 570 gmac_clkini_m1: external-gmac-clockm1 { 571 compatible = "fixed-clock"; 572 clock-frequency = <125000000>; 573 clock-output-names = "clk_gmac_rgmii_clkin_m1"; 574 #clock-cells = <0>; 575 }; 576 577 grf: syscon@fe000000 { 578 compatible = "rockchip,rv1126-grf", "syscon", "simple-mfd"; 579 reg = <0xfe000000 0x20000>; 580 581 rgb: rgb { 582 compatible = "rockchip,rv1126-rgb"; 583 status = "disabled"; 584 585 ports { 586 #address-cells = <1>; 587 #size-cells = <0>; 588 589 port@0 { 590 reg = <0>; 591 #address-cells = <1>; 592 #size-cells = <0>; 593 594 rgb_in_vop: endpoint@0 { 595 reg = <0>; 596 remote-endpoint = <&vop_out_rgb>; 597 }; 598 }; 599 600 }; 601 }; 602 }; 603 604 pmugrf: syscon@fe020000 { 605 compatible = "rockchip,rv1126-pmugrf", "syscon", "simple-mfd"; 606 reg = <0xfe020000 0x1000>; 607 608 pmu_io_domains: io-domains { 609 compatible = "rockchip,rv1126-pmu-io-voltage-domain"; 610 }; 611 612 reboot-mode { 613 compatible = "syscon-reboot-mode"; 614 offset = <0x200>; 615 mode-bootloader = <BOOT_BL_DOWNLOAD>; 616 mode-charge = <BOOT_CHARGING>; 617 mode-fastboot = <BOOT_FASTBOOT>; 618 mode-loader = <BOOT_BL_DOWNLOAD>; 619 mode-normal = <BOOT_NORMAL>; 620 mode-recovery = <BOOT_RECOVERY>; 621 mode-ums = <BOOT_UMS>; 622 mode-panic = <BOOT_PANIC>; 623 mode-watchdog = <BOOT_WATCHDOG>; 624 }; 625 }; 626 627 qos_usb_host: qos@fe810000 { 628 compatible = "syscon"; 629 reg = <0xfe810000 0x20>; 630 }; 631 632 qos_usb_otg: qos@fe810080 { 633 compatible = "syscon"; 634 reg = <0xfe810080 0x20>; 635 }; 636 637 qos_npu: qos@fe850000 { 638 compatible = "syscon"; 639 reg = <0xfe850000 0x20>; 640 }; 641 642 qos_emmc: qos@fe860000 { 643 compatible = "syscon"; 644 reg = <0xfe860000 0x20>; 645 }; 646 647 qos_nandc: qos@fe860080 { 648 compatible = "syscon"; 649 reg = <0xfe860080 0x20>; 650 }; 651 652 qos_sfc: qos@fe860200 { 653 compatible = "syscon"; 654 reg = <0xfe860200 0x20>; 655 }; 656 657 qos_sdio: qos@fe86c000 { 658 compatible = "syscon"; 659 reg = <0xfe86c000 0x20>; 660 }; 661 662 qos_vepu_rd0: qos@fe870000 { 663 compatible = "syscon"; 664 reg = <0xfe870000 0x20>; 665 }; 666 667 qos_vepu_rd1: qos@fe870080 { 668 compatible = "syscon"; 669 reg = <0xfe870080 0x20>; 670 }; 671 672 qos_vepu_wr: qos@fe870100 { 673 compatible = "syscon"; 674 reg = <0xfe870100 0x20>; 675 }; 676 677 qos_ispp_m0: qos@fe880000 { 678 compatible = "syscon"; 679 reg = <0xfe880000 0x20>; 680 }; 681 682 qos_ispp_m1: qos@fe880080 { 683 compatible = "syscon"; 684 reg = <0xfe880080 0x20>; 685 }; 686 687 qos_isp: qos@fe890000 { 688 compatible = "syscon"; 689 reg = <0xfe890000 0x20>; 690 }; 691 692 qos_cif_lite: qos@fe890080 { 693 compatible = "syscon"; 694 reg = <0xfe890080 0x20>; 695 }; 696 697 qos_cif: qos@fe890100 { 698 compatible = "syscon"; 699 reg = <0xfe890100 0x20>; 700 }; 701 702 qos_iep: qos@fe8a0000 { 703 compatible = "syscon"; 704 reg = <0xfe8a0000 0x20>; 705 }; 706 707 qos_rga_rd: qos@fe8a0080 { 708 compatible = "syscon"; 709 reg = <0xfe8a0080 0x20>; 710 }; 711 712 qos_rga_wr: qos@fe8a0100 { 713 compatible = "syscon"; 714 reg = <0xfe8a0100 0x20>; 715 }; 716 717 qos_vop: qos@fe8a0180 { 718 compatible = "syscon"; 719 reg = <0xfe8a0180 0x20>; 720 }; 721 722 qos_vdpu: qos@fe8b0000 { 723 compatible = "syscon"; 724 reg = <0xfe8b0000 0x20>; 725 }; 726 727 qos_jpeg: qos@fe8c0000 { 728 compatible = "syscon"; 729 reg = <0xfe8c0000 0x20>; 730 }; 731 732 qos_crypto: qos@fe8d0000 { 733 compatible = "syscon"; 734 reg = <0xfe8d0000 0x20>; 735 }; 736 737 gic: interrupt-controller@feff0000 { 738 compatible = "arm,gic-400"; 739 interrupt-controller; 740 #interrupt-cells = <3>; 741 #address-cells = <0>; 742 743 reg = <0xfeff1000 0x1000>, 744 <0xfeff2000 0x2000>, 745 <0xfeff4000 0x2000>, 746 <0xfeff6000 0x2000>; 747 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 748 }; 749 750 arm-debug@ff010000 { 751 compatible = "rockchip,debug"; 752 reg = <0xff010000 0x1000>, 753 <0xff012000 0x1000>, 754 <0xff014000 0x1000>, 755 <0xff016000 0x1000>; 756 }; 757 758 pvtm@ff040000 { 759 compatible = "rockchip,rv1126-cpu-pvtm"; 760 reg = <0xff040000 0x100>; 761 #address-cells = <1>; 762 #size-cells = <0>; 763 764 pvtm@0 { 765 reg = <0>; 766 clocks = <&cru CLK_CPUPVTM>, <&cru PCLK_CPUPVTM>; 767 clock-names = "clk", "pclk"; 768 resets = <&cru SRST_CPUPVTM>, <&cru SRST_CPUPVTM_P>; 769 reset-names = "rst", "rst-p"; 770 }; 771 }; 772 773 pmu: power-management@ff3e0000 { 774 compatible = "rockchip,rv1126-pmu", "syscon", "simple-mfd"; 775 reg = <0xff3e0000 0x1000>; 776 777 power: power-controller { 778 compatible = "rockchip,rv1126-power-controller"; 779 #power-domain-cells = <1>; 780 #address-cells = <1>; 781 #size-cells = <0>; 782 status = "okay"; 783 784 /* These power domains are grouped by VD_NPU */ 785 pd_npu@RV1126_PD_NPU { 786 reg = <RV1126_PD_NPU>; 787 clocks = <&cru ACLK_NPU>, 788 <&cru HCLK_NPU>, 789 <&cru PCLK_PDNPU>, 790 <&cru CLK_CORE_NPU>; 791 pm_qos = <&qos_npu>; 792 }; 793 /* These power domains are grouped by VD_VEPU */ 794 pd_vepu@RV1126_PD_VEPU { 795 reg = <RV1126_PD_VEPU>; 796 clocks = <&cru ACLK_VENC>, 797 <&cru HCLK_VENC>, 798 <&cru CLK_VENC_CORE>; 799 pm_qos = <&qos_vepu_rd0>, 800 <&qos_vepu_rd1>, 801 <&qos_vepu_wr>; 802 }; 803 /* These power domains are grouped by VD_LOGIC */ 804 pd_crypto@RV1126_PD_CRYPTO { 805 reg = <RV1126_PD_CRYPTO>; 806 clocks = <&cru ACLK_CRYPTO>, 807 <&cru HCLK_CRYPTO>, 808 <&cru CLK_CRYPTO_CORE>, 809 <&cru CLK_CRYPTO_PKA>; 810 pm_qos = <&qos_crypto>; 811 }; 812 pd_vi@RV1126_PD_VI { 813 reg = <RV1126_PD_VI>; 814 clocks = <&cru ACLK_ISP>, 815 <&cru HCLK_ISP>, 816 <&cru CLK_ISP>, 817 <&cru ACLK_CIF>, 818 <&cru HCLK_CIF>, 819 <&cru DCLK_CIF>, 820 <&cru CLK_CIF_OUT>, 821 <&cru CLK_MIPICSI_OUT>, 822 <&cru PCLK_CSIHOST>, 823 <&cru ACLK_CIFLITE>, 824 <&cru HCLK_CIFLITE>, 825 <&cru DCLK_CIFLITE>; 826 pm_qos = <&qos_isp>, 827 <&qos_cif_lite>, 828 <&qos_cif>; 829 }; 830 pd_vo@RV1126_PD_VO { 831 reg = <RV1126_PD_VO>; 832 clocks = <&cru ACLK_RGA>, 833 <&cru HCLK_RGA>, 834 <&cru CLK_RGA_CORE>, 835 <&cru ACLK_VOP>, 836 <&cru HCLK_VOP>, 837 <&cru DCLK_VOP>, 838 <&cru PCLK_DSIHOST>, 839 <&cru ACLK_IEP>, 840 <&cru HCLK_IEP>, 841 <&cru CLK_IEP_CORE>; 842 pm_qos = <&qos_rga_rd>, <&qos_rga_wr>, 843 <&qos_vop>, <&qos_iep>; 844 }; 845 pd_ispp@RV1126_PD_ISPP { 846 reg = <RV1126_PD_ISPP>; 847 clocks = <&cru ACLK_ISPP>, 848 <&cru HCLK_ISPP>, 849 <&cru CLK_ISPP>; 850 pm_qos = <&qos_ispp_m0>, 851 <&qos_ispp_m1>; 852 }; 853 pd_vdpu@RV1126_PD_VDPU { 854 reg = <RV1126_PD_VDPU>; 855 clocks = <&cru ACLK_VDEC>, 856 <&cru HCLK_VDEC>, 857 <&cru CLK_VDEC_CORE>, 858 <&cru CLK_VDEC_CA>, 859 <&cru CLK_VDEC_HEVC_CA>, 860 <&cru ACLK_JPEG>, 861 <&cru HCLK_JPEG>; 862 pm_qos = <&qos_vdpu>, 863 <&qos_jpeg>; 864 }; 865 pd_nvm@RV1126_PD_NVM { 866 reg = <RV1126_PD_NVM>; 867 clocks = <&cru HCLK_EMMC>, 868 <&cru CLK_EMMC>, 869 <&cru HCLK_NANDC>, 870 <&cru CLK_NANDC>, 871 <&cru HCLK_SFC>, 872 <&cru HCLK_SFCXIP>, 873 <&cru SCLK_SFC>; 874 pm_qos = <&qos_emmc>, 875 <&qos_nandc>, 876 <&qos_sfc>; 877 }; 878 pd_sdio@RV1126_PD_SDIO { 879 reg = <RV1126_PD_SDIO>; 880 clocks = <&cru HCLK_SDIO>, 881 <&cru CLK_SDIO>; 882 pm_qos = <&qos_sdio>; 883 }; 884 pd_usb@RV1126_PD_USB { 885 reg = <RV1126_PD_USB>; 886 clocks = <&cru HCLK_USBHOST>, 887 <&cru HCLK_USBHOST_ARB>, 888 <&cru CLK_USBHOST_UTMI_OHCI>, 889 <&cru ACLK_USBOTG>, 890 <&cru CLK_USBOTG_REF>; 891 pm_qos = <&qos_usb_host>, 892 <&qos_usb_otg>; 893 }; 894 }; 895 }; 896 897 i2c0: i2c@ff3f0000 { 898 compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c"; 899 reg = <0xff3f0000 0x1000>; 900 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 901 #address-cells = <1>; 902 #size-cells = <0>; 903 clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>; 904 clock-names = "i2c", "pclk"; 905 pinctrl-names = "default"; 906 pinctrl-0 = <&i2c0_xfer>; 907 status = "disabled"; 908 }; 909 910 i2c2: i2c@ff400000 { 911 compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c"; 912 reg = <0xff400000 0x1000>; 913 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 914 #address-cells = <1>; 915 #size-cells = <0>; 916 rockchip,grf = <&pmugrf>; 917 clocks = <&pmucru CLK_I2C2>, <&pmucru PCLK_I2C2>; 918 clock-names = "i2c", "pclk"; 919 pinctrl-names = "default"; 920 pinctrl-0 = <&i2c2_xfer>; 921 status = "disabled"; 922 }; 923 924 amba { 925 compatible = "simple-bus"; 926 #address-cells = <1>; 927 #size-cells = <1>; 928 ranges; 929 930 dmac: dma-controller@ff4e0000 { 931 compatible = "arm,pl330", "arm,primecell"; 932 reg = <0xff4e0000 0x4000>; 933 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 934 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 935 #dma-cells = <1>; 936 clocks = <&cru ACLK_DMAC>; 937 clock-names = "apb_pclk"; 938 arm,pl330-periph-burst; 939 }; 940 }; 941 942 uart1: serial@ff410000 { 943 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 944 reg = <0xff410000 0x100>; 945 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 946 reg-shift = <2>; 947 reg-io-width = <4>; 948 dmas = <&dmac 7>, <&dmac 6>; 949 clock-frequency = <24000000>; 950 clocks = <&pmucru SCLK_UART1>, <&pmucru PCLK_UART1>; 951 clock-names = "baudclk", "apb_pclk"; 952 pinctrl-names = "default"; 953 pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>; 954 status = "disabled"; 955 }; 956 957 pwm0: pwm@ff430000 { 958 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 959 reg = <0xff430000 0x10>; 960 #pwm-cells = <3>; 961 pinctrl-names = "active"; 962 pinctrl-0 = <&pwm0m0_pins>; 963 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 964 clock-names = "pwm", "pclk"; 965 status = "disabled"; 966 }; 967 968 pwm1: pwm@ff430010 { 969 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 970 reg = <0xff430010 0x10>; 971 #pwm-cells = <3>; 972 pinctrl-names = "active"; 973 pinctrl-0 = <&pwm1m0_pins>; 974 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 975 clock-names = "pwm", "pclk"; 976 status = "disabled"; 977 }; 978 979 pwm2: pwm@ff430020 { 980 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 981 reg = <0xff430020 0x10>; 982 #pwm-cells = <3>; 983 pinctrl-names = "active"; 984 pinctrl-0 = <&pwm2m0_pins>; 985 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 986 clock-names = "pwm", "pclk"; 987 status = "disabled"; 988 }; 989 990 pwm3: pwm@ff430030 { 991 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 992 reg = <0xff430030 0x10>; 993 #pwm-cells = <3>; 994 pinctrl-names = "active"; 995 pinctrl-0 = <&pwm3m0_pins>; 996 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 997 clock-names = "pwm", "pclk"; 998 status = "disabled"; 999 }; 1000 1001 pwm4: pwm@ff440000 { 1002 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 1003 reg = <0xff440000 0x10>; 1004 #pwm-cells = <3>; 1005 pinctrl-names = "active"; 1006 pinctrl-0 = <&pwm4m0_pins>; 1007 clocks = <&pmucru CLK_PWM1>, <&pmucru PCLK_PWM1>; 1008 clock-names = "pwm", "pclk"; 1009 status = "disabled"; 1010 }; 1011 1012 pwm5: pwm@ff440010 { 1013 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 1014 reg = <0xff440010 0x10>; 1015 #pwm-cells = <3>; 1016 pinctrl-names = "active"; 1017 pinctrl-0 = <&pwm5m0_pins>; 1018 clocks = <&pmucru CLK_PWM1>, <&pmucru PCLK_PWM1>; 1019 clock-names = "pwm", "pclk"; 1020 status = "disabled"; 1021 }; 1022 1023 pwm6: pwm@ff440020 { 1024 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 1025 reg = <0xff440020 0x10>; 1026 #pwm-cells = <3>; 1027 pinctrl-names = "active"; 1028 pinctrl-0 = <&pwm6m0_pins>; 1029 clocks = <&pmucru CLK_PWM1>, <&pmucru PCLK_PWM1>; 1030 clock-names = "pwm", "pclk"; 1031 status = "disabled"; 1032 }; 1033 1034 pwm7: pwm@ff440030 { 1035 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 1036 reg = <0xff440030 0x10>; 1037 #pwm-cells = <3>; 1038 pinctrl-names = "active"; 1039 pinctrl-0 = <&pwm7m0_pins>; 1040 clocks = <&pmucru CLK_PWM1>, <&pmucru PCLK_PWM1>; 1041 clock-names = "pwm", "pclk"; 1042 status = "disabled"; 1043 }; 1044 1045 spi0: spi@ff450000 { 1046 compatible = "rockchip,rv1126-spi", "rockchip,rk3066-spi"; 1047 reg = <0xff450000 0x1000>; 1048 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1049 #address-cells = <1>; 1050 #size-cells = <0>; 1051 clocks = <&pmucru CLK_SPI0>, <&pmucru PCLK_SPI0>; 1052 clock-names = "spiclk", "apb_pclk"; 1053 dmas = <&dmac 1>, <&dmac 0>; 1054 dma-names = "tx", "rx"; 1055 pinctrl-names = "default", "high_speed"; 1056 pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>; 1057 pinctrl-1 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins_hs>; 1058 status = "disabled"; 1059 }; 1060 1061 pvtm@ff470000 { 1062 compatible = "rockchip,rv1126-pmu-pvtm"; 1063 reg = <0xff470000 0x100>; 1064 #address-cells = <1>; 1065 #size-cells = <0>; 1066 1067 pvtm@2 { 1068 reg = <2>; 1069 clocks = <&pmucru CLK_PMUPVTM>, <&pmucru PCLK_PMUPVTM>; 1070 clock-names = "clk", "pclk"; 1071 resets = <&pmucru SRST_PMUPVTM>, 1072 <&pmucru SRST_PMUPVTM_P>; 1073 reset-names = "rst", "rst-p"; 1074 }; 1075 }; 1076 1077 pmucru: clock-controller@ff480000 { 1078 compatible = "rockchip,rv1126-pmucru"; 1079 reg = <0xff480000 0x1000>; 1080 rockchip,pmugrf = <&pmugrf>; 1081 #clock-cells = <1>; 1082 #reset-cells = <1>; 1083 }; 1084 1085 cru: clock-controller@ff490000 { 1086 compatible = "rockchip,rv1126-cru"; 1087 reg = <0xff490000 0x1000>; 1088 rockchip,grf = <&grf>; 1089 #clock-cells = <1>; 1090 #reset-cells = <1>; 1091 1092 assigned-clocks = 1093 <&pmucru CLK_RTC32K>, <&pmucru PLL_GPLL>, 1094 <&pmucru PCLK_PDPMU>, <&cru PLL_CPLL>, 1095 <&cru PLL_HPLL>, <&cru ARMCLK>, 1096 <&cru ACLK_PDBUS>, <&cru HCLK_PDBUS>, 1097 <&cru PCLK_PDBUS>, <&cru ACLK_PDPHP>, 1098 <&cru HCLK_PDPHP>, <&cru HCLK_PDAUDIO>, 1099 <&cru HCLK_PDCORE_NIU>; 1100 assigned-clock-rates = 1101 <32768>, <1188000000>, 1102 <100000000>, <500000000>, 1103 <1400000000>, <600000000>, 1104 <500000000>, <200000000>, 1105 <100000000>, <300000000>, 1106 <200000000>, <150000000>, 1107 <200000000>; 1108 assigned-clock-parents = 1109 <&pmucru CLK_OSC0_DIV32K>; 1110 }; 1111 1112 csi_dphy0: csi-dphy@ff4b0000 { 1113 compatible = "rockchip,rv1126-csi-dphy"; 1114 reg = <0xff4b0000 0x8000>; 1115 clocks = <&cru PCLK_CSIPHY0>; 1116 clock-names = "pclk"; 1117 rockchip,grf = <&grf>; 1118 status = "disabled"; 1119 }; 1120 1121 csi_dphy1: csi-dphy@ff4b8000 { 1122 compatible = "rockchip,rv1126-csi-dphy"; 1123 reg = <0xff4b8000 0x8000>; 1124 clocks = <&cru PCLK_CSIPHY1>; 1125 clock-names = "pclk"; 1126 rockchip,grf = <&grf>; 1127 status = "disabled"; 1128 }; 1129 1130 u2phy0: usb2-phy@ff4c0000 { 1131 compatible = "rockchip,rv1126-usb2phy"; 1132 reg = <0xff4c0000 0x8000>; 1133 rockchip,grf = <&grf>; 1134 clocks = <&pmucru CLK_USBPHY_OTG_REF>, <&cru PCLK_USBPHY_OTG>; 1135 clock-names = "phyclk", "pclk"; 1136 resets = <&cru SRST_USBPHYPOR_OTG>, <&cru SRST_USBPHY_OTG_P>; 1137 reset-names = "u2phy", "u2phy-apb"; 1138 #clock-cells = <0>; 1139 status = "disabled"; 1140 1141 u2phy_otg: otg-port { 1142 #phy-cells = <0>; 1143 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 1144 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 1145 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 1146 <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 1147 interrupt-names = "otg-bvalid", "otg-id", 1148 "linestate", "disconnect"; 1149 status = "disabled"; 1150 }; 1151 }; 1152 1153 u2phy1: usb2-phy@ff4c8000 { 1154 compatible = "rockchip,rv1126-usb2phy"; 1155 reg = <0xff4c8000 0x8000>; 1156 rockchip,grf = <&grf>; 1157 clocks = <&pmucru CLK_USBPHY_HOST_REF>, <&cru PCLK_USBPHY_HOST>; 1158 clock-names = "phyclk", "pclk"; 1159 assigned-clocks = <&cru USB480M>; 1160 assigned-clock-parents = <&u2phy1>; 1161 resets = <&cru SRST_USBPHYPOR_HOST>, <&cru SRST_USBPHY_HOST_P>; 1162 reset-names = "u2phy", "u2phy-apb"; 1163 #clock-cells = <0>; 1164 clock-output-names = "usb480m_phy"; 1165 status = "disabled"; 1166 1167 u2phy_host: host-port { 1168 #phy-cells = <0>; 1169 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 1170 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 1171 interrupt-names = "linestate", "disconnect"; 1172 status = "disabled"; 1173 }; 1174 }; 1175 1176 mipi_dphy: mipi-dphy@ff4d0000 { 1177 compatible = "rockchip,rv1126-mipi-dphy", "rockchip,rk3568-video-phy"; 1178 reg = <0xff4d0000 0x500>, <0xffb30000 0x500>; 1179 reg-names = "phy", "host"; 1180 assigned-clocks = <&pmucru CLK_MIPIDSIPHY_REF>; 1181 assigned-clock-rates = <24000000>; 1182 clocks = <&pmucru CLK_MIPIDSIPHY_REF>, 1183 <&cru PCLK_DSIPHY>, <&cru PCLK_DSIHOST>; 1184 clock-names = "ref", "pclk", "pclk_host"; 1185 #clock-cells = <0>; 1186 resets = <&cru SRST_DSIPHY_P>; 1187 reset-names = "apb"; 1188 #phy-cells = <0>; 1189 rockchip,grf = <&grf>; 1190 status = "disabled"; 1191 }; 1192 1193 rng: rng@ff500400 { 1194 compatible = "rockchip,cryptov2-rng"; 1195 reg = <0xff500400 0x80>; 1196 clocks = <&cru HCLK_CRYPTO>; 1197 clock-names = "hclk_crypto"; 1198 power-domains = <&power RV1126_PD_CRYPTO>; 1199 resets = <&cru SRST_CRYPTO_CORE>; 1200 reset-names = "reset"; 1201 status = "disabled"; 1202 }; 1203 1204 crypto: crypto@ff500000 { 1205 compatible = "rockchip,rv1126-crypto"; 1206 reg = <0xff500000 0x400>, <0xff500480 0x3B80>; 1207 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 1208 clocks = <&cru CLK_CRYPTO_CORE>, <&cru CLK_CRYPTO_PKA>, 1209 <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO>; 1210 clock-names = "aclk", "hclk", "sclk", "apb_pclk"; 1211 power-domains = <&power RV1126_PD_CRYPTO>; 1212 resets = <&cru SRST_CRYPTO_CORE>; 1213 reset-names = "crypto-rst"; 1214 status = "disabled"; 1215 }; 1216 1217 i2c1: i2c@ff510000 { 1218 compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c"; 1219 reg = <0xff510000 0x1000>; 1220 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1221 #address-cells = <1>; 1222 #size-cells = <0>; 1223 clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 1224 clock-names = "i2c", "pclk"; 1225 pinctrl-names = "default"; 1226 pinctrl-0 = <&i2c1_xfer>; 1227 status = "disabled"; 1228 }; 1229 1230 i2c3: i2c@ff520000 { 1231 compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c"; 1232 reg = <0xff520000 0x1000>; 1233 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1234 #address-cells = <1>; 1235 #size-cells = <0>; 1236 clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 1237 clock-names = "i2c", "pclk"; 1238 pinctrl-names = "default"; 1239 pinctrl-0 = <&i2c3m0_xfer>; 1240 status = "disabled"; 1241 }; 1242 1243 i2c4: i2c@ff530000 { 1244 compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c"; 1245 reg = <0xff530000 0x1000>; 1246 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 1247 #address-cells = <1>; 1248 #size-cells = <0>; 1249 clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 1250 clock-names = "i2c", "pclk"; 1251 pinctrl-names = "default"; 1252 pinctrl-0 = <&i2c4m0_xfer>; 1253 status = "disabled"; 1254 }; 1255 1256 i2c5: i2c@ff540000 { 1257 compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c"; 1258 reg = <0xff540000 0x1000>; 1259 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1260 #address-cells = <1>; 1261 #size-cells = <0>; 1262 clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 1263 clock-names = "i2c", "pclk"; 1264 pinctrl-names = "default"; 1265 pinctrl-0 = <&i2c5m0_xfer>; 1266 status = "disabled"; 1267 }; 1268 1269 pwm8: pwm@ff550000 { 1270 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 1271 reg = <0xff550000 0x10>; 1272 #pwm-cells = <3>; 1273 pinctrl-names = "active"; 1274 pinctrl-0 = <&pwm8m0_pins>; 1275 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1276 clock-names = "pwm", "pclk"; 1277 status = "disabled"; 1278 }; 1279 1280 pwm9: pwm@ff550010 { 1281 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 1282 reg = <0xff550010 0x10>; 1283 #pwm-cells = <3>; 1284 pinctrl-names = "active"; 1285 pinctrl-0 = <&pwm9m0_pins>; 1286 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1287 clock-names = "pwm", "pclk"; 1288 status = "disabled"; 1289 }; 1290 1291 pwm10: pwm@ff550020 { 1292 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 1293 reg = <0xff550020 0x10>; 1294 #pwm-cells = <3>; 1295 pinctrl-names = "active"; 1296 pinctrl-0 = <&pwm10m0_pins>; 1297 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1298 clock-names = "pwm", "pclk"; 1299 status = "disabled"; 1300 }; 1301 1302 pwm11: pwm@ff550030 { 1303 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 1304 reg = <0xff550030 0x10>; 1305 #pwm-cells = <3>; 1306 pinctrl-names = "active"; 1307 pinctrl-0 = <&pwm11m0_pins>; 1308 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1309 clock-names = "pwm", "pclk"; 1310 status = "disabled"; 1311 }; 1312 1313 uart0: serial@ff560000 { 1314 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 1315 reg = <0xff560000 0x100>; 1316 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1317 reg-shift = <2>; 1318 reg-io-width = <4>; 1319 dmas = <&dmac 5>, <&dmac 4>; 1320 clock-frequency = <24000000>; 1321 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 1322 clock-names = "baudclk", "apb_pclk"; 1323 pinctrl-names = "default"; 1324 pinctrl-0 = <&uart0_xfer &uart0_ctsn &uart0_rtsn>; 1325 status = "disabled"; 1326 }; 1327 1328 uart2: serial@ff570000 { 1329 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 1330 reg = <0xff570000 0x100>; 1331 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1332 reg-shift = <2>; 1333 reg-io-width = <4>; 1334 dmas = <&dmac 9>, <&dmac 8>; 1335 clock-frequency = <24000000>; 1336 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 1337 clock-names = "baudclk", "apb_pclk"; 1338 pinctrl-names = "default"; 1339 pinctrl-0 = <&uart2m1_xfer>; 1340 status = "disabled"; 1341 }; 1342 1343 uart3: serial@ff580000 { 1344 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 1345 reg = <0xff580000 0x100>; 1346 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 1347 reg-shift = <2>; 1348 reg-io-width = <4>; 1349 dmas = <&dmac 11>, <&dmac 10>; 1350 clock-frequency = <24000000>; 1351 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 1352 clock-names = "baudclk", "apb_pclk"; 1353 pinctrl-names = "default"; 1354 pinctrl-0 = <&uart3m0_xfer &uart3m0_ctsn &uart3m0_rtsn>; 1355 status = "disabled"; 1356 }; 1357 1358 uart4: serial@ff590000 { 1359 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 1360 reg = <0xff590000 0x100>; 1361 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 1362 reg-shift = <2>; 1363 reg-io-width = <4>; 1364 dmas = <&dmac 13>, <&dmac 12>; 1365 clock-frequency = <24000000>; 1366 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 1367 clock-names = "baudclk", "apb_pclk"; 1368 pinctrl-names = "default"; 1369 pinctrl-0 = <&uart4m0_xfer &uart4m0_ctsn &uart4m0_rtsn>; 1370 status = "disabled"; 1371 }; 1372 1373 uart5: serial@ff5a0000 { 1374 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 1375 reg = <0xff5a0000 0x100>; 1376 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 1377 reg-shift = <2>; 1378 reg-io-width = <4>; 1379 dmas = <&dmac 15>, <&dmac 14>; 1380 clock-frequency = <24000000>; 1381 clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 1382 clock-names = "baudclk", "apb_pclk"; 1383 pinctrl-names = "default"; 1384 pinctrl-0 = <&uart5m0_xfer &uart5m0_ctsn &uart5m0_rtsn>; 1385 status = "disabled"; 1386 }; 1387 1388 spi1: spi@ff5b0000 { 1389 compatible = "rockchip,rv1126-spi", "rockchip,rk3066-spi"; 1390 reg = <0xff5b0000 0x1000>; 1391 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 1392 #address-cells = <1>; 1393 #size-cells = <0>; 1394 clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 1395 clock-names = "spiclk", "apb_pclk"; 1396 dmas = <&dmac 3>, <&dmac 2>; 1397 dma-names = "tx", "rx"; 1398 pinctrl-names = "default", "high_speed"; 1399 pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>; 1400 pinctrl-1 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins_hs>; 1401 status = "disabled"; 1402 }; 1403 1404 otp: otp@ff5c0000 { 1405 compatible = "rockchip,rv1126-otp"; 1406 reg = <0xff5c0000 0x1000>; 1407 #address-cells = <1>; 1408 #size-cells = <1>; 1409 clocks = <&cru CLK_OTP>, <&cru PCLK_OTP>; 1410 clock-names = "otp", "apb_pclk"; 1411 status = "disabled"; 1412 1413 /* Data cells */ 1414 otp_cpu_code: cpu-code@2 { 1415 reg = <0x02 0x2>; 1416 }; 1417 otp_id: id@7 { 1418 reg = <0x07 0x10>; 1419 }; 1420 cpu_leakage: cpu-leakage@17 { 1421 reg = <0x17 0x1>; 1422 }; 1423 logic_leakage: logic-leakage@18 { 1424 reg = <0x18 0x1>; 1425 }; 1426 npu_leakage: npu-leakage@19 { 1427 reg = <0x19 0x1>; 1428 }; 1429 venc_leakage: venc-leakage@1a { 1430 reg = <0x1a 0x1>; 1431 }; 1432 cpu_performance: cpu-performance@1e { 1433 reg = <0x1e 0x1>; 1434 bits = <4 3>; 1435 }; 1436 npu_performance: npu-performance@1f { 1437 reg = <0x1f 0x1>; 1438 bits = <0 2>; 1439 }; 1440 venc_performance: venc-performance@1f { 1441 reg = <0x1f 0x1>; 1442 bits = <2 2>; 1443 }; 1444 cpu_tsadc_trim_l: cpu-tsadc-trim-l@23 { 1445 reg = <0x23 0x1>; 1446 }; 1447 cpu_tsadc_trim_h: cpu-tsadc-trim-h@24 { 1448 reg = <0x24 0x1>; 1449 bits = <0 4>; 1450 }; 1451 npu_tsadc_trim_l: npu-tsadc-trim-l@25 { 1452 reg = <0x25 0x1>; 1453 }; 1454 npu_tsadc_trim_h: npu-tsadc-trim-h@26 { 1455 reg = <0x26 0x1>; 1456 bits = <0 4>; 1457 }; 1458 tsadc_trim_base: tsadc-trim-base@27 { 1459 reg = <0x27 0x1>; 1460 }; 1461 }; 1462 1463 saradc: saradc@ff5e0000 { 1464 compatible = "rockchip,rk3399-saradc"; 1465 reg = <0xff5e0000 0x100>; 1466 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 1467 #io-channel-cells = <1>; 1468 clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 1469 clock-names = "saradc", "apb_pclk"; 1470 resets = <&cru SRST_SARADC_P>; 1471 reset-names = "saradc-apb"; 1472 status = "disabled"; 1473 }; 1474 1475 cpu_tsadc: tsadc@ff5f0000 { 1476 compatible = "rockchip,rv1126-tsadc"; 1477 reg = <0xff5f0000 0x100>; 1478 rockchip,grf = <&grf>; 1479 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 1480 assigned-clocks = <&cru CLK_CPU_TSADC>; 1481 assigned-clock-rates = <4000000>; 1482 clocks = <&cru CLK_CPU_TSADC>, <&cru PCLK_CPU_TSADC>, 1483 <&cru CLK_CPU_TSADCPHY>; 1484 clock-names = "tsadc", "apb_pclk", "phy_clk"; 1485 resets = <&cru SRST_CPU_TSADC_P>, <&cru SRST_CPU_TSADC>, 1486 <&cru SRST_CPU_TSADCPHY>; 1487 reset-names = "tsadc-apb", "tsadc", "tsadc-phy"; 1488 rockchip,hw-tshut-temp = <120000>; 1489 #thermal-sensor-cells = <1>; 1490 nvmem-cells = <&cpu_tsadc_trim_l>, <&cpu_tsadc_trim_h>, <&tsadc_trim_base>; 1491 nvmem-cell-names = "trim_l", "trim_h", "trim_base"; 1492 rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 1493 rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 1494 pinctrl-names = "gpio", "otpout"; 1495 pinctrl-0 = <&tsadcm0_shut>; 1496 pinctrl-1 = <&tsadc_shutorg>; 1497 status = "disabled"; 1498 }; 1499 1500 npu_tsadc: tsadc@ff5f8000 { 1501 compatible = "rockchip,rv1126-tsadc"; 1502 reg = <0xff5f8000 0x100>; 1503 rockchip,grf = <&grf>; 1504 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 1505 assigned-clocks = <&cru CLK_NPU_TSADC>; 1506 assigned-clock-rates = <4000000>; 1507 clocks = <&cru CLK_NPU_TSADC>, <&cru PCLK_NPU_TSADC>, 1508 <&cru CLK_NPU_TSADCPHY>; 1509 clock-names = "tsadc", "apb_pclk", "phy_clk"; 1510 resets = <&cru SRST_NPU_TSADC_P>, <&cru SRST_NPU_TSADC>, 1511 <&cru SRST_NPU_TSADCPHY>; 1512 reset-names = "tsadc-apb", "tsadc", "tsadc-phy"; 1513 rockchip,hw-tshut-temp = <120000>; 1514 #thermal-sensor-cells = <1>; 1515 nvmem-cells = <&npu_tsadc_trim_l>, <&npu_tsadc_trim_h>, <&tsadc_trim_base>; 1516 nvmem-cell-names = "trim_l", "trim_h", "trim_base"; 1517 rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 1518 rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 1519 pinctrl-names = "gpio", "otpout"; 1520 pinctrl-0 = <&tsadcm0_shut>; 1521 pinctrl-1 = <&tsadc_shutorg>; 1522 status = "disabled"; 1523 }; 1524 1525 dcf: dcf@ff600000 { 1526 compatible = "syscon"; 1527 reg = <0xff600000 0x1000>; 1528 status = "disabled"; 1529 }; 1530 1531 can: can@ff610000 { 1532 compatible = "rockchip,can-1.0"; 1533 reg = <0xff610000 0x100>; 1534 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 1535 assigned-clocks = <&cru CLK_CAN>; 1536 assigned-clock-rates = <200000000>; 1537 clocks = <&cru CLK_CAN>, <&cru PCLK_CAN>; 1538 clock-names = "baudclk", "apb_pclk"; 1539 resets = <&cru SRST_CAN>, <&cru SRST_CAN_P>; 1540 reset-names = "can", "can-apb"; 1541 status = "disabled"; 1542 }; 1543 1544 rktimer: rktimer@ff660000 { 1545 compatible = "rockchip,rk3288-timer"; 1546 reg = <0xff660000 0x20>; 1547 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 1548 clocks = <&cru PCLK_TIMER>, <&cru CLK_TIMER0>; 1549 clock-names = "pclk", "timer"; 1550 }; 1551 1552 wdt: watchdog@ff680000 { 1553 compatible = "rockchip,rv1126-wdt", "snps,dw-wdt"; 1554 reg = <0xff680000 0x100>; 1555 clocks = <&cru PCLK_WDT>; 1556 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 1557 status = "disabled"; 1558 }; 1559 1560 mailbox: mailbox@ff6a0000 { 1561 compatible = "rockchip,rv1126-mailbox", 1562 "rockchip,rk3368-mailbox"; 1563 reg = <0xff6a0000 0x1000>; 1564 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 1565 clocks = <&cru PCLK_MAILBOX>; 1566 clock-names = "pclk_mailbox"; 1567 #mbox-cells = <1>; 1568 status = "disabled"; 1569 }; 1570 1571 hw_decompress: decompress@ff6c0000 { 1572 compatible = "rockchip,hw-decompress"; 1573 reg = <0xff6c0000 0x1000>; 1574 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 1575 clocks = <&cru ACLK_DECOM>, <&cru DCLK_DECOM>, <&cru PCLK_DECOM>; 1576 clock-names = "aclk", "dclk", "pclk"; 1577 resets = <&cru SRST_DECOM_D>; 1578 reset-names = "dresetn"; 1579 status = "disabled"; 1580 }; 1581 1582 i2s0_8ch: i2s@ff800000 { 1583 compatible = "rockchip,rv1126-i2s-tdm"; 1584 reg = <0xff800000 0x1000>; 1585 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 1586 clocks = <&cru MCLK_I2S0_TX>, <&cru MCLK_I2S0_RX>, <&cru HCLK_I2S0>; 1587 clock-names = "mclk_tx", "mclk_rx", "hclk"; 1588 dmas = <&dmac 20>, <&dmac 19>; 1589 dma-names = "tx", "rx"; 1590 resets = <&cru SRST_I2S0_TX_M>, <&cru SRST_I2S0_RX_M>; 1591 reset-names = "tx-m", "rx-m"; 1592 rockchip,cru = <&cru>; 1593 rockchip,grf = <&grf>; 1594 pinctrl-names = "default"; 1595 pinctrl-0 = <&i2s0m0_sclk_tx 1596 &i2s0m0_sclk_rx 1597 &i2s0m0_lrck_tx 1598 &i2s0m0_lrck_rx 1599 &i2s0m0_sdi0 1600 &i2s0m0_sdo0 1601 &i2s0m0_sdo1_sdi3 1602 &i2s0m0_sdo2_sdi2 1603 &i2s0m0_sdo3_sdi1>; 1604 status = "disabled"; 1605 }; 1606 1607 i2s1_2ch: i2s@ff810000 { 1608 compatible = "rockchip,rv1126-i2s", "rockchip,rk3066-i2s"; 1609 reg = <0xff810000 0x1000>; 1610 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 1611 clocks = <&cru MCLK_I2S1>, <&cru HCLK_I2S1>; 1612 clock-names = "i2s_clk", "i2s_hclk"; 1613 dmas = <&dmac 22>, <&dmac 21>; 1614 dma-names = "tx", "rx"; 1615 pinctrl-names = "default"; 1616 pinctrl-0 = <&i2s1m0_sclk 1617 &i2s1m0_lrck 1618 &i2s1m0_sdi 1619 &i2s1m0_sdo>; 1620 status = "disabled"; 1621 }; 1622 1623 i2s2_2ch: i2s@ff820000 { 1624 compatible = "rockchip,rv1126-i2s", "rockchip,rk3066-i2s"; 1625 reg = <0xff820000 0x1000>; 1626 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 1627 clocks = <&cru MCLK_I2S2>, <&cru HCLK_I2S2>; 1628 clock-names = "i2s_clk", "i2s_hclk"; 1629 dmas = <&dmac 24>, <&dmac 23>; 1630 dma-names = "tx", "rx"; 1631 pinctrl-names = "default"; 1632 pinctrl-0 = <&i2s2m0_sclk 1633 &i2s2m0_lrck 1634 &i2s2m0_sdi 1635 &i2s2m0_sdo>; 1636 status = "disabled"; 1637 }; 1638 1639 pdm: pdm@ff830000 { 1640 compatible = "rockchip,rv1126-pdm", "rockchip,pdm"; 1641 reg = <0xff830000 0x1000>; 1642 clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>; 1643 clock-names = "pdm_clk", "pdm_hclk"; 1644 dmas = <&dmac 25>; 1645 dma-names = "rx"; 1646 pinctrl-names = "default"; 1647 pinctrl-0 = <&pdmm0_clk 1648 &pdmm0_clk1 1649 &pdmm0_sdi0 1650 &pdmm0_sdi1 1651 &pdmm0_sdi2 1652 &pdmm0_sdi3>; 1653 status = "disabled"; 1654 }; 1655 1656 audpwm: audpwm@ff840000 { 1657 compatible = "rockchip,rv1126-audio-pwm", "rockchip,audio-pwm-v1"; 1658 reg = <0xff840000 0x1000>; 1659 clocks = <&cru SCLK_AUDPWM>, <&cru HCLK_AUDPWM>; 1660 clock-names = "clk", "hclk"; 1661 dmas = <&dmac 26>; 1662 dma-names = "tx"; 1663 pinctrl-names = "default"; 1664 pinctrl-0 = <&audpwmm0_pins>; 1665 rockchip,sample-width-bits = <11>; 1666 rockchip,interpolat-points = <1>; 1667 status = "disabled"; 1668 }; 1669 1670 rkacdc_dig: codec-digital@ff850000 { 1671 compatible = "rockchip,rv1126-codec-digital", "rockchip,codec-digital-v1"; 1672 reg = <0xff850000 0x1000>; 1673 clocks = <&cru CLK_ACDCDIG_ADC>, <&cru CLK_ACDCDIG_DAC>, <&cru PCLK_ACDCDIG>; 1674 clock-names = "adc", "dac", "pclk"; 1675 pinctrl-names = "default"; 1676 pinctrl-0 = <&acodec_pins>; 1677 resets = <&cru SRST_ACDCDIG>; 1678 reset-names = "reset" ; 1679 rockchip,grf = <&grf>; 1680 status = "disabled"; 1681 }; 1682 1683 dfi: dfi@ff9c0000 { 1684 reg = <0xff9c0000 0x400>; 1685 compatible = "rockchip,rv1126-dfi"; 1686 rockchip,pmugrf = <&pmugrf>; 1687 status = "disabled"; 1688 }; 1689 1690 dmc: dmc { 1691 compatible = "rockchip,rv1126-dmc"; 1692 dcf = <&dcf>; 1693 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 1694 interrupt-names = "complete"; 1695 devfreq-events = <&dfi>; 1696 clocks = <&cru SCLK_DDRCLK>; 1697 clock-names = "dmc_clk"; 1698 operating-points-v2 = <&dmc_opp_table>; 1699 ddr_timing = <&ddr_timing>; 1700 upthreshold = <40>; 1701 downdifferential = <20>; 1702 system-status-freq = < 1703 /*system status freq(KHz)*/ 1704 SYS_STATUS_NORMAL 924000 1705 SYS_STATUS_REBOOT 328000 1706 SYS_STATUS_SUSPEND 328000 1707 SYS_STATUS_VIDEO_1080P 924000 1708 SYS_STATUS_BOOST 924000 1709 SYS_STATUS_ISP 924000 1710 SYS_STATUS_PERFORMANCE 924000 1711 >; 1712 auto-min-freq = <328000>; 1713 auto-freq-en = <1>; 1714 #cooling-cells = <2>; 1715 status = "disabled"; 1716 }; 1717 1718 dmc_opp_table: dmc-opp-table { 1719 compatible = "operating-points-v2"; 1720 1721 opp-328000000 { 1722 opp-hz = /bits/ 64 <328000000>; 1723 opp-microvolt = <800000>; 1724 }; 1725 opp-528000000 { 1726 opp-hz = /bits/ 64 <528000000>; 1727 opp-microvolt = <800000>; 1728 }; 1729 opp-784000000 { 1730 opp-hz = /bits/ 64 <784000000>; 1731 opp-microvolt = <800000>; 1732 }; 1733 opp-924000000 { 1734 opp-hz = /bits/ 64 <924000000>; 1735 opp-microvolt = <800000>; 1736 }; 1737 opp-1056000000 { 1738 opp-hz = /bits/ 64 <1056000000>; 1739 opp-microvolt = <800000>; 1740 status = "disabled"; 1741 }; 1742 }; 1743 1744 dmcdbg: dmcdbg { 1745 compatible = "rockchip,rv1126-dmcdbg"; 1746 status = "disabled"; 1747 }; 1748 1749 rkcif: rkcif@ffae0000 { 1750 compatible = "rockchip,rv1126-cif"; 1751 reg = <0xffae0000 0x8000>; 1752 reg-names = "cif_regs"; 1753 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 1754 interrupt-names = "cif-intr"; 1755 clocks = <&cru ACLK_CIF>,<&cru HCLK_CIF>, 1756 <&cru DCLK_CIF>; 1757 clock-names = "aclk_cif","hclk_cif", 1758 "dclk_cif"; 1759 resets = <&cru SRST_CIF_A>, <&cru SRST_CIF_H>, 1760 <&cru SRST_CIF_D>, <&cru SRST_CIF_P>, 1761 <&cru SRST_CIF_I>, <&cru SRST_CIF_RX_P>; 1762 reset-names = "rst_cif_a", "rst_cif_h", 1763 "rst_cif_d", "rst_cif_p", 1764 "rst_cif_i", "rst_cif_rx_p"; 1765 assigned-clocks = <&cru DCLK_CIF>; 1766 assigned-clock-rates = <300000000>; 1767 power-domains = <&power RV1126_PD_VI>; 1768 rockchip,grf = <&grf>; 1769 // iommus = <&rkcif_mmu>; 1770 memory-region = <&isp_reserved>; 1771 status = "disabled"; 1772 }; 1773 1774 rkcif_mmu: iommu@ffae0800 { 1775 compatible = "rockchip,iommu"; 1776 reg = <0xffae0800 0x100>; 1777 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 1778 interrupt-names = "cif_mmu"; 1779 clocks = <&cru ACLK_CIF>, <&cru HCLK_CIF>; 1780 clock-names = "aclk", "iface"; 1781 power-domains = <&power RV1126_PD_VI>; 1782 #iommu-cells = <0>; 1783 status = "disabled"; 1784 }; 1785 1786 rkcif_lite: rkcif_lite@ffae8000 { 1787 compatible = "rockchip,rv1126-cif-lite"; 1788 reg = <0xffae8000 0x8000>; 1789 reg-names = "cif_regs"; 1790 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 1791 interrupt-names = "cif-lite-intr"; 1792 clocks = <&cru ACLK_CIFLITE>,<&cru HCLK_CIFLITE>, 1793 <&cru DCLK_CIFLITE>; 1794 clock-names = "aclk_cif_lite","hclk_cif_lite", 1795 "dclk_cif_lite"; 1796 resets = <&cru SRST_CIFLITE_A>, <&cru SRST_CIFLITE_H>, 1797 <&cru SRST_CIFLITE_D>, <&cru SRST_CIFLITE_RX_P>; 1798 reset-names = "rst_cif_lite_a", "rst_cif_lite_h", 1799 "rst_cif_lite_d", "rst_cif_lite_rx_p"; 1800 assigned-clocks = <&cru DCLK_CIFLITE>; 1801 assigned-clock-rates = <300000000>; 1802 power-domains = <&power RV1126_PD_VI>; 1803 iommus = <&rkcif_lite_mmu>; 1804 status = "disabled"; 1805 }; 1806 1807 rkcif_lite_mmu: iommu@ffae8800 { 1808 compatible = "rockchip,iommu"; 1809 reg = <0xffae8800 0x100>; 1810 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 1811 interrupt-names = "cif_lite_mmu"; 1812 clocks = <&cru ACLK_CIFLITE>, <&cru HCLK_CIFLITE>; 1813 clock-names = "aclk", "iface"; 1814 power-domains = <&power RV1126_PD_VI>; 1815 #iommu-cells = <0>; 1816 status = "disabled"; 1817 }; 1818 1819 rk_rga: rk_rga@ffaf0000 { 1820 compatible = "rockchip,rga2"; 1821 reg = <0xffaf0000 0x1000>; 1822 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 1823 clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_RGA_CORE>; 1824 clock-names = "aclk_rga", "hclk_rga", "clk_rga"; 1825 power-domains = <&power RV1126_PD_VO>; 1826 status = "disable"; 1827 }; 1828 1829 vop: vop@ffb00000 { 1830 compatible = "rockchip,rv1126-vop"; 1831 reg = <0xffb00000 0x200>, <0xffb00a00 0x400>; 1832 reg-names = "regs", "gamma_lut"; 1833 rockchip,grf = <&grf>; 1834 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 1835 clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>; 1836 clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 1837 iommus = <&vop_mmu>; 1838 power-domains = <&power RV1126_PD_VO>; 1839 status = "disabled"; 1840 1841 vop_out: port { 1842 #address-cells = <1>; 1843 #size-cells = <0>; 1844 1845 vop_out_rgb: endpoint@0 { 1846 reg = <0>; 1847 remote-endpoint = <&rgb_in_vop>; 1848 }; 1849 1850 vop_out_dsi: endpoint@1 { 1851 reg = <1>; 1852 remote-endpoint = <&dsi_in_vop>; 1853 }; 1854 }; 1855 }; 1856 1857 vop_mmu: iommu@ffb00f00 { 1858 compatible = "rockchip,iommu"; 1859 reg = <0xffb00f00 0x100>; 1860 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 1861 interrupt-names = "vop_mmu"; 1862 clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 1863 clock-names = "aclk", "iface"; 1864 #iommu-cells = <0>; 1865 rockchip,disable-device-link-resume; 1866 power-domains = <&power RV1126_PD_VO>; 1867 status = "disabled"; 1868 }; 1869 1870 mipi_csi2_hw: mipi-csi2-hw@ffb10000 { 1871 compatible = "rockchip,rv1126-mipi-csi2-hw"; 1872 reg = <0xffb10000 0x10000>; 1873 reg-names = "csihost_regs"; 1874 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 1875 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 1876 interrupt-names = "csi-intr1", "csi-intr2"; 1877 clocks = <&cru PCLK_CSIHOST>; 1878 clock-names = "pclk_csi2host"; 1879 resets = <&cru SRST_CSIHOST_P>; 1880 reset-names = "srst_csihost_p"; 1881 power-domains = <&power RV1126_PD_VI>; 1882 status = "disabled"; 1883 }; 1884 1885 iep: iep@ffb20000 { 1886 compatible = "rockchip,rv1126-iep", "rockchip,iep-v2"; 1887 reg = <0xffb20000 0x500>; 1888 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 1889 clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>, <&cru CLK_IEP_CORE>; 1890 clock-names = "aclk", "hclk", "sclk"; 1891 resets = <&cru SRST_IEP_A>, <&cru SRST_IEP_H>, 1892 <&cru SRST_IEP_CORE>; 1893 reset-names = "rst_a", "rst_h", "rst_s"; 1894 power-domains = <&power RV1126_PD_VO>; 1895 rockchip,srv = <&mpp_srv>; 1896 rockchip,taskqueue-node = <3>; 1897 rockchip,resetgroup-node = <3>; 1898 iommus = <&iep_mmu>; 1899 status = "disabled"; 1900 }; 1901 1902 iep_mmu: iommu@ffb20800 { 1903 compatible = "rockchip,iommu"; 1904 reg = <0xffb20800 0x100>; 1905 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 1906 interrupt-names = "iep_mmu"; 1907 clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>; 1908 clock-names = "aclk", "iface"; 1909 #iommu-cells = <0>; 1910 power-domains = <&power RV1126_PD_VO>; 1911 //rockchip,disable-device-link-resume; 1912 status = "disabled"; 1913 }; 1914 1915 dsi: dsi@ffb30000 { 1916 compatible = "rockchip,rv1126-mipi-dsi"; 1917 reg = <0xffb30000 0x500>; 1918 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 1919 clocks = <&cru PCLK_DSIHOST>, <&cru HCLK_PDVO>; 1920 clock-names = "pclk", "hclk"; 1921 resets = <&cru SRST_DSIHOST_P>; 1922 reset-names = "apb"; 1923 phys = <&mipi_dphy>; 1924 phy-names = "dphy"; 1925 rockchip,grf = <&grf>; 1926 #address-cells = <1>; 1927 #size-cells = <0>; 1928 power-domains = <&power RV1126_PD_VO>; 1929 status = "disabled"; 1930 1931 ports { 1932 port { 1933 dsi_in_vop: endpoint { 1934 remote-endpoint = <&vop_out_dsi>; 1935 }; 1936 }; 1937 }; 1938 }; 1939 1940 rkisp: rkisp@ffb50000 { 1941 compatible = "rockchip,rv1126-rkisp"; 1942 reg = <0xffb50000 0x10000>; 1943 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 1944 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 1945 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 1946 interrupt-names = "isp_irq", "mi_irq", "mipi_irq"; 1947 clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>, 1948 <&cru CLK_ISP>; 1949 clock-names = "aclk_isp", "hclk_isp", "clk_isp"; 1950 assigned-clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>; 1951 assigned-clock-rates = <500000000>, <250000000>; 1952 resets = <&cru SRST_ISP>, <&cru SRST_ISP_RX_P>; 1953 reset-names = "isp", "isp-rx-p"; 1954 power-domains = <&power RV1126_PD_VI>; 1955 iommus = <&rkisp_mmu>; 1956 memory-region = <&isp_reserved>; 1957 status = "disabled"; 1958 }; 1959 1960 rkisp_mmu: iommu@ffb51a00 { 1961 compatible = "rockchip,iommu"; 1962 reg = <0xffb51a00 0x100>; 1963 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 1964 interrupt-names = "isp_mmu"; 1965 clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>; 1966 clock-names = "aclk", "iface"; 1967 power-domains = <&power RV1126_PD_VI>; 1968 #iommu-cells = <0>; 1969 rockchip,disable-mmu-reset; 1970 status = "disabled"; 1971 }; 1972 1973 rkisp_vir0: rkisp-vir0 { 1974 compatible = "rockchip,rv1126-rkisp-vir"; 1975 rockchip,hw = <&rkisp>; 1976 status = "disabled"; 1977 1978 ports { 1979 #address-cells = <1>; 1980 #size-cells = <0>; 1981 1982 port@1 { 1983 reg = <1>; 1984 #address-cells = <1>; 1985 #size-cells = <0>; 1986 1987 isp0_out: endpoint@1 { 1988 reg = <1>; 1989 remote-endpoint = <&ispp0_in>; 1990 }; 1991 }; 1992 }; 1993 }; 1994 1995 rkisp_vir1: rkisp-vir1 { 1996 compatible = "rockchip,rv1126-rkisp-vir"; 1997 rockchip,hw = <&rkisp>; 1998 status = "disabled"; 1999 2000 ports { 2001 #address-cells = <1>; 2002 #size-cells = <0>; 2003 2004 port@1 { 2005 reg = <1>; 2006 #address-cells = <1>; 2007 #size-cells = <0>; 2008 2009 isp1_out: endpoint@1 { 2010 reg = <1>; 2011 remote-endpoint = <&ispp1_in>; 2012 }; 2013 }; 2014 }; 2015 }; 2016 2017 rkisp_vir2: rkisp-vir2 { 2018 compatible = "rockchip,rv1126-rkisp-vir"; 2019 rockchip,hw = <&rkisp>; 2020 status = "disabled"; 2021 2022 ports { 2023 #address-cells = <1>; 2024 #size-cells = <0>; 2025 2026 port@1 { 2027 reg = <1>; 2028 #address-cells = <1>; 2029 #size-cells = <0>; 2030 2031 isp2_out: endpoint@1 { 2032 reg = <1>; 2033 remote-endpoint = <&ispp2_in>; 2034 }; 2035 }; 2036 }; 2037 }; 2038 2039 rkispp: rkispp@ffb60000 { 2040 compatible = "rockchip,rv1126-rkispp"; 2041 reg = <0xffb60000 0x20000>; 2042 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>, 2043 <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 2044 interrupt-names = "ispp_irq", "fec_irq"; 2045 clocks = <&cru ACLK_ISPP>, <&cru HCLK_ISPP>, 2046 <&cru CLK_ISPP>; 2047 clock-names = "aclk_ispp", "hclk_ispp", "clk_ispp"; 2048 assigned-clocks = <&cru ACLK_ISPP>, <&cru HCLK_ISPP>, 2049 <&cru CLK_ISPP>; 2050 assigned-clock-rates = <500000000>, <250000000>, 2051 <400000000>; 2052 power-domains = <&power RV1126_PD_ISPP>; 2053 iommus = <&rkispp_mmu>; 2054 rockchip,restart-monitor-en; 2055 status = "disabled"; 2056 }; 2057 2058 rkispp_mmu: iommu@ffb60e00 { 2059 compatible = "rockchip,iommu"; 2060 reg = <0xffb60e00 0x40>, <0xffb60e40 0x40>, <0xffb60f00 0x40>; 2061 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, 2062 <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 2063 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 2064 interrupt-names = "ispp_mmu0_r", "ispp_mmu0_w", "ispp_mmu1"; 2065 clocks = <&cru ACLK_ISPP>, <&cru HCLK_ISPP>; 2066 clock-names = "aclk", "iface"; 2067 power-domains = <&power RV1126_PD_ISPP>; 2068 #iommu-cells = <0>; 2069 rockchip,disable-mmu-reset; 2070 status = "disabled"; 2071 }; 2072 2073 rkispp_vir0: rkispp-vir0 { 2074 compatible = "rockchip,rv1126-rkispp-vir"; 2075 rockchip,hw = <&rkispp>; 2076 status = "disabled"; 2077 2078 port { 2079 #address-cells = <1>; 2080 #size-cells = <0>; 2081 2082 ispp0_in: endpoint@0 { 2083 reg = <0>; 2084 remote-endpoint = <&isp0_out>; 2085 }; 2086 }; 2087 }; 2088 2089 rkispp_vir1: rkispp-vir1 { 2090 compatible = "rockchip,rv1126-rkispp-vir"; 2091 rockchip,hw = <&rkispp>; 2092 status = "disabled"; 2093 2094 port { 2095 #address-cells = <1>; 2096 #size-cells = <0>; 2097 2098 ispp1_in: endpoint@0 { 2099 reg = <0>; 2100 remote-endpoint = <&isp1_out>; 2101 }; 2102 }; 2103 }; 2104 2105 rkispp_vir2: rkispp-vir2 { 2106 compatible = "rockchip,rv1126-rkispp-vir"; 2107 rockchip,hw = <&rkispp>; 2108 status = "disabled"; 2109 2110 port { 2111 #address-cells = <1>; 2112 #size-cells = <0>; 2113 2114 ispp2_in: endpoint@0 { 2115 reg = <0>; 2116 remote-endpoint = <&isp2_out>; 2117 }; 2118 }; 2119 }; 2120 2121 rkvdec: rkvdec@ffb80000 { 2122 compatible = "rockchip,rkv-decoder-v1"; 2123 reg = <0xffb80000 0x400>; 2124 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 2125 interrupt-names = "irq_dec"; 2126 clocks = <&cru ACLK_VDEC>, <&cru HCLK_VDEC>, 2127 <&cru CLK_VDEC_CA>, <&cru CLK_VDEC_CORE>, 2128 <&cru CLK_VDEC_HEVC_CA>; 2129 clock-names = "aclk_vcodec", "hclk_vcodec","clk_cabac", 2130 "clk_core", "clk_hevc_cabac"; 2131 resets = <&cru SRST_VDEC_A>, <&cru SRST_VDEC_H>, 2132 <&cru SRST_VDEC_CA>, <&cru SRST_VDEC_CORE>, 2133 <&cru SRST_VDEC_HEVC_CA>; 2134 reset-names = "video_a", "video_h", "video_cabac", 2135 "video_core", "video_hevc_cabac"; 2136 power-domains = <&power RV1126_PD_VDPU>; 2137 iommus = <&rkvdec_mmu>; 2138 rockchip,srv = <&mpp_srv>; 2139 rockchip,taskqueue-node = <0>; 2140 rockchip,resetgroup-node = <0>; 2141 status = "disabled"; 2142 }; 2143 2144 rkvdec_mmu: iommu@ffb80480 { 2145 compatible = "rockchip,iommu"; 2146 reg = <0xffb80480 0x40>, <0xffb804c0 0x40>; 2147 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 2148 interrupt-names = "rkvdec_mmu"; 2149 clocks = <&cru ACLK_VDEC>, <&cru HCLK_VDEC>; 2150 clock-names = "aclk", "iface"; 2151 power-domains = <&power RV1126_PD_VDPU>; 2152 #iommu-cells = <0>; 2153 status = "disabled"; 2154 }; 2155 2156 vepu: vepu@ffb90000 { 2157 compatible = "rockchip,vpu-encoder-v2"; 2158 reg = <0xffb90000 0x400>; 2159 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 2160 clocks = <&cru ACLK_JPEG>, <&cru HCLK_JPEG>; 2161 clock-names = "aclk_vcodec", "hclk_vcodec"; 2162 rockchip,normal-rates = <400000000>, <0>; 2163 rockchip,advanced-rates = <500000000>, <0>; 2164 rockchip,default-max-load = <2088960>; 2165 resets = <&cru SRST_JPEG_A>, <&cru SRST_JPEG_H>; 2166 reset-names = "shared_video_a", "shared_video_h"; 2167 iommus = <&vpu_mmu>; 2168 rockchip,srv = <&mpp_srv>; 2169 rockchip,taskqueue-node = <1>; 2170 rockchip,resetgroup-node = <1>; 2171 power-domains = <&power RV1126_PD_VDPU>; 2172 status = "disabled"; 2173 }; 2174 2175 vdpu: vdpu@ffb90400 { 2176 compatible = "rockchip,vpu-decoder-v2"; 2177 reg = <0xffb90400 0x400>; 2178 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 2179 interrupt-names = "irq_dec"; 2180 clocks = <&cru ACLK_JPEG>, <&cru HCLK_JPEG>; 2181 clock-names = "aclk_vcodec", "hclk_vcodec"; 2182 resets = <&cru SRST_JPEG_A>, <&cru SRST_JPEG_H>; 2183 reset-names = "shared_video_a", "shared_video_h"; 2184 iommus = <&vpu_mmu>; 2185 power-domains = <&power RV1126_PD_VDPU>; 2186 rockchip,srv = <&mpp_srv>; 2187 rockchip,taskqueue-node = <1>; 2188 rockchip,resetgroup-node = <1>; 2189 status = "disabled"; 2190 }; 2191 2192 vpu_mmu: iommu@ffb90800 { 2193 compatible = "rockchip,iommu"; 2194 reg = <0xffb90800 0x40>; 2195 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 2196 interrupt-names = "vpu_mmu"; 2197 clock-names = "aclk", "iface"; 2198 clocks = <&cru ACLK_JPEG>, <&cru HCLK_JPEG>; 2199 power-domains = <&power RV1126_PD_VDPU>; 2200 #iommu-cells = <0>; 2201 status = "disabled"; 2202 }; 2203 2204 rkvenc: rkvenc@ffbb0000 { 2205 compatible = "rockchip,rkv-encoder-v1"; 2206 reg = <0xffbb0000 0x400>; 2207 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 2208 interrupt-names = "irq_enc"; 2209 clocks = <&cru ACLK_VENC>, <&cru HCLK_VENC>, 2210 <&cru CLK_VENC_CORE>; 2211 clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; 2212 rockchip,normal-rates = <297000000>, <0>, <396000000>; 2213 rockchip,advanced-rates = <297000000>, <0>, <594000000>; 2214 rockchip,default-max-load = <2088960>; 2215 resets = <&cru SRST_VENC_A>, <&cru SRST_VENC_H>, 2216 <&cru SRST_VENC_CORE>; 2217 reset-names = "video_a", "video_h", "video_core"; 2218 assigned-clocks = <&cru ACLK_VENC>, <&cru CLK_VENC_CORE>; 2219 assigned-clock-rates = <297000000>, <396000000>; 2220 operating-points-v2 = <&rkvenc_opp_table>; 2221 dynamic-power-coefficient = <1418>; 2222 #cooling-cells = <2>; 2223 iommus = <&rkvenc_mmu>; 2224 node-name = "rkvenc"; 2225 rockchip,srv = <&mpp_srv>; 2226 rockchip,taskqueue-node = <2>; 2227 rockchip,resetgroup-node = <2>; 2228 power-domains = <&power RV1126_PD_VEPU>; 2229 status = "disabled"; 2230 }; 2231 2232 rkvenc_opp_table: rkvenc-opp-table { 2233 compatible = "operating-points-v2"; 2234 2235 nvmem-cells = <&venc_leakage>, <&venc_performance>; 2236 nvmem-cell-names = "leakage", "performance"; 2237 2238 rockchip,temp-freq-table = < 2239 80000 500000 2240 100000 396000 2241 >; 2242 2243 clocks = <&pmucru PLL_GPLL>; 2244 rockchip,bin-scaling-sel = < 2245 0 37 2246 1 40 2247 >; 2248 rockchip,bin-voltage-sel = < 2249 1 0 2250 >; 2251 2252 rockchip,evb-irdrop = <25000>; 2253 2254 /* The source clock is CLK_VENC_CORE */ 2255 opp-297000000 { 2256 opp-hz = /bits/ 64 <297000000>; 2257 opp-microvolt = <725000 725000 1000000>; 2258 opp-microvolt-L0 = <750000 750000 1000000>; 2259 }; 2260 opp-396000000 { 2261 opp-hz = /bits/ 64 <396000000>; 2262 opp-microvolt = <725000 725000 1000000>; 2263 opp-microvolt-L0 = <775000 775000 1000000>; 2264 }; 2265 opp-500000000 { 2266 opp-hz = /bits/ 64 <500000000>; 2267 opp-microvolt = <750000 750000 1000000>; 2268 opp-microvolt-L0 = <800000 800000 1000000>; 2269 }; 2270 opp-594000000 { 2271 opp-hz = /bits/ 64 <594000000>; 2272 opp-microvolt = <825000 825000 1000000>; 2273 }; 2274 }; 2275 2276 rkvenc_mmu: iommu@ffbb0f00 { 2277 compatible = "rockchip,iommu"; 2278 reg = <0xffbb0f00 0x40>, <0xffbb0f40 0x40>; 2279 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 2280 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 2281 interrupt-names = "rkvenc_mmu0", "rkvenc_mmu1"; 2282 clocks = <&cru ACLK_VENC>, <&cru HCLK_VENC>; 2283 clock-names = "aclk", "iface"; 2284 rockchip,disable-mmu-reset; 2285 rockchip,enable-cmd-retry; 2286 #iommu-cells = <0>; 2287 power-domains = <&power RV1126_PD_VEPU>; 2288 status = "disabled"; 2289 }; 2290 2291 pvtm@ffc00000 { 2292 compatible = "rockchip,rv1126-npu-pvtm"; 2293 reg = <0xffc00000 0x100>; 2294 #address-cells = <1>; 2295 #size-cells = <0>; 2296 2297 pvtm@1 { 2298 reg = <1>; 2299 clocks = <&cru CLK_NPUPVTM>, <&cru PCLK_NPUPVTM>; 2300 clock-names = "clk", "pclk"; 2301 resets = <&cru SRST_NPUPVTM>, <&cru SRST_NPUPVTM_P>; 2302 reset-names = "rts", "rst-p"; 2303 }; 2304 }; 2305 2306 gmac: ethernet@ffc40000 { 2307 compatible = "rockchip,rv1126-gmac", "snps,dwmac-4.20a"; 2308 reg = <0xffc40000 0x0ffff>; 2309 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 2310 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 2311 interrupt-names = "macirq", "eth_wake_irq"; 2312 rockchip,grf = <&grf>; 2313 clocks = <&cru CLK_GMAC_SRC>, <&cru CLK_GMAC_TX_RX>, 2314 <&cru CLK_GMAC_TX_RX>, <&cru CLK_GMAC_REF>, 2315 <&cru ACLK_GMAC>, <&cru PCLK_GMAC>, 2316 <&cru CLK_GMAC_TX_RX>, <&cru CLK_GMAC_PTPREF>; 2317 clock-names = "stmmaceth", "mac_clk_rx", 2318 "mac_clk_tx", "clk_mac_ref", 2319 "aclk_mac", "pclk_mac", 2320 "clk_mac_speed", "ptp_ref"; 2321 resets = <&cru SRST_GMAC_A>; 2322 reset-names = "stmmaceth"; 2323 2324 snps,mixed-burst; 2325 snps,tso; 2326 2327 snps,axi-config = <&stmmac_axi_setup>; 2328 snps,mtl-rx-config = <&mtl_rx_setup>; 2329 snps,mtl-tx-config = <&mtl_tx_setup>; 2330 status = "disabled"; 2331 2332 mdio: mdio { 2333 compatible = "snps,dwmac-mdio"; 2334 #address-cells = <0x1>; 2335 #size-cells = <0x0>; 2336 }; 2337 2338 stmmac_axi_setup: stmmac-axi-config { 2339 snps,wr_osr_lmt = <4>; 2340 snps,rd_osr_lmt = <8>; 2341 snps,blen = <0 0 0 0 16 8 4>; 2342 }; 2343 2344 mtl_rx_setup: rx-queues-config { 2345 snps,rx-queues-to-use = <1>; 2346 queue0 {}; 2347 }; 2348 2349 mtl_tx_setup: tx-queues-config { 2350 snps,tx-queues-to-use = <1>; 2351 queue0 {}; 2352 }; 2353 }; 2354 2355 emmc: dwmmc@ffc50000 { 2356 compatible = "rockchip,rv1126-dw-mshc", "rockchip,rk3288-dw-mshc"; 2357 reg = <0xffc50000 0x4000>; 2358 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 2359 clocks = <&cru HCLK_EMMC>, <&cru CLK_EMMC>, 2360 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 2361 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 2362 fifo-depth = <0x100>; 2363 max-frequency = <200000000>; 2364 pinctrl-names = "default"; 2365 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 2366 power-domains = <&power RV1126_PD_NVM>; 2367 rockchip,use-v2-tuning; 2368 status = "disabled"; 2369 }; 2370 2371 sdmmc: dwmmc@ffc60000 { 2372 compatible = "rockchip,rv1126-dw-mshc", "rockchip,rk3288-dw-mshc"; 2373 reg = <0xffc60000 0x4000>; 2374 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 2375 clocks = <&cru HCLK_SDMMC>, <&cru CLK_SDMMC>, 2376 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 2377 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 2378 fifo-depth = <0x100>; 2379 max-frequency = <200000000>; 2380 pinctrl-names = "normal", "idle"; 2381 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>; 2382 pinctrl-1 = <&sdmmc0_idle_pins &sdmmc0_det>; 2383 status = "disabled"; 2384 }; 2385 2386 sdio: dwmmc@ffc70000 { 2387 compatible = "rockchip,rv1126-dw-mshc", "rockchip,rk3288-dw-mshc"; 2388 reg = <0xffc70000 0x4000>; 2389 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 2390 clocks = <&cru HCLK_SDIO>, <&cru CLK_SDIO>, 2391 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 2392 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 2393 fifo-depth = <0x100>; 2394 max-frequency = <200000000>; 2395 pinctrl-names = "default"; 2396 pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; 2397 power-domains = <&power RV1126_PD_SDIO>; 2398 status = "disabled"; 2399 }; 2400 2401 nandc: nandc@ffc80000 { 2402 compatible = "rockchip,rk-nandc"; 2403 reg = <0xffc80000 0x4000>; 2404 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 2405 nandc_id = <0>; 2406 clocks = <&cru CLK_NANDC>, <&cru HCLK_NANDC>; 2407 clock-names = "clk_nandc", "hclk_nandc"; 2408 pinctrl-names = "default"; 2409 pinctrl-0 = <&flash_pins>; 2410 power-domains = <&power RV1126_PD_NVM>; 2411 status = "disabled"; 2412 }; 2413 2414 sfc: spi@ffc90000 { 2415 compatible = "rockchip,sfc"; 2416 reg = <0xffc90000 0x4000>; 2417 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 2418 clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 2419 clock-names = "clk_sfc", "hclk_sfc"; 2420 pinctrl-names = "default"; 2421 pinctrl-0 = <&fspi_pins>; 2422 assigned-clocks = <&cru SCLK_SFC>; 2423 assigned-clock-rates = <80000000>; 2424 power-domains = <&power RV1126_PD_NVM>; 2425 #address-cells = <1>; 2426 #size-cells = <0>; 2427 status = "disabled"; 2428 }; 2429 2430 npu: npu@ffbc0000 { 2431 compatible = "rockchip,npu"; 2432 reg = <0xffbc0000 0x4000>; 2433 clocks = <&cru ACLK_NPU>, <&cru HCLK_NPU>, <&cru PCLK_PDNPU>, <&cru CLK_CORE_NPU>; 2434 clock-names = "aclk_npu", "hclk_npu", "pclk_pdnpu", "sclk_npu"; 2435 assigned-clocks = <&cru CLK_CORE_NPU>, <&cru ACLK_NPU>; 2436 assigned-clock-rates = <396000000>, <600000000>; 2437 operating-points-v2 = <&npu_opp_table>; 2438 dynamic-power-coefficient = <1343>; 2439 #cooling-cells = <2>; 2440 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 2441 power-domains = <&power RV1126_PD_NPU>; 2442 status = "disabled"; 2443 }; 2444 2445 npu_opp_table: npu-opp-table { 2446 compatible = "operating-points-v2"; 2447 2448 nvmem-cells = <&npu_leakage>, <&npu_performance>; 2449 nvmem-cell-names = "leakage", "performance"; 2450 2451 rockchip,temp-freq-table = < 2452 80000 600000 2453 90000 396000 2454 100000 300000 2455 >; 2456 2457 clocks = <&pmucru PLL_GPLL>; 2458 rockchip,bin-scaling-sel = < 2459 0 23 2460 1 37 2461 2 37 2462 >; 2463 rockchip,bin-voltage-sel = < 2464 2 0 2465 >; 2466 rockchip,pvtm-voltage-sel = < 2467 0 108500 1 2468 108501 113500 2 2469 113501 999999 3 2470 >; 2471 rockchip,pvtm-freq = <396000>; 2472 rockchip,pvtm-volt = <800000>; 2473 rockchip,pvtm-ch = <1 0>; 2474 rockchip,pvtm-sample-time = <1000>; 2475 rockchip,pvtm-number = <10>; 2476 rockchip,pvtm-error = <1000>; 2477 rockchip,pvtm-ref-temp = <37>; 2478 rockchip,pvtm-temp-prop = <(-29) 0>; 2479 rockchip,pvtm-thermal-zone = "npu-thermal"; 2480 2481 opp-200000000 { 2482 opp-hz = /bits/ 64 <200000000>; 2483 opp-microvolt = <750000 750000 1000000>; 2484 opp-microvolt-L0 = <775000 775000 1000000>; 2485 }; 2486 opp-300000000 { 2487 opp-hz = /bits/ 64 <300000000>; 2488 opp-microvolt = <750000 750000 1000000>; 2489 opp-microvolt-L0 = <775000 775000 1000000>; 2490 }; 2491 opp-396000000 { 2492 opp-hz = /bits/ 64 <396000000>; 2493 opp-microvolt = <750000 750000 1000000>; 2494 opp-microvolt-L0 = <775000 775000 1000000>; 2495 }; 2496 opp-500000000 { 2497 opp-hz = /bits/ 64 <500000000>; 2498 opp-microvolt = <750000 750000 1000000>; 2499 opp-microvolt-L0 = <775000 775000 1000000>; 2500 }; 2501 opp-600000000 { 2502 opp-hz = /bits/ 64 <600000000>; 2503 opp-microvolt = <750000 750000 1000000>; 2504 opp-microvolt-L0 = <775000 775000 1000000>; 2505 }; 2506 opp-700000000 { 2507 opp-hz = /bits/ 64 <700000000>; 2508 opp-microvolt = <800000 800000 1000000>; 2509 opp-microvolt-L1 = <800000 800000 1000000>; 2510 opp-microvolt-L2 = <775000 775000 1000000>; 2511 opp-microvolt-L3 = <750000 750000 1000000>; 2512 }; 2513 opp-800000000 { 2514 opp-hz = /bits/ 64 <800000000>; 2515 opp-microvolt = <850000 850000 1000000>; 2516 opp-microvolt-L1 = <850000 850000 1000000>; 2517 opp-microvolt-L2 = <825000 825000 1000000>; 2518 opp-microvolt-L3 = <800000 800000 1000000>; 2519 }; 2520 opp-934000000 { 2521 opp-hz = /bits/ 64 <934000000>; 2522 opp-microvolt = <950000 950000 1000000>; 2523 opp-microvolt-L1 = <950000 950000 1000000>; 2524 opp-microvolt-L2 = <925000 925000 1000000>; 2525 opp-microvolt-L3 = <900000 900000 1000000>; 2526 }; 2527 }; 2528 2529 usbdrd: usb0 { 2530 compatible = "rockchip,rv1126-dwc3", "rockchip,rk3399-dwc3"; 2531 #address-cells = <1>; 2532 #size-cells = <1>; 2533 ranges; 2534 clocks = <&cru CLK_USBOTG_REF>, <&cru ACLK_USBOTG>, 2535 <&cru HCLK_PDUSB>; 2536 clock-names = "ref_clk", "bus_clk", "hclk"; 2537 status = "disabled"; 2538 2539 usbdrd_dwc3: dwc3@ffd00000 { 2540 compatible = "snps,dwc3"; 2541 reg = <0xffd00000 0x100000>; 2542 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 2543 dr_mode = "otg"; 2544 maximum-speed = "high-speed"; 2545 phys = <&u2phy_otg>; 2546 phy-names = "usb2-phy"; 2547 phy_type = "utmi_wide"; 2548 power-domains = <&power RV1126_PD_USB>; 2549 resets = <&cru SRST_USBOTG_A>; 2550 reset-names = "usb3-otg"; 2551 snps,dis_enblslpm_quirk; 2552 snps,dis-u2-freeclk-exists-quirk; 2553 snps,dis_u2_susphy_quirk; 2554 snps,dis-del-phy-power-chg-quirk; 2555 snps,tx-ipgap-linecheck-dis-quirk; 2556 snps,tx-fifo-resize; 2557 snps,xhci-trb-ent-quirk; 2558 snps,usb2-lpm-disable; 2559 status = "disabled"; 2560 }; 2561 }; 2562 2563 usb_host0_ehci: usb@ffe00000 { 2564 compatible = "generic-ehci"; 2565 reg = <0xffe00000 0x10000>; 2566 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 2567 clocks = <&cru HCLK_USBHOST>, <&cru HCLK_USBHOST_ARB>, 2568 <&u2phy1>; 2569 clock-names = "usbhost", "arbiter", "utmi"; 2570 phys = <&u2phy_host>; 2571 phy-names = "usb"; 2572 power-domains = <&power RV1126_PD_USB>; 2573 status = "disabled"; 2574 }; 2575 2576 usb_host0_ohci: usb@ffe10000 { 2577 compatible = "generic-ohci"; 2578 reg = <0xffe10000 0x10000>; 2579 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 2580 clocks = <&cru HCLK_USBHOST>, <&cru HCLK_USBHOST_ARB>, 2581 <&u2phy1>; 2582 clock-names = "usbhost", "arbiter", "utmi"; 2583 phys = <&u2phy_host>; 2584 phy-names = "usb"; 2585 power-domains = <&power RV1126_PD_USB>; 2586 status = "disabled"; 2587 }; 2588 2589 pinctrl: pinctrl { 2590 compatible = "rockchip,rv1126-pinctrl"; 2591 rockchip,grf = <&grf>; 2592 rockchip,pmu = <&pmugrf>; 2593 #address-cells = <1>; 2594 #size-cells = <1>; 2595 ranges; 2596 2597 gpio0: gpio0@ff460000 { 2598 compatible = "rockchip,gpio-bank"; 2599 reg = <0xff460000 0x100>; 2600 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 2601 clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>; 2602 2603 gpio-controller; 2604 #gpio-cells = <2>; 2605 2606 interrupt-controller; 2607 #interrupt-cells = <2>; 2608 }; 2609 2610 gpio1: gpio1@ff620000 { 2611 compatible = "rockchip,gpio-bank"; 2612 reg = <0xff620000 0x100>; 2613 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 2614 clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 2615 2616 gpio-controller; 2617 #gpio-cells = <2>; 2618 2619 interrupt-controller; 2620 #interrupt-cells = <2>; 2621 }; 2622 2623 gpio2: gpio2@ff630000 { 2624 compatible = "rockchip,gpio-bank"; 2625 reg = <0xff630000 0x100>; 2626 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 2627 clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 2628 2629 gpio-controller; 2630 #gpio-cells = <2>; 2631 2632 interrupt-controller; 2633 #interrupt-cells = <2>; 2634 }; 2635 2636 gpio3: gpio3@ff640000 { 2637 compatible = "rockchip,gpio-bank"; 2638 reg = <0xff640000 0x100>; 2639 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 2640 clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 2641 2642 gpio-controller; 2643 #gpio-cells = <2>; 2644 2645 interrupt-controller; 2646 #interrupt-cells = <2>; 2647 }; 2648 2649 gpio4: gpio4@ff650000 { 2650 compatible = "rockchip,gpio-bank"; 2651 reg = <0xff650000 0x100>; 2652 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 2653 clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 2654 2655 gpio-controller; 2656 #gpio-cells = <2>; 2657 2658 interrupt-controller; 2659 #interrupt-cells = <2>; 2660 }; 2661 }; 2662}; 2663 2664#include "rv1126-pinctrl.dtsi" 2665 2666