brintos

brintos / linux-shallow public Read only

0
0
Text · 4.3 KiB · 270bcd0 Raw
153 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm Resource Power Manager (RPM) over SMD/GLINK8 9description: |10  This driver is used to interface with the Resource Power Manager (RPM) found11  in various Qualcomm platforms. The RPM allows each component in the system12  to vote for state of the system resources, such as clocks, regulators and bus13  frequencies.14 15  The SMD or GLINK information for the RPM edge should be filled out.  See16  qcom,smd.yaml for the required edge properties.  All SMD/GLINK related17  properties will reside within the RPM node itself.18 19  The RPM exposes resources to its subnodes.  The rpm_requests node must be20  present and this subnode may contain children that designate regulator21  resources.22 23  Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml24  for information on the regulator subnodes that can exist under the25  rpm_requests.26 27maintainers:28  - Andy Gross <agross@kernel.org>29  - Bjorn Andersson <bjorn.andersson@linaro.org>30 31properties:32  compatible:33    oneOf:34      - items:35          - enum:36              - qcom,rpm-apq808437              - qcom,rpm-mdm960738              - qcom,rpm-msm822639              - qcom,rpm-msm861040              - qcom,rpm-msm890941              - qcom,rpm-msm891642              - qcom,rpm-msm891743              - qcom,rpm-msm893644              - qcom,rpm-msm893745              - qcom,rpm-msm895246              - qcom,rpm-msm895347              - qcom,rpm-msm897448              - qcom,rpm-msm897649              - qcom,rpm-msm899450          - const: qcom,smd-rpm51      - items:52          - enum:53              - qcom,rpm-ipq601854              - qcom,rpm-ipq957455              - qcom,rpm-msm899656              - qcom,rpm-msm899857              - qcom,rpm-qcm229058              - qcom,rpm-qcs40459              - qcom,rpm-sdm66060              - qcom,rpm-sm611561              - qcom,rpm-sm612562              - qcom,rpm-sm637563          - const: qcom,glink-smd-rpm64 65  clock-controller:66    $ref: /schemas/clock/qcom,rpmcc.yaml#67    unevaluatedProperties: false68 69  power-controller:70    $ref: /schemas/power/qcom,rpmpd.yaml#71 72  qcom,glink-channels:73    $ref: /schemas/types.yaml#/definitions/string-array74    description: Channel name used for the RPM communication75    items:76      - const: rpm_requests77 78  qcom,smd-channels:79    $ref: /schemas/types.yaml#/definitions/string-array80    description: Channel name used for the RPM communication81    items:82      - const: rpm_requests83 84patternProperties:85  "^regulators(-[01])?$":86    $ref: /schemas/regulator/qcom,smd-rpm-regulator.yaml#87    unevaluatedProperties: false88 89if:90  properties:91    compatible:92      contains:93        const: qcom,smd-rpm94then:95  properties:96    qcom,glink-channels: false97  required:98    - qcom,smd-channels99else:100  properties:101    qcom,smd-channels: false102  required:103    - qcom,glink-channels104 105required:106  - compatible107 108additionalProperties: false109 110examples:111  - |112    #include <dt-bindings/interrupt-controller/arm-gic.h>113    #include <dt-bindings/interrupt-controller/irq.h>114 115    remoteproc {116        compatible = "qcom,msm8916-rpm-proc", "qcom,rpm-proc";117 118        smd-edge {119            interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;120            qcom,ipc = <&apcs 8 0>;121            qcom,smd-edge = <15>;122 123            rpm-requests {124                compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";125                qcom,smd-channels = "rpm_requests";126 127                clock-controller {128                    compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";129                    #clock-cells = <1>;130                    clocks = <&xo_board>;131                    clock-names = "xo";132                };133 134                power-controller {135                    compatible = "qcom,msm8916-rpmpd";136                    #power-domain-cells = <1>;137                    operating-points-v2 = <&rpmpd_opp_table>;138 139                    rpmpd_opp_table: opp-table {140                        compatible = "operating-points-v2";141 142                        opp-1 {143                            opp-level = <1>;144                        };145                        opp-2 {146                            opp-level = <2>;147                        };148                    };149                };150            };151        };152    };153