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 PM6150, smps1 - smps5, ldo1 - ldo19
37 For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
38 For PM7325, smps1 - smps8, ldo1 - ldo19
39 For PM8005, smps1 - smps4
40 For PM8009, smps1 - smps2, ldo1 - ldo7
41 For PM8150, smps1 - smps10, ldo1 - ldo18
42 For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
43 For PM8350, smps1 - smps12, ldo1 - ldo10
44 For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
45 For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
47 For PMR735A, smps1 - smps3, ldo1 - ldo7
48 For PMX55, smps1 - smps7, ldo1 - ldo16
53 - qcom,pm6150-rpmh-regulators
54 - qcom,pm6150l-rpmh-regulators
55 - qcom,pm7325-rpmh-regulators
56 - qcom,pm8005-rpmh-regulators
57 - qcom,pm8009-rpmh-regulators
58 - qcom,pm8009-1-rpmh-regulators
59 - qcom,pm8150-rpmh-regulators
60 - qcom,pm8150l-rpmh-regulators
61 - qcom,pm8350-rpmh-regulators
62 - qcom,pm8350c-rpmh-regulators
63 - qcom,pm8998-rpmh-regulators
64 - qcom,pmi8998-rpmh-regulators
65 - qcom,pmm8155au-rpmh-regulators
66 - qcom,pmr735a-rpmh-regulators
67 - qcom,pmx55-rpmh-regulators
71 RPMh resource name suffix used for the regulators found
73 $ref: /schemas/types.yaml#/definitions/string
74 enum: [a, b, c, d, e, f]
76 qcom,always-wait-for-ack:
78 Boolean flag which indicates that the application processor
79 must wait for an ACK or a NACK from RPMh for every request
80 sent for this regulator including those which are for a
81 strictly lower power state.
82 $ref: /schemas/types.yaml#/definitions/flag
85 description: Input supply phandle of flash.
88 description: Input supply phandle of rgb.
91 description: Input supply phandle of one or more regulators.
94 description: BOB regulator parent supply phandle.
98 $ref: "regulator.yaml#"
99 description: BOB regulator node.
102 "^vdd-s([0-9]+)-supply$":
103 description: Input supply phandle(s) of one or more regulators.
105 "^vdd-(l[0-9]+[-]){1,5}supply$":
106 description: Input supply phandle(s) of one or more regulators.
108 "^(smps|ldo|lvs)[0-9]+$":
110 $ref: "regulator.yaml#"
111 description: smps/ldo regulator nodes(s).
113 additionalProperties: false
121 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
123 pm8998-rpmh-regulators {
124 compatible = "qcom,pm8998-rpmh-regulators";
127 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
130 regulator-min-microvolt = <1100000>;
131 regulator-max-microvolt = <1100000>;
135 regulator-min-microvolt = <1800000>;
136 regulator-max-microvolt = <1800000>;
137 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
138 regulator-allowed-modes =
139 <RPMH_REGULATOR_MODE_LPM
140 RPMH_REGULATOR_MODE_HPM>;
141 regulator-allow-set-load;
145 regulator-min-microvolt = <1800000>;
146 regulator-max-microvolt = <1800000>;
150 pmi8998-rpmh-regulators {
151 compatible = "qcom,pmi8998-rpmh-regulators";
155 regulator-min-microvolt = <3312000>;
156 regulator-max-microvolt = <3600000>;
157 regulator-allowed-modes =
158 <RPMH_REGULATOR_MODE_AUTO
159 RPMH_REGULATOR_MODE_HPM>;
160 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;