1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * (C) Copyright 2017 Rockchip Electronics Co. 4 */ 5 6 #include <dt-bindings/clock/rk3128-cru.h> 7 #include <dt-bindings/gpio/gpio.h> 8 #include <dt-bindings/interrupt-controller/arm 9 #include <dt-bindings/interrupt-controller/irq 10 #include <dt-bindings/pinctrl/rockchip.h> 11 #include <dt-bindings/power/rk3128-power.h> 12 13 / { 14 compatible = "rockchip,rk3128"; 15 interrupt-parent = <&gic>; 16 #address-cells = <1>; 17 #size-cells = <1>; 18 19 aliases { 20 gpio0 = &gpio0; 21 gpio1 = &gpio1; 22 gpio2 = &gpio2; 23 gpio3 = &gpio3; 24 i2c0 = &i2c0; 25 i2c1 = &i2c1; 26 i2c2 = &i2c2; 27 i2c3 = &i2c3; 28 serial0 = &uart0; 29 serial1 = &uart1; 30 serial2 = &uart2; 31 }; 32 33 arm-pmu { 34 compatible = "arm,cortex-a7-pm 35 interrupts = <GIC_SPI 76 IRQ_T 36 <GIC_SPI 77 IRQ_T 37 <GIC_SPI 78 IRQ_T 38 <GIC_SPI 79 IRQ_T 39 interrupt-affinity = <&cpu0>, 40 }; 41 42 cpus { 43 #address-cells = <1>; 44 #size-cells = <0>; 45 enable-method = "rockchip,rk30 46 47 cpu0: cpu@f00 { 48 device_type = "cpu"; 49 compatible = "arm,cort 50 reg = <0xf00>; 51 clock-latency = <40000 52 clocks = <&cru ARMCLK> 53 resets = <&cru SRST_CO 54 operating-points-v2 = 55 #cooling-cells = <2>; 56 }; 57 58 cpu1: cpu@f01 { 59 device_type = "cpu"; 60 compatible = "arm,cort 61 reg = <0xf01>; 62 resets = <&cru SRST_CO 63 operating-points-v2 = 64 }; 65 66 cpu2: cpu@f02 { 67 device_type = "cpu"; 68 compatible = "arm,cort 69 reg = <0xf02>; 70 resets = <&cru SRST_CO 71 operating-points-v2 = 72 }; 73 74 cpu3: cpu@f03 { 75 device_type = "cpu"; 76 compatible = "arm,cort 77 reg = <0xf03>; 78 resets = <&cru SRST_CO 79 operating-points-v2 = 80 }; 81 }; 82 83 cpu_opp_table: opp-table-0 { 84 compatible = "operating-points 85 opp-shared; 86 87 opp-216000000 { 88 opp-hz = /bits/ 64 <21 89 opp-microvolt = <95000 90 }; 91 opp-408000000 { 92 opp-hz = /bits/ 64 <40 93 opp-microvolt = <95000 94 }; 95 opp-600000000 { 96 opp-hz = /bits/ 64 <60 97 opp-microvolt = <95000 98 }; 99 opp-696000000 { 100 opp-hz = /bits/ 64 <69 101 opp-microvolt = <97500 102 }; 103 opp-816000000 { 104 opp-hz = /bits/ 64 <81 105 opp-microvolt = <10750 106 opp-suspend; 107 }; 108 opp-1008000000 { 109 opp-hz = /bits/ 64 <10 110 opp-microvolt = <12000 111 }; 112 opp-1200000000 { 113 opp-hz = /bits/ 64 <12 114 opp-microvolt = <13250 115 }; 116 }; 117 118 display_subsystem: display-subsystem { 119 compatible = "rockchip,display 120 ports = <&vop_out>; 121 status = "disabled"; 122 }; 123 124 gpu_opp_table: opp-table-1 { 125 compatible = "operating-points 126 127 opp-200000000 { 128 opp-hz = /bits/ 64 <20 129 opp-microvolt = <97500 130 }; 131 opp-300000000 { 132 opp-hz = /bits/ 64 <30 133 opp-microvolt = <10500 134 }; 135 opp-400000000 { 136 opp-hz = /bits/ 64 <40 137 opp-microvolt = <11500 138 }; 139 opp-480000000 { 140 opp-hz = /bits/ 64 <48 141 opp-microvolt = <12500 142 }; 143 }; 144 145 timer { 146 compatible = "arm,armv7-timer" 147 interrupts = <GIC_PPI 13 (GIC_ 148 <GIC_PPI 14 (GIC_ 149 <GIC_PPI 11 (GIC_ 150 <GIC_PPI 10 (GIC_ 151 arm,cpu-registers-not-fw-confi 152 clock-frequency = <24000000>; 153 }; 154 155 xin24m: oscillator { 156 compatible = "fixed-clock"; 157 clock-frequency = <24000000>; 158 clock-output-names = "xin24m"; 159 #clock-cells = <0>; 160 }; 161 162 imem: sram@10080000 { 163 compatible = "mmio-sram"; 164 reg = <0x10080000 0x2000>; 165 #address-cells = <1>; 166 #size-cells = <1>; 167 ranges = <0 0x10080000 0x2000> 168 169 smp-sram@0 { 170 compatible = "rockchip 171 reg = <0x00 0x10>; 172 }; 173 }; 174 175 gpu: gpu@10090000 { 176 compatible = "rockchip,rk3128- 177 reg = <0x10090000 0x10000>; 178 interrupts = <GIC_SPI 3 IRQ_TY 179 <GIC_SPI 4 IRQ_TY 180 <GIC_SPI 5 IRQ_TY 181 <GIC_SPI 4 IRQ_TY 182 <GIC_SPI 5 IRQ_TY 183 <GIC_SPI 4 IRQ_TY 184 interrupt-names = "gp", 185 "gpmmu", 186 "pp0", 187 "ppmmu0", 188 "pp1", 189 "ppmmu1"; 190 clocks = <&cru ACLK_GPU>, <&cr 191 clock-names = "bus", "core"; 192 operating-points-v2 = <&gpu_op 193 resets = <&cru SRST_GPU>; 194 power-domains = <&power RK3128 195 status = "disabled"; 196 }; 197 198 pmu: syscon@100a0000 { 199 compatible = "rockchip,rk3128- 200 reg = <0x100a0000 0x1000>; 201 202 power: power-controller { 203 compatible = "rockchip 204 #power-domain-cells = 205 #address-cells = <1>; 206 #size-cells = <0>; 207 208 power-domain@RK3128_PD 209 reg = <RK3128_ 210 clocks = <&cru 211 <&cru 212 <&cru 213 <&cru 214 <&cru 215 <&cru 216 <&cru 217 <&cru 218 <&cru 219 <&cru 220 <&cru 221 <&cru 222 <&cru 223 <&cru 224 <&cru 225 <&cru 226 <&cru 227 <&cru 228 <&cru 229 pm_qos = <&qos 230 <&qos 231 <&qos 232 <&qos 233 <&qos 234 #power-domain- 235 }; 236 237 power-domain@RK3128_PD 238 reg = <RK3128_ 239 clocks = <&cru 240 <&cru 241 <&cru 242 <&cru 243 <&cru 244 pm_qos = <&qos 245 #power-domain- 246 }; 247 248 power-domain@RK3128_PD 249 reg = <RK3128_ 250 clocks = <&cru 251 pm_qos = <&qos 252 #power-domain- 253 }; 254 }; 255 }; 256 257 vpu: video-codec@10106000 { 258 compatible = "rockchip,rk3128- 259 reg = <0x10106000 0x800>; 260 interrupts = <GIC_SPI 6 IRQ_TY 261 <GIC_SPI 7 IRQ_TY 262 interrupt-names = "vepu", "vdp 263 clocks = <&cru ACLK_VDPU>, <&c 264 <&cru ACLK_VEPU>, <&c 265 clock-names = "aclk_vdpu", "hc 266 "aclk_vepu", "hc 267 iommus = <&vpu_mmu>; 268 power-domains = <&power RK3128 269 }; 270 271 vpu_mmu: iommu@10106800 { 272 compatible = "rockchip,iommu"; 273 reg = <0x10106800 0x100>; 274 interrupts = <GIC_SPI 67 IRQ_T 275 clocks = <&cru ACLK_VEPU>, <&c 276 clock-names = "aclk", "iface"; 277 power-domains = <&power RK3128 278 #iommu-cells = <0>; 279 }; 280 281 vop: vop@1010e000 { 282 compatible = "rockchip,rk3126- 283 reg = <0x1010e000 0x300>; 284 interrupts = <GIC_SPI 9 IRQ_TY 285 clocks = <&cru ACLK_LCDC0>, <& 286 <&cru HCLK_LCDC0>; 287 clock-names = "aclk_vop", "dcl 288 "hclk_vop"; 289 resets = <&cru SRST_VOP_A>, <& 290 <&cru SRST_VOP_D>; 291 reset-names = "axi", "ahb", 292 "dclk"; 293 power-domains = <&power RK3128 294 status = "disabled"; 295 296 vop_out: port { 297 #address-cells = <1>; 298 #size-cells = <0>; 299 300 vop_out_hdmi: endpoint 301 reg = <0>; 302 remote-endpoin 303 }; 304 305 vop_out_dsi: endpoint@ 306 reg = <1>; 307 remote-endpoin 308 }; 309 }; 310 }; 311 312 dsi: dsi@10110000 { 313 compatible = "rockchip,rk3128- 314 reg = <0x10110000 0x4000>; 315 interrupts = <GIC_SPI 33 IRQ_T 316 clocks = <&cru PCLK_MIPI>; 317 clock-names = "pclk"; 318 phys = <&dphy>; 319 phy-names = "dphy"; 320 power-domains = <&power RK3128 321 resets = <&cru SRST_VIO_MIPI_D 322 reset-names = "apb"; 323 rockchip,grf = <&grf>; 324 status = "disabled"; 325 326 ports { 327 #address-cells = <1>; 328 #size-cells = <0>; 329 330 dsi_in: port@0 { 331 reg = <0>; 332 333 dsi_in_vop: en 334 remote 335 }; 336 }; 337 338 dsi_out: port@1 { 339 reg = <1>; 340 }; 341 }; 342 }; 343 344 qos_gpu: qos@1012d000 { 345 compatible = "rockchip,rk3128- 346 reg = <0x1012d000 0x20>; 347 }; 348 349 qos_vpu: qos@1012e000 { 350 compatible = "rockchip,rk3128- 351 reg = <0x1012e000 0x20>; 352 }; 353 354 qos_rga: qos@1012f000 { 355 compatible = "rockchip,rk3128- 356 reg = <0x1012f000 0x20>; 357 }; 358 359 qos_ebc: qos@1012f080 { 360 compatible = "rockchip,rk3128- 361 reg = <0x1012f080 0x20>; 362 }; 363 364 qos_iep: qos@1012f100 { 365 compatible = "rockchip,rk3128- 366 reg = <0x1012f100 0x20>; 367 }; 368 369 qos_lcdc: qos@1012f180 { 370 compatible = "rockchip,rk3128- 371 reg = <0x1012f180 0x20>; 372 }; 373 374 qos_vip: qos@1012f200 { 375 compatible = "rockchip,rk3128- 376 reg = <0x1012f200 0x20>; 377 }; 378 379 gic: interrupt-controller@10139000 { 380 compatible = "arm,cortex-a7-gi 381 reg = <0x10139000 0x1000>, 382 <0x1013a000 0x1000>, 383 <0x1013c000 0x2000>, 384 <0x1013e000 0x2000>; 385 interrupts = <GIC_PPI 9 (GIC_C 386 interrupt-controller; 387 #interrupt-cells = <3>; 388 #address-cells = <0>; 389 }; 390 391 usb_otg: usb@10180000 { 392 compatible = "rockchip,rk3128- 393 reg = <0x10180000 0x40000>; 394 interrupts = <GIC_SPI 10 IRQ_T 395 clocks = <&cru HCLK_OTG>; 396 clock-names = "otg"; 397 dr_mode = "otg"; 398 g-np-tx-fifo-size = <16>; 399 g-rx-fifo-size = <280>; 400 g-tx-fifo-size = <256 128 128 401 phys = <&usb2phy_otg>; 402 phy-names = "usb2-phy"; 403 status = "disabled"; 404 }; 405 406 usb_host_ehci: usb@101c0000 { 407 compatible = "generic-ehci"; 408 reg = <0x101c0000 0x20000>; 409 interrupts = <GIC_SPI 11 IRQ_T 410 clocks = <&cru HCLK_HOST2>; 411 phys = <&usb2phy_host>; 412 phy-names = "usb"; 413 status = "disabled"; 414 }; 415 416 usb_host_ohci: usb@101e0000 { 417 compatible = "generic-ohci"; 418 reg = <0x101e0000 0x20000>; 419 interrupts = <GIC_SPI 32 IRQ_T 420 clocks = <&cru HCLK_HOST2>; 421 phys = <&usb2phy_host>; 422 phy-names = "usb"; 423 status = "disabled"; 424 }; 425 426 i2s_8ch: i2s@10200000 { 427 compatible = "rockchip,rk3128- 428 reg = <0x10200000 0x1000>; 429 interrupts = <GIC_SPI 68 IRQ_T 430 clocks = <&cru SCLK_I2S0>, <&c 431 clock-names = "i2s_clk", "i2s_ 432 dmas = <&pdma 14>, <&pdma 15>; 433 dma-names = "tx", "rx"; 434 #sound-dai-cells = <0>; 435 status = "disabled"; 436 }; 437 438 spdif: spdif@10204000 { 439 compatible = "rockchip,rk3128- 440 reg = <0x10204000 0x1000>; 441 interrupts = <GIC_SPI 55 IRQ_T 442 clocks = <&cru SCLK_SPDIF>, <& 443 clock-names = "mclk", "hclk"; 444 dmas = <&pdma 13>; 445 dma-names = "tx"; 446 pinctrl-names = "default"; 447 pinctrl-0 = <&spdif_tx>; 448 #sound-dai-cells = <0>; 449 status = "disabled"; 450 }; 451 452 sfc: spi@1020c000 { 453 compatible = "rockchip,sfc"; 454 reg = <0x1020c000 0x8000>; 455 interrupts = <GIC_SPI 50 IRQ_T 456 clocks = <&cru SCLK_SFC>, <&cr 457 clock-names = "clk_sfc", "hclk 458 status = "disabled"; 459 }; 460 461 sdmmc: mmc@10214000 { 462 compatible = "rockchip,rk3128- 463 reg = <0x10214000 0x4000>; 464 interrupts = <GIC_SPI 14 IRQ_T 465 clocks = <&cru HCLK_SDMMC>, <& 466 <&cru SCLK_SDMMC_DRV> 467 clock-names = "biu", "ciu", "c 468 dmas = <&pdma 10>; 469 dma-names = "rx-tx"; 470 fifo-depth = <256>; 471 max-frequency = <150000000>; 472 resets = <&cru SRST_SDMMC>; 473 reset-names = "reset"; 474 status = "disabled"; 475 }; 476 477 sdio: mmc@10218000 { 478 compatible = "rockchip,rk3128- 479 reg = <0x10218000 0x4000>; 480 interrupts = <GIC_SPI 15 IRQ_T 481 clocks = <&cru HCLK_SDIO>, <&c 482 <&cru SCLK_SDIO_DRV>, 483 clock-names = "biu", "ciu", "c 484 dmas = <&pdma 11>; 485 dma-names = "rx-tx"; 486 fifo-depth = <256>; 487 max-frequency = <150000000>; 488 resets = <&cru SRST_SDIO>; 489 reset-names = "reset"; 490 status = "disabled"; 491 }; 492 493 emmc: mmc@1021c000 { 494 compatible = "rockchip,rk3128- 495 reg = <0x1021c000 0x4000>; 496 interrupts = <GIC_SPI 16 IRQ_T 497 clocks = <&cru HCLK_EMMC>, <&c 498 <&cru SCLK_EMMC_DRV>, 499 clock-names = "biu", "ciu", "c 500 dmas = <&pdma 12>; 501 dma-names = "rx-tx"; 502 fifo-depth = <256>; 503 max-frequency = <150000000>; 504 resets = <&cru SRST_EMMC>; 505 reset-names = "reset"; 506 status = "disabled"; 507 }; 508 509 i2s_2ch: i2s@10220000 { 510 compatible = "rockchip,rk3128- 511 reg = <0x10220000 0x1000>; 512 interrupts = <GIC_SPI 19 IRQ_T 513 clocks = <&cru SCLK_I2S1>, <&c 514 clock-names = "i2s_clk", "i2s_ 515 dmas = <&pdma 0>, <&pdma 1>; 516 dma-names = "tx", "rx"; 517 rockchip,playback-channels = < 518 pinctrl-names = "default"; 519 pinctrl-0 = <&i2s_bus>; 520 #sound-dai-cells = <0>; 521 status = "disabled"; 522 }; 523 524 nfc: nand-controller@10500000 { 525 compatible = "rockchip,rk3128- 526 reg = <0x10500000 0x4000>; 527 interrupts = <GIC_SPI 18 IRQ_T 528 clocks = <&cru HCLK_NANDC>, <& 529 clock-names = "ahb", "nfc"; 530 pinctrl-names = "default"; 531 pinctrl-0 = <&flash_ale &flash 532 &flash_dqs &flash 533 status = "disabled"; 534 }; 535 536 cru: clock-controller@20000000 { 537 compatible = "rockchip,rk3128- 538 reg = <0x20000000 0x1000>; 539 clocks = <&xin24m>; 540 clock-names = "xin24m"; 541 rockchip,grf = <&grf>; 542 #clock-cells = <1>; 543 #reset-cells = <1>; 544 assigned-clocks = <&cru PLL_GP 545 assigned-clock-rates = <594000 546 }; 547 548 grf: syscon@20008000 { 549 compatible = "rockchip,rk3128- 550 reg = <0x20008000 0x1000>; 551 #address-cells = <1>; 552 #size-cells = <1>; 553 554 usb2phy: usb2phy@17c { 555 compatible = "rockchip 556 reg = <0x017c 0x0c>; 557 clocks = <&cru SCLK_OT 558 clock-names = "phyclk" 559 clock-output-names = " 560 assigned-clocks = <&cr 561 assigned-clock-parents 562 #clock-cells = <0>; 563 status = "disabled"; 564 565 usb2phy_host: host-por 566 interrupts = < 567 interrupt-name 568 #phy-cells = < 569 status = "disa 570 }; 571 572 usb2phy_otg: otg-port 573 interrupts = < 574 < 575 < 576 interrupt-name 577 578 #phy-cells = < 579 status = "disa 580 }; 581 }; 582 }; 583 584 hdmi: hdmi@20034000 { 585 compatible = "rockchip,rk3128- 586 reg = <0x20034000 0x4000>; 587 interrupts = <GIC_SPI 45 IRQ_T 588 clocks = <&cru PCLK_HDMI>, <&c 589 clock-names = "pclk", "ref"; 590 pinctrl-names = "default"; 591 pinctrl-0 = <&hdmii2c_xfer &hd 592 power-domains = <&power RK3128 593 #sound-dai-cells = <0>; 594 status = "disabled"; 595 596 ports { 597 #address-cells = <1>; 598 #size-cells = <0>; 599 600 hdmi_in: port@0 { 601 reg = <0>; 602 hdmi_in_vop: e 603 remote 604 }; 605 }; 606 607 hdmi_out: port@1 { 608 reg = <1>; 609 }; 610 }; 611 }; 612 613 dphy: phy@20038000 { 614 compatible = "rockchip,rk3128- 615 reg = <0x20038000 0x4000>; 616 clocks = <&cru SCLK_MIPI_24M>, 617 clock-names = "ref", "pclk"; 618 #phy-cells = <0>; 619 power-domains = <&power RK3128 620 resets = <&cru SRST_MIPIPHY_P> 621 reset-names = "apb"; 622 status = "disabled"; 623 }; 624 625 timer0: timer@20044000 { 626 compatible = "rockchip,rk3128- 627 reg = <0x20044000 0x20>; 628 interrupts = <GIC_SPI 28 IRQ_T 629 clocks = <&cru PCLK_TIMER>, <& 630 clock-names = "pclk", "timer"; 631 }; 632 633 timer1: timer@20044020 { 634 compatible = "rockchip,rk3128- 635 reg = <0x20044020 0x20>; 636 interrupts = <GIC_SPI 29 IRQ_T 637 clocks = <&cru PCLK_TIMER>, <& 638 clock-names = "pclk", "timer"; 639 }; 640 641 timer2: timer@20044040 { 642 compatible = "rockchip,rk3128- 643 reg = <0x20044040 0x20>; 644 interrupts = <GIC_SPI 59 IRQ_T 645 clocks = <&cru PCLK_TIMER>, <& 646 clock-names = "pclk", "timer"; 647 }; 648 649 timer3: timer@20044060 { 650 compatible = "rockchip,rk3128- 651 reg = <0x20044060 0x20>; 652 interrupts = <GIC_SPI 60 IRQ_T 653 clocks = <&cru PCLK_TIMER>, <& 654 clock-names = "pclk", "timer"; 655 }; 656 657 timer4: timer@20044080 { 658 compatible = "rockchip,rk3128- 659 reg = <0x20044080 0x20>; 660 interrupts = <GIC_SPI 61 IRQ_T 661 clocks = <&cru PCLK_TIMER>, <& 662 clock-names = "pclk", "timer"; 663 }; 664 665 timer5: timer@200440a0 { 666 compatible = "rockchip,rk3128- 667 reg = <0x200440a0 0x20>; 668 interrupts = <GIC_SPI 62 IRQ_T 669 clocks = <&cru PCLK_TIMER>, <& 670 clock-names = "pclk", "timer"; 671 }; 672 673 watchdog: watchdog@2004c000 { 674 compatible = "rockchip,rk3128- 675 reg = <0x2004c000 0x100>; 676 interrupts = <GIC_SPI 34 IRQ_T 677 clocks = <&cru PCLK_WDT>; 678 status = "disabled"; 679 }; 680 681 pwm0: pwm@20050000 { 682 compatible = "rockchip,rk3128- 683 reg = <0x20050000 0x10>; 684 clocks = <&cru PCLK_PWM>; 685 pinctrl-names = "default"; 686 pinctrl-0 = <&pwm0_pin>; 687 #pwm-cells = <3>; 688 status = "disabled"; 689 }; 690 691 pwm1: pwm@20050010 { 692 compatible = "rockchip,rk3128- 693 reg = <0x20050010 0x10>; 694 clocks = <&cru PCLK_PWM>; 695 pinctrl-names = "default"; 696 pinctrl-0 = <&pwm1_pin>; 697 #pwm-cells = <3>; 698 status = "disabled"; 699 }; 700 701 pwm2: pwm@20050020 { 702 compatible = "rockchip,rk3128- 703 reg = <0x20050020 0x10>; 704 clocks = <&cru PCLK_PWM>; 705 pinctrl-names = "default"; 706 pinctrl-0 = <&pwm2_pin>; 707 #pwm-cells = <3>; 708 status = "disabled"; 709 }; 710 711 pwm3: pwm@20050030 { 712 compatible = "rockchip,rk3128- 713 reg = <0x20050030 0x10>; 714 clocks = <&cru PCLK_PWM>; 715 pinctrl-names = "default"; 716 pinctrl-0 = <&pwm3_pin>; 717 #pwm-cells = <3>; 718 status = "disabled"; 719 }; 720 721 i2c1: i2c@20056000 { 722 compatible = "rockchip,rk3128- 723 reg = <0x20056000 0x1000>; 724 interrupts = <GIC_SPI 25 IRQ_T 725 clock-names = "i2c"; 726 clocks = <&cru PCLK_I2C1>; 727 pinctrl-names = "default"; 728 pinctrl-0 = <&i2c1_xfer>; 729 #address-cells = <1>; 730 #size-cells = <0>; 731 status = "disabled"; 732 }; 733 734 i2c2: i2c@2005a000 { 735 compatible = "rockchip,rk3128- 736 reg = <0x2005a000 0x1000>; 737 interrupts = <GIC_SPI 26 IRQ_T 738 clock-names = "i2c"; 739 clocks = <&cru PCLK_I2C2>; 740 pinctrl-names = "default"; 741 pinctrl-0 = <&i2c2_xfer>; 742 #address-cells = <1>; 743 #size-cells = <0>; 744 status = "disabled"; 745 }; 746 747 i2c3: i2c@2005e000 { 748 compatible = "rockchip,rk3128- 749 reg = <0x2005e000 0x1000>; 750 interrupts = <GIC_SPI 27 IRQ_T 751 clock-names = "i2c"; 752 clocks = <&cru PCLK_I2C3>; 753 pinctrl-names = "default"; 754 pinctrl-0 = <&i2c3_xfer>; 755 #address-cells = <1>; 756 #size-cells = <0>; 757 status = "disabled"; 758 }; 759 760 uart0: serial@20060000 { 761 compatible = "rockchip,rk3128- 762 reg = <0x20060000 0x100>; 763 interrupts = <GIC_SPI 20 IRQ_T 764 clock-frequency = <24000000>; 765 clocks = <&cru SCLK_UART0>, <& 766 clock-names = "baudclk", "apb_ 767 dmas = <&pdma 2>, <&pdma 3>; 768 dma-names = "tx", "rx"; 769 pinctrl-names = "default"; 770 pinctrl-0 = <&uart0_xfer &uart 771 reg-io-width = <4>; 772 reg-shift = <2>; 773 status = "disabled"; 774 }; 775 776 uart1: serial@20064000 { 777 compatible = "rockchip,rk3128- 778 reg = <0x20064000 0x100>; 779 interrupts = <GIC_SPI 21 IRQ_T 780 clock-frequency = <24000000>; 781 clocks = <&cru SCLK_UART1>, <& 782 clock-names = "baudclk", "apb_ 783 dmas = <&pdma 4>, <&pdma 5>; 784 dma-names = "tx", "rx"; 785 pinctrl-names = "default"; 786 pinctrl-0 = <&uart1_xfer>; 787 reg-io-width = <4>; 788 reg-shift = <2>; 789 status = "disabled"; 790 }; 791 792 uart2: serial@20068000 { 793 compatible = "rockchip,rk3128- 794 reg = <0x20068000 0x100>; 795 interrupts = <GIC_SPI 22 IRQ_T 796 clock-frequency = <24000000>; 797 clocks = <&cru SCLK_UART2>, <& 798 clock-names = "baudclk", "apb_ 799 dmas = <&pdma 6>, <&pdma 7>; 800 dma-names = "tx", "rx"; 801 pinctrl-names = "default"; 802 pinctrl-0 = <&uart2_xfer>; 803 reg-io-width = <4>; 804 reg-shift = <2>; 805 status = "disabled"; 806 }; 807 808 saradc: saradc@2006c000 { 809 compatible = "rockchip,saradc" 810 reg = <0x2006c000 0x100>; 811 interrupts = <GIC_SPI 17 IRQ_T 812 clocks = <&cru SCLK_SARADC>, < 813 clock-names = "saradc", "apb_p 814 resets = <&cru SRST_SARADC>; 815 reset-names = "saradc-apb"; 816 #io-channel-cells = <1>; 817 status = "disabled"; 818 }; 819 820 i2c0: i2c@20072000 { 821 compatible = "rockchip,rk3128- 822 reg = <0x20072000 0x1000>; 823 interrupts = <GIC_SPI 24 IRQ_T 824 clock-names = "i2c"; 825 clocks = <&cru PCLK_I2C0>; 826 pinctrl-names = "default"; 827 pinctrl-0 = <&i2c0_xfer>; 828 #address-cells = <1>; 829 #size-cells = <0>; 830 status = "disabled"; 831 }; 832 833 spi0: spi@20074000 { 834 compatible = "rockchip,rk3128- 835 reg = <0x20074000 0x1000>; 836 interrupts = <GIC_SPI 23 IRQ_T 837 clocks = <&cru SCLK_SPI0>, <&c 838 clock-names = "spiclk", "apb_p 839 dmas = <&pdma 8>, <&pdma 9>; 840 dma-names = "tx", "rx"; 841 pinctrl-names = "default"; 842 pinctrl-0 = <&spi0_tx &spi0_rx 843 #address-cells = <1>; 844 #size-cells = <0>; 845 status = "disabled"; 846 }; 847 848 pdma: dma-controller@20078000 { 849 compatible = "arm,pl330", "arm 850 reg = <0x20078000 0x4000>; 851 interrupts = <GIC_SPI 0 IRQ_TY 852 <GIC_SPI 1 IRQ_TY 853 arm,pl330-broken-no-flushp; 854 arm,pl330-periph-burst; 855 clocks = <&cru ACLK_DMAC>; 856 clock-names = "apb_pclk"; 857 #dma-cells = <1>; 858 }; 859 860 gmac: ethernet@2008c000 { 861 compatible = "rockchip,rk3128- 862 reg = <0x2008c000 0x4000>; 863 interrupts = <GIC_SPI 56 IRQ_T 864 <GIC_SPI 57 IRQ_T 865 interrupt-names = "macirq", "e 866 clocks = <&cru SCLK_MAC>, 867 <&cru SCLK_MAC_RX>, < 868 <&cru SCLK_MAC_REF>, 869 <&cru ACLK_GMAC>, <&c 870 clock-names = "stmmaceth", 871 "mac_clk_rx", "m 872 "clk_mac_ref", " 873 "aclk_mac", "pcl 874 resets = <&cru SRST_GMAC>; 875 reset-names = "stmmaceth"; 876 rockchip,grf = <&grf>; 877 rx-fifo-depth = <4096>; 878 tx-fifo-depth = <2048>; 879 status = "disabled"; 880 881 mdio: mdio { 882 compatible = "snps,dwm 883 #address-cells = <0x1> 884 #size-cells = <0x0>; 885 }; 886 }; 887 888 pinctrl: pinctrl { 889 compatible = "rockchip,rk3128- 890 rockchip,grf = <&grf>; 891 #address-cells = <1>; 892 #size-cells = <1>; 893 ranges; 894 895 gpio0: gpio@2007c000 { 896 compatible = "rockchip 897 reg = <0x2007c000 0x10 898 interrupts = <GIC_SPI 899 clocks = <&cru PCLK_GP 900 gpio-controller; 901 #gpio-cells = <2>; 902 interrupt-controller; 903 #interrupt-cells = <2> 904 }; 905 906 gpio1: gpio@20080000 { 907 compatible = "rockchip 908 reg = <0x20080000 0x10 909 interrupts = <GIC_SPI 910 clocks = <&cru PCLK_GP 911 gpio-controller; 912 #gpio-cells = <2>; 913 interrupt-controller; 914 #interrupt-cells = <2> 915 }; 916 917 gpio2: gpio@20084000 { 918 compatible = "rockchip 919 reg = <0x20084000 0x10 920 interrupts = <GIC_SPI 921 clocks = <&cru PCLK_GP 922 gpio-controller; 923 #gpio-cells = <2>; 924 interrupt-controller; 925 #interrupt-cells = <2> 926 }; 927 928 gpio3: gpio@20088000 { 929 compatible = "rockchip 930 reg = <0x20088000 0x10 931 interrupts = <GIC_SPI 932 clocks = <&cru PCLK_GP 933 gpio-controller; 934 #gpio-cells = <2>; 935 interrupt-controller; 936 #interrupt-cells = <2> 937 }; 938 939 pcfg_pull_default: pcfg-pull-d 940 bias-pull-pin-default; 941 }; 942 943 pcfg_pull_none: pcfg-pull-none 944 bias-disable; 945 }; 946 947 emmc { 948 emmc_clk: emmc-clk { 949 rockchip,pins 950 }; 951 952 emmc_cmd: emmc-cmd { 953 rockchip,pins 954 }; 955 956 emmc_cmd1: emmc-cmd1 { 957 rockchip,pins 958 }; 959 960 emmc_pwr: emmc-pwr { 961 rockchip,pins 962 }; 963 964 emmc_bus1: emmc-bus1 { 965 rockchip,pins 966 }; 967 968 emmc_bus4: emmc-bus4 { 969 rockchip,pins 970 971 972 973 }; 974 975 emmc_bus8: emmc-bus8 { 976 rockchip,pins 977 978 979 980 981 982 983 984 }; 985 }; 986 987 gmac { 988 rgmii_pins: rgmii-pins 989 rockchip,pins 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 }; 1005 1006 rmii_pins: rmii-pins 1007 rockchip,pins 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 }; 1018 }; 1019 1020 hdmi { 1021 hdmii2c_xfer: hdmii2c 1022 rockchip,pins 1023 1024 }; 1025 1026 hdmi_hpd: hdmi-hpd { 1027 rockchip,pins 1028 }; 1029 1030 hdmi_cec: hdmi-cec { 1031 rockchip,pins 1032 }; 1033 }; 1034 1035 i2c0 { 1036 i2c0_xfer: i2c0-xfer 1037 rockchip,pins 1038 1039 }; 1040 }; 1041 1042 i2c1 { 1043 i2c1_xfer: i2c1-xfer 1044 rockchip,pins 1045 1046 }; 1047 }; 1048 1049 i2c2 { 1050 i2c2_xfer: i2c2-xfer 1051 rockchip,pins 1052 1053 }; 1054 }; 1055 1056 i2c3 { 1057 i2c3_xfer: i2c3-xfer 1058 rockchip,pins 1059 1060 }; 1061 }; 1062 1063 i2s { 1064 i2s_bus: i2s-bus { 1065 rockchip,pins 1066 1067 1068 1069 1070 1071 }; 1072 1073 i2s1_bus: i2s1-bus { 1074 rockchip,pins 1075 1076 1077 1078 1079 1080 }; 1081 }; 1082 1083 lcdc { 1084 lcdc_dclk: lcdc-dclk 1085 rockchip,pins 1086 }; 1087 1088 lcdc_den: lcdc-den { 1089 rockchip,pins 1090 }; 1091 1092 lcdc_hsync: lcdc-hsyn 1093 rockchip,pins 1094 }; 1095 1096 lcdc_vsync: lcdc-vsyn 1097 rockchip,pins 1098 }; 1099 1100 lcdc_rgb24: lcdc-rgb2 1101 rockchip,pins 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 }; 1116 }; 1117 1118 nfc { 1119 flash_ale: flash-ale 1120 rockchip,pins 1121 }; 1122 1123 flash_cle: flash-cle 1124 rockchip,pins 1125 }; 1126 1127 flash_wrn: flash-wrn 1128 rockchip,pins 1129 }; 1130 1131 flash_rdn: flash-rdn 1132 rockchip,pins 1133 }; 1134 1135 flash_rdy: flash-rdy 1136 rockchip,pins 1137 }; 1138 1139 flash_cs0: flash-cs0 1140 rockchip,pins 1141 }; 1142 1143 flash_dqs: flash-dqs 1144 rockchip,pins 1145 }; 1146 1147 flash_bus8: flash-bus 1148 rockchip,pins 1149 1150 1151 1152 1153 1154 1155 1156 }; 1157 }; 1158 1159 pwm0 { 1160 pwm0_pin: pwm0-pin { 1161 rockchip,pins 1162 }; 1163 }; 1164 1165 pwm1 { 1166 pwm1_pin: pwm1-pin { 1167 rockchip,pins 1168 }; 1169 }; 1170 1171 pwm2 { 1172 pwm2_pin: pwm2-pin { 1173 rockchip,pins 1174 }; 1175 }; 1176 1177 pwm3 { 1178 pwm3_pin: pwm3-pin { 1179 rockchip,pins 1180 }; 1181 }; 1182 1183 sdio { 1184 sdio_clk: sdio-clk { 1185 rockchip,pins 1186 }; 1187 1188 sdio_cmd: sdio-cmd { 1189 rockchip,pins 1190 }; 1191 1192 sdio_pwren: sdio-pwre 1193 rockchip,pins 1194 }; 1195 1196 sdio_bus4: sdio-bus4 1197 rockchip,pins 1198 1199 1200 1201 }; 1202 }; 1203 1204 sdmmc { 1205 sdmmc_clk: sdmmc-clk 1206 rockchip,pins 1207 }; 1208 1209 sdmmc_cmd: sdmmc-cmd 1210 rockchip,pins 1211 }; 1212 1213 sdmmc_det: sdmmc-det 1214 rockchip,pins 1215 }; 1216 1217 sdmmc_wp: sdmmc-wp { 1218 rockchip,pins 1219 }; 1220 1221 sdmmc_pwren: sdmmc-pw 1222 rockchip,pins 1223 }; 1224 1225 sdmmc_bus4: sdmmc-bus 1226 rockchip,pins 1227 1228 1229 1230 }; 1231 }; 1232 1233 sfc { 1234 sfc_bus2: sfc-bus2 { 1235 rockchip,pins 1236 1237 }; 1238 1239 sfc_bus4: sfc-bus4 { 1240 rockchip,pins 1241 1242 1243 1244 }; 1245 1246 sfc_clk: sfc-clk { 1247 rockchip,pins 1248 }; 1249 1250 sfc_cs0: sfc-cs0 { 1251 rockchip,pins 1252 }; 1253 1254 sfc_cs1: sfc-cs1 { 1255 rockchip,pins 1256 }; 1257 }; 1258 1259 spdif { 1260 spdif_tx: spdif-tx { 1261 rockchip,pins 1262 }; 1263 }; 1264 1265 spi0 { 1266 spi0_clk: spi0-clk { 1267 rockchip,pins 1268 }; 1269 1270 spi0_cs0: spi0-cs0 { 1271 rockchip,pins 1272 }; 1273 1274 spi0_tx: spi0-tx { 1275 rockchip,pins 1276 }; 1277 1278 spi0_rx: spi0-rx { 1279 rockchip,pins 1280 }; 1281 1282 spi0_cs1: spi0-cs1 { 1283 rockchip,pins 1284 }; 1285 1286 spi1_clk: spi1-clk { 1287 rockchip,pins 1288 }; 1289 1290 spi1_cs0: spi1-cs0 { 1291 rockchip,pins 1292 }; 1293 1294 spi1_tx: spi1-tx { 1295 rockchip,pins 1296 }; 1297 1298 spi1_rx: spi1-rx { 1299 rockchip,pins 1300 }; 1301 1302 spi1_cs1: spi1-cs1 { 1303 rockchip,pins 1304 }; 1305 1306 spi2_clk: spi2-clk { 1307 rockchip,pins 1308 }; 1309 1310 spi2_cs0: spi2-cs0 { 1311 rockchip,pins 1312 }; 1313 1314 spi2_tx: spi2-tx { 1315 rockchip,pins 1316 }; 1317 1318 spi2_rx: spi2-rx { 1319 rockchip,pins 1320 }; 1321 }; 1322 1323 uart0 { 1324 uart0_xfer: uart0-xfe 1325 rockchip,pins 1326 1327 }; 1328 1329 uart0_cts: uart0-cts 1330 rockchip,pins 1331 }; 1332 1333 uart0_rts: uart0-rts 1334 rockchip,pins 1335 }; 1336 }; 1337 1338 uart1 { 1339 uart1_xfer: uart1-xfe 1340 rockchip,pins 1341 1342 }; 1343 1344 uart1_cts: uart1-cts 1345 rockchip,pins 1346 }; 1347 1348 uart1_rts: uart1-rts 1349 rockchip,pins 1350 }; 1351 }; 1352 1353 uart2 { 1354 uart2_xfer: uart2-xfe 1355 rockchip,pins 1356 1357 }; 1358 1359 uart2_cts: uart2-cts 1360 rockchip,pins 1361 }; 1362 1363 uart2_rts: uart2-rts 1364 rockchip,pins 1365 }; 1366 }; 1367 }; 1368 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.