1f935a752SKathiravan T# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2f935a752SKathiravan T%YAML 1.2 3f935a752SKathiravan T--- 42961ab05SRob Herring$id: http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml# 52961ab05SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6f935a752SKathiravan T 77fd0a931SKrzysztof Kozlowskititle: Qualcomm Resource Power Manager (RPM) over SMD/GLINK 8f935a752SKathiravan T 9f935a752SKathiravan Tdescription: | 10f935a752SKathiravan T This driver is used to interface with the Resource Power Manager (RPM) found 11f935a752SKathiravan T in various Qualcomm platforms. The RPM allows each component in the system 12f935a752SKathiravan T to vote for state of the system resources, such as clocks, regulators and bus 13f935a752SKathiravan T frequencies. 14f935a752SKathiravan T 157fd0a931SKrzysztof Kozlowski The SMD or GLINK information for the RPM edge should be filled out. See 167fd0a931SKrzysztof Kozlowski qcom,smd.yaml for the required edge properties. All SMD/GLINK related 177fd0a931SKrzysztof Kozlowski properties will reside within the RPM node itself. 18f935a752SKathiravan T 19f935a752SKathiravan T The RPM exposes resources to its subnodes. The rpm_requests node must be 20f935a752SKathiravan T present and this subnode may contain children that designate regulator 21f935a752SKathiravan T resources. 22f935a752SKathiravan T 23480017f0SMauro Carvalho Chehab Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml 24f935a752SKathiravan T for information on the regulator subnodes that can exist under the 25f935a752SKathiravan T rpm_requests. 26f935a752SKathiravan T 27f935a752SKathiravan Tmaintainers: 28ca166646SKrzysztof Kozlowski - Andy Gross <agross@kernel.org> 29ca166646SKrzysztof Kozlowski - Bjorn Andersson <bjorn.andersson@linaro.org> 30f935a752SKathiravan T 31f935a752SKathiravan Tproperties: 32f935a752SKathiravan T compatible: 33*9d5f3cc5SDmitry Baryshkov oneOf: 34*9d5f3cc5SDmitry Baryshkov - items: 35*9d5f3cc5SDmitry Baryshkov - enum: 36f935a752SKathiravan T - qcom,rpm-apq8084 37029bf294SStephan Gerhold - qcom,rpm-mdm9607 38193e5070SBartosz Dudziak - qcom,rpm-msm8226 39029bf294SStephan Gerhold - qcom,rpm-msm8610 40709d473dSStephan Gerhold - qcom,rpm-msm8909 41f935a752SKathiravan T - qcom,rpm-msm8916 42029bf294SStephan Gerhold - qcom,rpm-msm8917 43e9302449SBryan O'Donoghue - qcom,rpm-msm8936 44029bf294SStephan Gerhold - qcom,rpm-msm8937 45029bf294SStephan Gerhold - qcom,rpm-msm8952 4696c42812SVladimir Lypak - qcom,rpm-msm8953 47f935a752SKathiravan T - qcom,rpm-msm8974 48f935a752SKathiravan T - qcom,rpm-msm8976 4934d84c3bSKrzysztof Kozlowski - qcom,rpm-msm8994 50*9d5f3cc5SDmitry Baryshkov - const: qcom,smd-rpm 51*9d5f3cc5SDmitry Baryshkov - items: 52*9d5f3cc5SDmitry Baryshkov - enum: 53*9d5f3cc5SDmitry Baryshkov - qcom,rpm-ipq6018 54*9d5f3cc5SDmitry Baryshkov - qcom,rpm-ipq9574 55f935a752SKathiravan T - qcom,rpm-msm8996 56f935a752SKathiravan T - qcom,rpm-msm8998 57fe604ee3SStephan Gerhold - qcom,rpm-qcm2290 58fe604ee3SStephan Gerhold - qcom,rpm-qcs404 59f935a752SKathiravan T - qcom,rpm-sdm660 60d3625d94SIskren Chernev - qcom,rpm-sm6115 61c1d4544dSMartin Botka - qcom,rpm-sm6125 62c7617580SKonrad Dybcio - qcom,rpm-sm6375 63*9d5f3cc5SDmitry Baryshkov - const: qcom,glink-smd-rpm 64f935a752SKathiravan T 6505a24414SKrzysztof Kozlowski clock-controller: 6605a24414SKrzysztof Kozlowski $ref: /schemas/clock/qcom,rpmcc.yaml# 6705a24414SKrzysztof Kozlowski unevaluatedProperties: false 6805a24414SKrzysztof Kozlowski 69c23b7d49SKrzysztof Kozlowski power-controller: 70c23b7d49SKrzysztof Kozlowski $ref: /schemas/power/qcom,rpmpd.yaml# 71c23b7d49SKrzysztof Kozlowski 727fd0a931SKrzysztof Kozlowski qcom,glink-channels: 737fd0a931SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/string-array 747fd0a931SKrzysztof Kozlowski description: Channel name used for the RPM communication 757fd0a931SKrzysztof Kozlowski items: 767fd0a931SKrzysztof Kozlowski - const: rpm_requests 777fd0a931SKrzysztof Kozlowski 78f935a752SKathiravan T qcom,smd-channels: 79f935a752SKathiravan T $ref: /schemas/types.yaml#/definitions/string-array 80f935a752SKathiravan T description: Channel name used for the RPM communication 81f935a752SKathiravan T items: 82f935a752SKathiravan T - const: rpm_requests 83f935a752SKathiravan T 84c6b34983SKrzysztof KozlowskipatternProperties: 85c6b34983SKrzysztof Kozlowski "^regulators(-[01])?$": 86c6b34983SKrzysztof Kozlowski $ref: /schemas/regulator/qcom,smd-rpm-regulator.yaml# 87c6b34983SKrzysztof Kozlowski unevaluatedProperties: false 88c6b34983SKrzysztof Kozlowski 89f935a752SKathiravan Tif: 90f935a752SKathiravan T properties: 91f935a752SKathiravan T compatible: 92f935a752SKathiravan T contains: 93*9d5f3cc5SDmitry Baryshkov const: qcom,smd-rpm 94f935a752SKathiravan Tthen: 957fd0a931SKrzysztof Kozlowski properties: 967fd0a931SKrzysztof Kozlowski qcom,glink-channels: false 97f935a752SKathiravan T required: 98f935a752SKathiravan T - qcom,smd-channels 997fd0a931SKrzysztof Kozlowskielse: 1007fd0a931SKrzysztof Kozlowski properties: 1017fd0a931SKrzysztof Kozlowski qcom,smd-channels: false 1027fd0a931SKrzysztof Kozlowski required: 1037fd0a931SKrzysztof Kozlowski - qcom,glink-channels 104f935a752SKathiravan T 105f935a752SKathiravan Trequired: 106f935a752SKathiravan T - compatible 107f935a752SKathiravan T 108f935a752SKathiravan TadditionalProperties: false 109f935a752SKathiravan T 110f935a752SKathiravan Texamples: 111f935a752SKathiravan T - | 112f935a752SKathiravan T #include <dt-bindings/interrupt-controller/arm-gic.h> 113f935a752SKathiravan T #include <dt-bindings/interrupt-controller/irq.h> 114f935a752SKathiravan T 1159a2c674eSStephan Gerhold remoteproc { 1169a2c674eSStephan Gerhold compatible = "qcom,msm8916-rpm-proc", "qcom,rpm-proc"; 117f935a752SKathiravan T 1189a2c674eSStephan Gerhold smd-edge { 119f935a752SKathiravan T interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 120f935a752SKathiravan T qcom,ipc = <&apcs 8 0>; 121f935a752SKathiravan T qcom,smd-edge = <15>; 122f935a752SKathiravan T 123375eed5fSKrzysztof Kozlowski rpm-requests { 124*9d5f3cc5SDmitry Baryshkov compatible = "qcom,rpm-msm8916", "qcom,smd-rpm"; 125f935a752SKathiravan T qcom,smd-channels = "rpm_requests"; 126f935a752SKathiravan T 12756e07c0cSKrzysztof Kozlowski clock-controller { 12856e07c0cSKrzysztof Kozlowski compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc"; 12956e07c0cSKrzysztof Kozlowski #clock-cells = <1>; 13056e07c0cSKrzysztof Kozlowski clocks = <&xo_board>; 13156e07c0cSKrzysztof Kozlowski clock-names = "xo"; 13256e07c0cSKrzysztof Kozlowski }; 13356e07c0cSKrzysztof Kozlowski 13456e07c0cSKrzysztof Kozlowski power-controller { 13556e07c0cSKrzysztof Kozlowski compatible = "qcom,msm8916-rpmpd"; 13656e07c0cSKrzysztof Kozlowski #power-domain-cells = <1>; 13756e07c0cSKrzysztof Kozlowski operating-points-v2 = <&rpmpd_opp_table>; 13856e07c0cSKrzysztof Kozlowski 13956e07c0cSKrzysztof Kozlowski rpmpd_opp_table: opp-table { 14056e07c0cSKrzysztof Kozlowski compatible = "operating-points-v2"; 14156e07c0cSKrzysztof Kozlowski 14256e07c0cSKrzysztof Kozlowski opp-1 { 14356e07c0cSKrzysztof Kozlowski opp-level = <1>; 14456e07c0cSKrzysztof Kozlowski }; 14556e07c0cSKrzysztof Kozlowski opp-2 { 14656e07c0cSKrzysztof Kozlowski opp-level = <2>; 147f935a752SKathiravan T }; 148f935a752SKathiravan T }; 149f935a752SKathiravan T }; 15056e07c0cSKrzysztof Kozlowski }; 15156e07c0cSKrzysztof Kozlowski }; 15256e07c0cSKrzysztof Kozlowski }; 153