1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Technologies, Inc. RPMh Regulators
10 - David Collins <collinsd@codeaurora.org>
13 rpmh-regulator devices support PMIC regulator management via the Voltage
14 Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.
15 The APPS processor communicates with these hardware blocks via a
16 Resource State Coordinator (RSC) using command packets. The VRM allows
17 changing three parameters for a given regulator, enable state, output
18 voltage, and operating mode. The XOB allows changing only a single
19 parameter for a given regulator, its enable state. Despite its name,
20 the XOB is capable of controlling the enable state of any PMIC peripheral.
21 It is used for clock buffers, low-voltage switches, and LDO/SMPS regulators
22 which have a fixed voltage and mode.
24 =======================
25 Required Node Structure
26 =======================
28 RPMh regulators must be described in two levels of device nodes. The first
29 level describes the PMIC containing the regulators and must reside within an
30 RPMh device node. The second level describes each regulator within the PMIC
31 which is to be used on the board. Each of these regulators maps to a single
34 The names used for regulator nodes must match those supported by a given
35 PMIC. Supported regulator node names are
36 For PM8005, smps1 - smps4
37 For PM8009, smps1 - smps2, ldo1 - ldo7
38 For PM8150, smps1 - smps10, ldo1 - ldo18
39 For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
40 For PM8350, smps1 - smps12, ldo1 - ldo10
41 For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
42 For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
44 For PM6150, smps1 - smps5, ldo1 - ldo19
45 For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
46 For PMX55, smps1 - smps7, ldo1 - ldo16
47 For PM7325, smps1 - smps8, ldo1 - ldo19
48 For PMR735A, smps1 - smps3, ldo1 - ldo7
53 - qcom,pm8005-rpmh-regulators
54 - qcom,pm8009-rpmh-regulators
55 - qcom,pm8009-1-rpmh-regulators
56 - qcom,pm8150-rpmh-regulators
57 - qcom,pm8150l-rpmh-regulators
58 - qcom,pm8350-rpmh-regulators
59 - qcom,pm8350c-rpmh-regulators
60 - qcom,pm8998-rpmh-regulators
61 - qcom,pmi8998-rpmh-regulators
62 - qcom,pm6150-rpmh-regulators
63 - qcom,pm6150l-rpmh-regulators
64 - qcom,pmx55-rpmh-regulators
65 - qcom,pm7325-rpmh-regulators
66 - qcom,pmr735a-rpmh-regulators
70 RPMh resource name suffix used for the regulators found
72 $ref: /schemas/types.yaml#/definitions/string
73 enum: [a, b, c, d, e, f]
75 qcom,always-wait-for-ack:
77 Boolean flag which indicates that the application processor
78 must wait for an ACK or a NACK from RPMh for every request
79 sent for this regulator including those which are for a
80 strictly lower power state.
81 $ref: /schemas/types.yaml#/definitions/flag
84 description: Input supply phandle of flash.
87 description: Input supply phandle of rgb.
90 description: Input supply phandle of one or more regulators.
93 description: BOB regulator parent supply phandle.
97 $ref: "regulator.yaml#"
98 description: BOB regulator node.
101 "^vdd-s([0-9]+)-supply$":
102 description: Input supply phandle(s) of one or more regulators.
104 "^vdd-(l[0-9]+[-]){1,5}supply$":
105 description: Input supply phandle(s) of one or more regulators.
107 "^(smps|ldo|lvs)[0-9]+$":
109 $ref: "regulator.yaml#"
110 description: smps/ldo regulator nodes(s).
112 additionalProperties: false
120 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
122 pm8998-rpmh-regulators {
123 compatible = "qcom,pm8998-rpmh-regulators";
126 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
129 regulator-min-microvolt = <1100000>;
130 regulator-max-microvolt = <1100000>;
134 regulator-min-microvolt = <1800000>;
135 regulator-max-microvolt = <1800000>;
136 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
137 regulator-allowed-modes =
138 <RPMH_REGULATOR_MODE_LPM
139 RPMH_REGULATOR_MODE_HPM>;
140 regulator-allow-set-load;
144 regulator-min-microvolt = <1800000>;
145 regulator-max-microvolt = <1800000>;
149 pmi8998-rpmh-regulators {
150 compatible = "qcom,pmi8998-rpmh-regulators";
154 regulator-min-microvolt = <3312000>;
155 regulator-max-microvolt = <3600000>;
156 regulator-allowed-modes =
157 <RPMH_REGULATOR_MODE_AUTO
158 RPMH_REGULATOR_MODE_HPM>;
159 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;