On Fri, May 25, 2018 at 03:31:20PM +0530, Rajendra Nayak wrote: > The RPMh powerdomain driver aggregates the corner votes from various > consumers for the ARC resources and communicates it to RPMh. > > We also add data for all powerdomains on sdm845 as part of the patch. > The driver can be extended to support other SoCs which support RPMh > > Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> > --- > .../devicetree/bindings/power/qcom,rpmhpd.txt | 65 ++++ > drivers/soc/qcom/Kconfig | 9 + > drivers/soc/qcom/Makefile | 1 + > drivers/soc/qcom/rpmhpd.c | 360 ++++++++++++++++++ > 4 files changed, 435 insertions(+) > create mode 100644 Documentation/devicetree/bindings/power/qcom,rpmhpd.txt > create mode 100644 drivers/soc/qcom/rpmhpd.c > > diff --git a/Documentation/devicetree/bindings/power/qcom,rpmhpd.txt b/Documentation/devicetree/bindings/power/qcom,rpmhpd.txt > new file mode 100644 > index 000000000000..c1fa986c12ee > --- /dev/null > +++ b/Documentation/devicetree/bindings/power/qcom,rpmhpd.txt > @@ -0,0 +1,65 @@ > +Qualcomm RPMh Powerdomains > + > +* For RPMh powerdomains, we communicate a performance state to RPMh > +which then translates it into a corresponding voltage on a rail > + > +Required Properties: > + - compatible: Should be one of the following > + * qcom,sdm845-rpmhpd: RPMh powerdomain for the sdm845 family of SoC > + - power-domain-cells: number of cells in power domain specifier > + must be 1 > + - operating-points-v2: Phandle to the OPP table for the power-domain. > + Refer to Documentation/devicetree/bindings/power/power_domain.txt > + and Documentation/devicetree/bindings/opp/qcom-opp.txt for more details > + > +Example: > + > + rpmhpd: power-controller { > + compatible = "qcom,sdm845-rpmhpd"; > + #power-domain-cells = <1>; > + operating-points-v2 = <&rpmhpd_opp_table>, > + <&rpmhpd_opp_table>, > + <&rpmhpd_opp_table>, > + <&rpmhpd_opp_table>, > + <&rpmhpd_opp_table>, > + <&rpmhpd_opp_table>, > + <&rpmhpd_opp_table>, > + <&rpmhpd_opp_table>, > + <&rpmhpd_opp_table>; > + }; > + > + rpmhpd_opp_table: opp-table { > + compatible = "operating-points-v2-qcom-level", "operating-points-v2"; > + > + rpmhpd_opp1: opp@1 { > + qcom-corner = <16>; Is it corner or level? > + }; > + > + rpmhpd_opp2: opp@2 { > + qcom-corner = <48>; > + }; > + > + rpmhpd_opp3: opp@3 { > + qcom-corner = <64>; > + }; > + > + rpmhpd_opp4: opp@4 { > + qcom-corner = <128>; > + }; > + > + rpmhpd_opp5: opp@5 { > + qcom-corner = <192>; > + }; > + > + rpmhpd_opp6: opp@6 { > + qcom-corner = <256>; > + }; > + > + rpmhpd_opp7: opp@7 { > + qcom-corner = <320>; > + }; > + > + rpmhpd_opp8: opp@8 { > + qcom-corner = <416>; > + }; > + }; -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html