hc
2023-02-14 0cc9b7c44253c93447ddf73e206fbdbb3d9f16b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
Regulator DT binding for MAX77620 Power management IC from Maxim Semiconductor.
 
Device has multiple DCDC(sd[0-3] and LDOs(ldo[0-8]). The input supply
of these regulators are defined under parent device node.
Details of regulator properties are defined as child node under
sub-node "regulators" which is child node of device node.
 
Please refer file <Documentation/devicetree/bindings/regulator/regulator.txt>
for common regulator bindings used by client.
 
Following are properties of parent node related to regulators.
 
Optional properties:
-------------------
The input supply of regulators are the optional properties on the
parent device node. The input supply of these regulators are provided
through following properties:
in-sd0-supply:        Input supply for SD0, INA-SD0 or INB-SD0 pins.
in-sd1-supply:        Input supply for SD1.
in-sd2-supply:        Input supply for SD2.
in-sd3-supply:        Input supply for SD3.
in-ldo0-1-supply:    Input supply for LDO0 and LDO1.
in-ldo2-supply:        Input supply for LDO2.
in-ldo3-5-supply:    Input supply for LDO3 and LDO5
in-ldo4-6-supply:    Input supply for LDO4 and LDO6.
in-ldo7-8-supply:    Input supply for LDO7 and LDO8.
 
Optional sub nodes for regulators under "regulators" subnode:
------------------------------------------------------------
The subnodes name is the name of regulator and it must be one of:
   sd[0-3], ldo[0-8]
 
Each sub-node should contain the constraints and initialization
information for that regulator. The definition for each of these
nodes is defined using the standard binding for regulators found at
<Documentation/devicetree/bindings/regulator/regulator.txt>.
 
Theres are also additional properties for SD/LDOs. These additional properties
are required to configure FPS configuration parameters for SDs and LDOs.
Please refer <devicetree/bindings/mfd/max77620.txt> for more detail of Flexible
Power Sequence (FPS).
Following are additional properties:
 
- maxim,active-fps-source:        FPS source for the regulators to get
                   enabled/disabled when system is in
                   active state.  Valid values are:
                   - MAX77620_FPS_SRC_0,
                       FPS source is FPS0.
                   - MAX77620_FPS_SRC_1,
                       FPS source is FPS1
                   - MAX77620_FPS_SRC_2 and
                       FPS source is FPS2
                   - MAX77620_FPS_SRC_NONE.
                       Regulator is not controlled
                       by FPS events and it gets
                       enabled/disabled by register
                       access.
                   Absence of this property will leave
                   the FPS configuration register for that
                   regulator to default configuration.
 
- maxim,active-fps-power-up-slot:    Sequencing event slot number on which
                   the regulator get enabled when
                   master FPS input event set to HIGH.
                   Valid values are 0 to 7.
                   This is applicable if FPS source is
                   selected as FPS0, FPS1 or FPS2.
           
- maxim,active-fps-power-down-slot:    Sequencing event slot number on which
                   the regulator get disabled when master
                   FPS input event set to LOW.
                   Valid values are 0 to 7.
                   This is applicable if FPS source is
                   selected as FPS0, FPS1 or FPS2.
           
- maxim,suspend-fps-source:        This is same as property
                   "maxim,active-fps-source" but value
                   get configured when system enters in
                   to suspend state.
 
- maxim,suspend-fps-power-up-slot:    This is same as property
                   "maxim,active-fps-power-up-slot" but
                   this value get configured into FPS
                   configuration register when system
                   enters into suspend.
                   This is applicable if suspend state
                   FPS source is selected as FPS0, FPS1 or
 
- maxim,suspend-fps-power-down-slot:    This is same as property
                   "maxim,active-fps-power-down-slot" but
                   this value get configured into FPS
                   configuration register when system
                   enters into suspend.
                   This is applicable if suspend state
                   FPS source is selected as FPS0, FPS1 or
                   FPS2.
- maxim,ramp-rate-setting:        integer, ramp rate(uV/us) setting to be
                   configured to the device.
                   The platform may have different ramp
                   rate than advertised ramp rate if it has
                   design variation from Maxim's
                   recommended. On this case, platform
                   specific ramp rate is used for ramp time
                   calculation and this property is used
                   for device register configurations.
                   The measured ramp rate of platform is
                   provided by the regulator-ramp-delay
                   as described in <devicetree/bindings/
                   regulator/regulator.txt>.
                   Maxim Max77620 supports following ramp
                   delay:
                     SD: 13.75mV/us, 27.5mV/us, 55mV/us
                     LDOs: 5mV/us, 100mV/us
 
Note: If the measured ramp delay is same as advertised ramp delay then it is not
required to provide the ramp delay with property "maxim,ramp-rate-setting". The
ramp rate can be provided by the regulator-ramp-delay which will be used for
ramp time calculation for voltage change as well as for device configuration.
 
Example:
--------
#include <dt-bindings/mfd/max77620.h>
...
max77620@3c {
   in-ldo0-1-supply = <&max77620_sd2>;
   in-ldo7-8-supply = <&max77620_sd2>;
   regulators {
       sd0 {
           regulator-name = "vdd-core";
           regulator-min-microvolt = <600000>;
           regulator-max-microvolt = <1400000>;
           regulator-boot-on;
           regulator-always-on;
           maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
       };
 
       sd1 {
           regulator-name = "vddio-ddr";
           regulator-min-microvolt = <1200000>;
           regulator-max-microvolt = <1200000>;
           regulator-always-on;
           regulator-boot-on;
           maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
       };
 
       sd2 {
           regulator-name = "vdd-pre-reg";
           regulator-min-microvolt = <1350000>;
           regulator-max-microvolt = <1350000>;
       };
 
       sd3 {
           regulator-name = "vdd-1v8";
           regulator-min-microvolt = <1800000>;
           regulator-max-microvolt = <1800000>;
           regulator-always-on;
           regulator-boot-on;
       };
 
       ldo0 {
           regulator-name = "avdd-sys";
           regulator-min-microvolt = <1200000>;
           regulator-max-microvolt = <1200000>;
           regulator-always-on;
           regulator-boot-on;
       };
 
       ldo1 {
           regulator-name = "vdd-pex";
           regulator-min-microvolt = <1050000>;
           regulator-max-microvolt = <1050000>;
       };
 
       ldo2 {
           regulator-name = "vddio-sdmmc3";
           regulator-min-microvolt = <1800000>;
           regulator-max-microvolt = <3300000>;
       };
 
       ldo3 {
           regulator-name = "vdd-cam-hv";
           regulator-min-microvolt = <2800000>;
           regulator-max-microvolt = <2800000>;
       };
 
       ldo4 {
           regulator-name = "vdd-rtc";
           regulator-min-microvolt = <1250000>;
           regulator-max-microvolt = <1250000>;
           regulator-always-on;
           regulator-boot-on;
       };
 
       ldo5 {
           regulator-name = "avdd-ts-hv";
           regulator-min-microvolt = <3000000>;
           regulator-max-microvolt = <3000000>;
       };
 
       ldo6 {
           regulator-name = "vdd-ts";
           regulator-min-microvolt = <1800000>;
           regulator-max-microvolt = <1800000>;
           regulator-always-on;
           regulator-boot-on;
       };
 
       ldo7 {
           regulator-name = "vdd-gen-pll-edp";
           regulator-min-microvolt = <1050000>;
           regulator-max-microvolt = <1050000>;
           regulator-always-on;
           regulator-boot-on;
       };
 
       ldo8 {
           regulator-name = "vdd-hdmi-dp";
           regulator-min-microvolt = <1050000>;
           regulator-max-microvolt = <1050000>;
       };
   };
};