|
6 | 6 | #include <dt-bindings/pinctrl/rockchip.h> |
7 | 7 | #include <dt-bindings/clock/rk3228-cru.h> |
8 | 8 | #include <dt-bindings/thermal/thermal.h> |
| 9 | +#include <dt-bindings/power/rk3228-power.h> |
9 | 10 |
|
10 | 11 | / { |
11 | 12 | #address-cells = <1>; |
|
190 | 191 | status = "disabled"; |
191 | 192 | }; |
192 | 193 |
|
| 194 | + power: power-controller { |
| 195 | + compatible = "rockchip,rk3228-power-controller"; |
| 196 | + #power-domain-cells = <1>; |
| 197 | + #address-cells = <1>; |
| 198 | + #size-cells = <0>; |
| 199 | + |
| 200 | + power-domain@RK3228_PD_VIO { |
| 201 | + reg = <RK3228_PD_VIO>; |
| 202 | + clocks = <&cru ACLK_HDCP>, |
| 203 | + <&cru SCLK_HDCP>, |
| 204 | + <&cru ACLK_IEP>, |
| 205 | + <&cru HCLK_IEP>, |
| 206 | + <&cru ACLK_RGA>, |
| 207 | + <&cru HCLK_RGA>, |
| 208 | + <&cru SCLK_RGA>; |
| 209 | + pm_qos = <&qos_hdcp>, |
| 210 | + <&qos_iep>, |
| 211 | + <&qos_rga_r>, |
| 212 | + <&qos_rga_w>; |
| 213 | + #power-domain-cells = <0>; |
| 214 | + }; |
| 215 | + |
| 216 | + power-domain@RK3228_PD_VOP { |
| 217 | + reg = <RK3228_PD_VOP>; |
| 218 | + clocks =<&cru ACLK_VOP>, |
| 219 | + <&cru DCLK_VOP>, |
| 220 | + <&cru HCLK_VOP>; |
| 221 | + pm_qos = <&qos_vop>; |
| 222 | + #power-domain-cells = <0>; |
| 223 | + }; |
| 224 | + |
| 225 | + power-domain@RK3228_PD_VPU { |
| 226 | + reg = <RK3228_PD_VPU>; |
| 227 | + clocks = <&cru ACLK_VPU>, |
| 228 | + <&cru HCLK_VPU>; |
| 229 | + pm_qos = <&qos_vpu>; |
| 230 | + #power-domain-cells = <0>; |
| 231 | + }; |
| 232 | + |
| 233 | + power-domain@RK3228_PD_RKVDEC { |
| 234 | + reg = <RK3228_PD_RKVDEC>; |
| 235 | + clocks = <&cru ACLK_RKVDEC>, |
| 236 | + <&cru HCLK_RKVDEC>, |
| 237 | + <&cru SCLK_VDEC_CABAC>, |
| 238 | + <&cru SCLK_VDEC_CORE>; |
| 239 | + pm_qos = <&qos_rkvdec_r>, |
| 240 | + <&qos_rkvdec_w>; |
| 241 | + #power-domain-cells = <0>; |
| 242 | + }; |
| 243 | + |
| 244 | + power-domain@RK3228_PD_GPU { |
| 245 | + reg = <RK3228_PD_GPU>; |
| 246 | + clocks = <&cru ACLK_GPU>; |
| 247 | + pm_qos = <&qos_gpu>; |
| 248 | + #power-domain-cells = <0>; |
| 249 | + }; |
| 250 | + }; |
| 251 | + |
193 | 252 | u2phy0: usb2phy@760 { |
194 | 253 | compatible = "rockchip,rk3228-usb2phy"; |
195 | 254 | reg = <0x0760 0x0c>; |
|
546 | 605 | "ppmmu1"; |
547 | 606 | clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>; |
548 | 607 | clock-names = "bus", "core"; |
| 608 | + power-domains = <&power RK3228_PD_GPU>; |
549 | 609 | resets = <&cru SRST_GPU_A>; |
550 | 610 | status = "disabled"; |
551 | 611 | }; |
|
556 | 616 | interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; |
557 | 617 | clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; |
558 | 618 | clock-names = "aclk", "iface"; |
| 619 | + power-domains = <&power RK3228_PD_VPU>; |
559 | 620 | #iommu-cells = <0>; |
560 | 621 | status = "disabled"; |
561 | 622 | }; |
|
566 | 627 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; |
567 | 628 | clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>; |
568 | 629 | clock-names = "aclk", "iface"; |
| 630 | + power-domains = <&power RK3228_PD_RKVDEC>; |
569 | 631 | #iommu-cells = <0>; |
570 | 632 | status = "disabled"; |
571 | 633 | }; |
|
579 | 641 | resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>; |
580 | 642 | reset-names = "axi", "ahb", "dclk"; |
581 | 643 | iommus = <&vop_mmu>; |
| 644 | + power-domains = <&power RK3228_PD_VOP>; |
582 | 645 | status = "disabled"; |
583 | 646 |
|
584 | 647 | vop_out: port { |
|
598 | 661 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; |
599 | 662 | clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; |
600 | 663 | clock-names = "aclk", "iface"; |
| 664 | + power-domains = <&power RK3228_PD_VOP>; |
601 | 665 | #iommu-cells = <0>; |
602 | 666 | status = "disabled"; |
603 | 667 | }; |
|
608 | 672 | interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; |
609 | 673 | clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>; |
610 | 674 | clock-names = "aclk", "hclk", "sclk"; |
| 675 | + power-domains = <&power RK3228_PD_VIO>; |
611 | 676 | resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>; |
612 | 677 | reset-names = "core", "axi", "ahb"; |
613 | 678 | }; |
|
618 | 683 | interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; |
619 | 684 | clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>; |
620 | 685 | clock-names = "aclk", "iface"; |
| 686 | + power-domains = <&power RK3228_PD_VIO>; |
621 | 687 | #iommu-cells = <0>; |
622 | 688 | status = "disabled"; |
623 | 689 | }; |
|
792 | 858 | status = "disabled"; |
793 | 859 | }; |
794 | 860 |
|
| 861 | + qos_iep: qos@31030080 { |
| 862 | + compatible = "rockchip,rk3228-qos", "syscon"; |
| 863 | + reg = <0x31030080 0x20>; |
| 864 | + }; |
| 865 | + |
| 866 | + qos_rga_w: qos@31030100 { |
| 867 | + compatible = "rockchip,rk3228-qos", "syscon"; |
| 868 | + reg = <0x31030100 0x20>; |
| 869 | + }; |
| 870 | + |
| 871 | + qos_hdcp: qos@31030180 { |
| 872 | + compatible = "rockchip,rk3228-qos", "syscon"; |
| 873 | + reg = <0x31030180 0x20>; |
| 874 | + }; |
| 875 | + |
| 876 | + qos_rga_r: qos@31030200 { |
| 877 | + compatible = "rockchip,rk3228-qos", "syscon"; |
| 878 | + reg = <0x31030200 0x20>; |
| 879 | + }; |
| 880 | + |
| 881 | + qos_vpu: qos@31040000 { |
| 882 | + compatible = "rockchip,rk3228-qos", "syscon"; |
| 883 | + reg = <0x31040000 0x20>; |
| 884 | + }; |
| 885 | + |
| 886 | + qos_gpu: qos@31050000 { |
| 887 | + compatible = "rockchip,rk3228-qos", "syscon"; |
| 888 | + reg = <0x31050000 0x20>; |
| 889 | + }; |
| 890 | + |
| 891 | + qos_vop: qos@31060000 { |
| 892 | + compatible = "rockchip,rk3228-qos", "syscon"; |
| 893 | + reg = <0x31060000 0x20>; |
| 894 | + }; |
| 895 | + |
| 896 | + qos_rkvdec_r: qos@31070000 { |
| 897 | + compatible = "rockchip,rk3228-qos", "syscon"; |
| 898 | + reg = <0x31070000 0x20>; |
| 899 | + }; |
| 900 | + |
| 901 | + qos_rkvdec_w: qos@31070080 { |
| 902 | + compatible = "rockchip,rk3228-qos", "syscon"; |
| 903 | + reg = <0x31070080 0x20>; |
| 904 | + }; |
| 905 | + |
795 | 906 | gic: interrupt-controller@32010000 { |
796 | 907 | compatible = "arm,gic-400"; |
797 | 908 | interrupt-controller; |
|
0 commit comments