brintos

brintos / linux-shallow public Read only

0
0
Text · 7.5 KiB · 650dc0a Raw
256 lines · yaml
1# SPDX-License-Identifier: GPL-2.02%YAML 1.23---4$id: http://devicetree.org/schemas/power/rockchip,power-controller.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Rockchip Power Domains8 9maintainers:10  - Elaine Zhang <zhangqing@rock-chips.com>11  - Heiko Stuebner <heiko@sntech.de>12 13description: |14  Rockchip processors include support for multiple power domains15  which can be powered up/down by software based on different16  application scenarios to save power.17 18  Power domains contained within power-controller node are19  generic power domain providers documented in20  Documentation/devicetree/bindings/power/power-domain.yaml.21 22  IP cores belonging to a power domain should contain a23  "power-domains" property that is a phandle for the24  power domain node representing the domain.25 26properties:27  $nodename:28    const: power-controller29 30  compatible:31    enum:32      - rockchip,px30-power-controller33      - rockchip,rk3036-power-controller34      - rockchip,rk3066-power-controller35      - rockchip,rk3128-power-controller36      - rockchip,rk3188-power-controller37      - rockchip,rk3228-power-controller38      - rockchip,rk3288-power-controller39      - rockchip,rk3328-power-controller40      - rockchip,rk3366-power-controller41      - rockchip,rk3368-power-controller42      - rockchip,rk3399-power-controller43      - rockchip,rk3568-power-controller44      - rockchip,rk3576-power-controller45      - rockchip,rk3588-power-controller46      - rockchip,rv1126-power-controller47 48  "#power-domain-cells":49    const: 150 51  "#address-cells":52    const: 153 54  "#size-cells":55    const: 056 57required:58  - compatible59  - "#power-domain-cells"60 61additionalProperties: false62 63patternProperties:64  "^power-domain@[0-9a-f]+$":65 66    $ref: "#/$defs/pd-node"67 68    unevaluatedProperties: false69 70    properties:71      "#address-cells":72        const: 173 74      "#size-cells":75        const: 076 77    patternProperties:78      "^power-domain@[0-9a-f]+$":79 80        $ref: "#/$defs/pd-node"81 82        unevaluatedProperties: false83 84        properties:85          "#address-cells":86            const: 187 88          "#size-cells":89            const: 090 91        patternProperties:92          "^power-domain@[0-9a-f]+$":93 94            $ref: "#/$defs/pd-node"95 96            unevaluatedProperties: false97 98            properties:99              "#power-domain-cells":100                const: 0101 102$defs:103  pd-node:104    type: object105    description: |106      Represents the power domains within the power controller node.107 108    properties:109      reg:110        maxItems: 1111        description: |112          Power domain index. Valid values are defined in113          "include/dt-bindings/power/px30-power.h"114          "include/dt-bindings/power/rk3036-power.h"115          "include/dt-bindings/power/rk3066-power.h"116          "include/dt-bindings/power/rk3128-power.h"117          "include/dt-bindings/power/rk3188-power.h"118          "include/dt-bindings/power/rk3228-power.h"119          "include/dt-bindings/power/rk3288-power.h"120          "include/dt-bindings/power/rk3328-power.h"121          "include/dt-bindings/power/rk3366-power.h"122          "include/dt-bindings/power/rk3368-power.h"123          "include/dt-bindings/power/rk3399-power.h"124          "include/dt-bindings/power/rk3568-power.h"125          "include/dt-bindings/power/rk3588-power.h"126          "include/dt-bindings/power/rockchip,rv1126-power.h"127 128      clocks:129        minItems: 1130        maxItems: 30131        description: |132          A number of phandles to clocks that need to be enabled133          while power domain switches state.134 135      pm_qos:136        $ref: /schemas/types.yaml#/definitions/phandle-array137        items:138          maxItems: 1139        description: |140          A number of phandles to qos blocks which need to be saved and restored141          while power domain switches state.142 143      "#power-domain-cells":144        enum: [0, 1]145        description:146          Must be 0 for nodes representing a single PM domain and 1 for nodes147          providing multiple PM domains.148 149    required:150      - reg151      - "#power-domain-cells"152 153examples:154  - |155    #include <dt-bindings/clock/rk3399-cru.h>156    #include <dt-bindings/power/rk3399-power.h>157 158    soc {159        #address-cells = <2>;160        #size-cells = <2>;161 162        qos_hdcp: qos@ffa90000 {163            compatible = "rockchip,rk3399-qos", "syscon";164            reg = <0x0 0xffa90000 0x0 0x20>;165        };166 167        qos_iep: qos@ffa98000 {168            compatible = "rockchip,rk3399-qos", "syscon";169            reg = <0x0 0xffa98000 0x0 0x20>;170        };171 172        qos_rga_r: qos@ffab0000 {173            compatible = "rockchip,rk3399-qos", "syscon";174            reg = <0x0 0xffab0000 0x0 0x20>;175        };176 177        qos_rga_w: qos@ffab0080 {178            compatible = "rockchip,rk3399-qos", "syscon";179            reg = <0x0 0xffab0080 0x0 0x20>;180        };181 182        qos_video_m0: qos@ffab8000 {183            compatible = "rockchip,rk3399-qos", "syscon";184            reg = <0x0 0xffab8000 0x0 0x20>;185        };186 187        qos_video_m1_r: qos@ffac0000 {188            compatible = "rockchip,rk3399-qos", "syscon";189            reg = <0x0 0xffac0000 0x0 0x20>;190        };191 192        qos_video_m1_w: qos@ffac0080 {193            compatible = "rockchip,rk3399-qos", "syscon";194            reg = <0x0 0xffac0080 0x0 0x20>;195        };196 197        power-management@ff310000 {198            compatible = "rockchip,rk3399-pmu", "syscon", "simple-mfd";199            reg = <0x0 0xff310000 0x0 0x1000>;200 201            power-controller {202                compatible = "rockchip,rk3399-power-controller";203                #power-domain-cells = <1>;204                #address-cells = <1>;205                #size-cells = <0>;206 207                /* These power domains are grouped by VD_CENTER */208                power-domain@RK3399_PD_IEP {209                    reg = <RK3399_PD_IEP>;210                    clocks = <&cru ACLK_IEP>,211                             <&cru HCLK_IEP>;212                    pm_qos = <&qos_iep>;213                    #power-domain-cells = <0>;214                };215                power-domain@RK3399_PD_RGA {216                    reg = <RK3399_PD_RGA>;217                    clocks = <&cru ACLK_RGA>,218                             <&cru HCLK_RGA>;219                    pm_qos = <&qos_rga_r>,220                             <&qos_rga_w>;221                    #power-domain-cells = <0>;222                };223                power-domain@RK3399_PD_VCODEC {224                    reg = <RK3399_PD_VCODEC>;225                    clocks = <&cru ACLK_VCODEC>,226                             <&cru HCLK_VCODEC>;227                    pm_qos = <&qos_video_m0>;228                    #power-domain-cells = <0>;229                };230                power-domain@RK3399_PD_VDU {231                    reg = <RK3399_PD_VDU>;232                    clocks = <&cru ACLK_VDU>,233                             <&cru HCLK_VDU>;234                    pm_qos = <&qos_video_m1_r>,235                             <&qos_video_m1_w>;236                    #power-domain-cells = <0>;237                };238                power-domain@RK3399_PD_VIO {239                    reg = <RK3399_PD_VIO>;240                    #power-domain-cells = <1>;241                    #address-cells = <1>;242                    #size-cells = <0>;243 244                    power-domain@RK3399_PD_HDCP {245                        reg = <RK3399_PD_HDCP>;246                        clocks = <&cru ACLK_HDCP>,247                                 <&cru HCLK_HDCP>,248                                 <&cru PCLK_HDCP>;249                        pm_qos = <&qos_hdcp>;250                        #power-domain-cells = <0>;251                    };252                };253            };254        };255    };256