Merge tag 'sound-5.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / regulator / qcom,rpmh-regulator.txt
1 Qualcomm Technologies, Inc. RPMh Regulators
2
3 rpmh-regulator devices support PMIC regulator management via the Voltage
4 Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.  The APPS
5 processor communicates with these hardware blocks via a Resource State
6 Coordinator (RSC) using command packets.  The VRM allows changing three
7 parameters for a given regulator: enable state, output voltage, and operating
8 mode.  The XOB allows changing only a single parameter for a given regulator:
9 its enable state.  Despite its name, the XOB is capable of controlling the
10 enable state of any PMIC peripheral.  It is used for clock buffers, low-voltage
11 switches, and LDO/SMPS regulators which have a fixed voltage and mode.
12
13 =======================
14 Required Node Structure
15 =======================
16
17 RPMh regulators must be described in two levels of device nodes.  The first
18 level describes the PMIC containing the regulators and must reside within an
19 RPMh device node.  The second level describes each regulator within the PMIC
20 which is to be used on the board.  Each of these regulators maps to a single
21 RPMh resource.
22
23 The names used for regulator nodes must match those supported by a given PMIC.
24 Supported regulator node names:
25         PM8005:         smps1 - smps4
26         PM8009:         smps1 - smps2, ldo1 - ldo7
27         PM8150:         smps1 - smps10, ldo1 - ldo18
28         PM8150L:        smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
29         PM8998:         smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
30         PMI8998:        bob
31         PM6150:         smps1 - smps5, ldo1 - ldo19
32         PM6150L:        smps1 - smps8, ldo1 - ldo11, bob
33
34 ========================
35 First Level Nodes - PMIC
36 ========================
37
38 - compatible
39         Usage:      required
40         Value type: <string>
41         Definition: Must be one of below:
42                     "qcom,pm8005-rpmh-regulators"
43                     "qcom,pm8009-rpmh-regulators"
44                     "qcom,pm8150-rpmh-regulators"
45                     "qcom,pm8150l-rpmh-regulators"
46                     "qcom,pm8998-rpmh-regulators"
47                     "qcom,pmi8998-rpmh-regulators"
48                     "qcom,pm6150-rpmh-regulators"
49                     "qcom,pm6150l-rpmh-regulators"
50
51 - qcom,pmic-id
52         Usage:      required
53         Value type: <string>
54         Definition: RPMh resource name suffix used for the regulators found on
55                     this PMIC.  Typical values: "a", "b", "c", "d", "e", "f".
56
57 - vdd-s1-supply
58 - vdd-s2-supply
59 - vdd-s3-supply
60 - vdd-s4-supply
61         Usage:      optional (PM8998 and PM8005 only)
62         Value type: <phandle>
63         Definition: phandle of the parent supply regulator of one or more of the
64                     regulators for this PMIC.
65
66 - vdd-s5-supply
67 - vdd-s6-supply
68 - vdd-s7-supply
69 - vdd-s8-supply
70 - vdd-s9-supply
71 - vdd-s10-supply
72 - vdd-s11-supply
73 - vdd-s12-supply
74 - vdd-s13-supply
75 - vdd-l1-l27-supply
76 - vdd-l2-l8-l17-supply
77 - vdd-l3-l11-supply
78 - vdd-l4-l5-supply
79 - vdd-l6-supply
80 - vdd-l7-l12-l14-l15-supply
81 - vdd-l9-supply
82 - vdd-l10-l23-l25-supply
83 - vdd-l13-l19-l21-supply
84 - vdd-l16-l28-supply
85 - vdd-l18-l22-supply
86 - vdd-l20-l24-supply
87 - vdd-l26-supply
88 - vin-lvs-1-2-supply
89         Usage:      optional (PM8998 only)
90         Value type: <phandle>
91         Definition: phandle of the parent supply regulator of one or more of the
92                     regulators for this PMIC.
93
94 - vdd-bob-supply
95         Usage:      optional (PMI8998 only)
96         Value type: <phandle>
97         Definition: BOB regulator parent supply phandle
98
99 ===============================
100 Second Level Nodes - Regulators
101 ===============================
102
103 - qcom,always-wait-for-ack
104         Usage:      optional
105         Value type: <empty>
106         Definition: Boolean flag which indicates that the application processor
107                     must wait for an ACK or a NACK from RPMh for every request
108                     sent for this regulator including those which are for a
109                     strictly lower power state.
110
111 Other properties defined in Documentation/devicetree/bindings/regulator/regulator.txt
112 may also be used.  regulator-initial-mode and regulator-allowed-modes may be
113 specified for VRM regulators using mode values from
114 include/dt-bindings/regulator/qcom,rpmh-regulator.h.  regulator-allow-bypass
115 may be specified for BOB type regulators managed via VRM.
116 regulator-allow-set-load may be specified for LDO type regulators managed via
117 VRM.
118
119 ========
120 Examples
121 ========
122
123 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
124
125 &apps_rsc {
126         pm8998-rpmh-regulators {
127                 compatible = "qcom,pm8998-rpmh-regulators";
128                 qcom,pmic-id = "a";
129
130                 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
131
132                 smps2 {
133                         regulator-min-microvolt = <1100000>;
134                         regulator-max-microvolt = <1100000>;
135                 };
136
137                 pm8998_s5: smps5 {
138                         regulator-min-microvolt = <1904000>;
139                         regulator-max-microvolt = <2040000>;
140                 };
141
142                 ldo7 {
143                         regulator-min-microvolt = <1800000>;
144                         regulator-max-microvolt = <1800000>;
145                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
146                         regulator-allowed-modes =
147                                 <RPMH_REGULATOR_MODE_LPM
148                                  RPMH_REGULATOR_MODE_HPM>;
149                         regulator-allow-set-load;
150                 };
151
152                 lvs1 {
153                         regulator-min-microvolt = <1800000>;
154                         regulator-max-microvolt = <1800000>;
155                 };
156         };
157
158         pmi8998-rpmh-regulators {
159                 compatible = "qcom,pmi8998-rpmh-regulators";
160                 qcom,pmic-id = "b";
161
162                 bob {
163                         regulator-min-microvolt = <3312000>;
164                         regulator-max-microvolt = <3600000>;
165                         regulator-allowed-modes =
166                                 <RPMH_REGULATOR_MODE_AUTO
167                                  RPMH_REGULATOR_MODE_HPM>;
168                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
169                 };
170         };
171 };