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