xref: /OK3568_Linux_fs/kernel/Documentation/ABI/testing/sysfs-class-regulator (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../state
2*4882a593SmuzhiyunDate:		April 2008
3*4882a593SmuzhiyunKernelVersion:	2.6.26
4*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
5*4882a593SmuzhiyunDescription:
6*4882a593Smuzhiyun		Some regulator directories will contain a field called
7*4882a593Smuzhiyun		state. This reports the regulator enable control, for
8*4882a593Smuzhiyun		regulators which can report that input value.
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun		This will be one of the following strings:
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun		'enabled'
13*4882a593Smuzhiyun		'disabled'
14*4882a593Smuzhiyun		'unknown'
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun		'enabled' means the regulator output is ON and is supplying
17*4882a593Smuzhiyun		power to the system (assuming no error prevents it).
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun		'disabled' means the regulator output is OFF and is not
20*4882a593Smuzhiyun		supplying power to the system (unless some non-Linux
21*4882a593Smuzhiyun		control has enabled it).
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun		'unknown' means software cannot determine the state, or
24*4882a593Smuzhiyun		the reported state is invalid.
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun		NOTE: this field can be used in conjunction with microvolts
27*4882a593Smuzhiyun		or microamps to determine configured regulator output levels.
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../status
31*4882a593SmuzhiyunDescription:
32*4882a593Smuzhiyun		Some regulator directories will contain a field called
33*4882a593Smuzhiyun		"status". This reports the current regulator status, for
34*4882a593Smuzhiyun		regulators which can report that output value.
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun		This will be one of the following strings:
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun			- off
39*4882a593Smuzhiyun			- on
40*4882a593Smuzhiyun			- error
41*4882a593Smuzhiyun			- fast
42*4882a593Smuzhiyun			- normal
43*4882a593Smuzhiyun			- idle
44*4882a593Smuzhiyun			- standby
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun		"off" means the regulator is not supplying power to the
47*4882a593Smuzhiyun		system.
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun		"on" means the regulator is supplying power to the system,
50*4882a593Smuzhiyun		and the regulator can't report a detailed operation mode.
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun		"error" indicates an out-of-regulation status such as being
53*4882a593Smuzhiyun		disabled due to thermal shutdown, or voltage being unstable
54*4882a593Smuzhiyun		because of problems with the input power supply.
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun		"fast", "normal", "idle", and "standby" are all detailed
57*4882a593Smuzhiyun		regulator operation modes (described elsewhere).  They
58*4882a593Smuzhiyun		imply "on", but provide more detail.
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun		Note that regulator status is a function of many inputs,
61*4882a593Smuzhiyun		not limited to control inputs from Linux.  For example,
62*4882a593Smuzhiyun		the actual load presented may trigger "error" status; or
63*4882a593Smuzhiyun		a regulator may be enabled by another user, even though
64*4882a593Smuzhiyun		Linux did not enable it.
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun
67*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../type
68*4882a593SmuzhiyunDate:		April 2008
69*4882a593SmuzhiyunKernelVersion:	2.6.26
70*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
71*4882a593SmuzhiyunDescription:
72*4882a593Smuzhiyun		Each regulator directory will contain a field called
73*4882a593Smuzhiyun		type. This holds the regulator type.
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun		This will be one of the following strings:
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun		- 'voltage'
78*4882a593Smuzhiyun		- 'current'
79*4882a593Smuzhiyun		- 'unknown'
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun		'voltage' means the regulator output voltage can be controlled
82*4882a593Smuzhiyun		by software.
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun		'current' means the regulator output current limit can be
85*4882a593Smuzhiyun		controlled by software.
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun		'unknown' means software cannot control either voltage or
88*4882a593Smuzhiyun		current limit.
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun
91*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../microvolts
92*4882a593SmuzhiyunDate:		April 2008
93*4882a593SmuzhiyunKernelVersion:	2.6.26
94*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
95*4882a593SmuzhiyunDescription:
96*4882a593Smuzhiyun		Some regulator directories will contain a field called
97*4882a593Smuzhiyun		microvolts. This holds the regulator output voltage setting
98*4882a593Smuzhiyun		measured in microvolts (i.e. E-6 Volts), for regulators
99*4882a593Smuzhiyun		which can report the control input for voltage.
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun		NOTE: This value should not be used to determine the regulator
102*4882a593Smuzhiyun		output voltage level as this value is the same regardless of
103*4882a593Smuzhiyun		whether the regulator is enabled or disabled.
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun
106*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../microamps
107*4882a593SmuzhiyunDate:		April 2008
108*4882a593SmuzhiyunKernelVersion:	2.6.26
109*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
110*4882a593SmuzhiyunDescription:
111*4882a593Smuzhiyun		Some regulator directories will contain a field called
112*4882a593Smuzhiyun		microamps. This holds the regulator output current limit
113*4882a593Smuzhiyun		setting measured in microamps (i.e. E-6 Amps), for regulators
114*4882a593Smuzhiyun		which can report the control input for a current limit.
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun		NOTE: This value should not be used to determine the regulator
117*4882a593Smuzhiyun		output current level as this value is the same regardless of
118*4882a593Smuzhiyun		whether the regulator is enabled or disabled.
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun
121*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../opmode
122*4882a593SmuzhiyunDate:		April 2008
123*4882a593SmuzhiyunKernelVersion:	2.6.26
124*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
125*4882a593SmuzhiyunDescription:
126*4882a593Smuzhiyun		Some regulator directories will contain a field called
127*4882a593Smuzhiyun		opmode. This holds the current regulator operating mode,
128*4882a593Smuzhiyun		for regulators which can report that control input value.
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun		The opmode value can be one of the following strings:
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun		- 'fast'
133*4882a593Smuzhiyun		- 'normal'
134*4882a593Smuzhiyun		- 'idle'
135*4882a593Smuzhiyun		- 'standby'
136*4882a593Smuzhiyun		- 'unknown'
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun		The modes are described in include/linux/regulator/consumer.h
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun		NOTE: This value should not be used to determine the regulator
141*4882a593Smuzhiyun		output operating mode as this value is the same regardless of
142*4882a593Smuzhiyun		whether the regulator is enabled or disabled.  A "status"
143*4882a593Smuzhiyun		attribute may be available to determine the actual mode.
144*4882a593Smuzhiyun
145*4882a593Smuzhiyun
146*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../min_microvolts
147*4882a593SmuzhiyunDate:		April 2008
148*4882a593SmuzhiyunKernelVersion:	2.6.26
149*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
150*4882a593SmuzhiyunDescription:
151*4882a593Smuzhiyun		Some regulator directories will contain a field called
152*4882a593Smuzhiyun		min_microvolts. This holds the minimum safe working regulator
153*4882a593Smuzhiyun		output voltage setting for this domain measured in microvolts,
154*4882a593Smuzhiyun		for regulators which support voltage constraints.
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun		NOTE: this will return the string 'constraint not defined' if
157*4882a593Smuzhiyun		the power domain has no min microvolts constraint defined by
158*4882a593Smuzhiyun		platform code.
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun
161*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../max_microvolts
162*4882a593SmuzhiyunDate:		April 2008
163*4882a593SmuzhiyunKernelVersion:	2.6.26
164*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
165*4882a593SmuzhiyunDescription:
166*4882a593Smuzhiyun		Some regulator directories will contain a field called
167*4882a593Smuzhiyun		max_microvolts. This holds the maximum safe working regulator
168*4882a593Smuzhiyun		output voltage setting for this domain measured in microvolts,
169*4882a593Smuzhiyun		for regulators which support voltage constraints.
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun		NOTE: this will return the string 'constraint not defined' if
172*4882a593Smuzhiyun		the power domain has no max microvolts constraint defined by
173*4882a593Smuzhiyun		platform code.
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun
176*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../min_microamps
177*4882a593SmuzhiyunDate:		April 2008
178*4882a593SmuzhiyunKernelVersion:	2.6.26
179*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
180*4882a593SmuzhiyunDescription:
181*4882a593Smuzhiyun		Some regulator directories will contain a field called
182*4882a593Smuzhiyun		min_microamps. This holds the minimum safe working regulator
183*4882a593Smuzhiyun		output current limit setting for this domain measured in
184*4882a593Smuzhiyun		microamps, for regulators which support current constraints.
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun		NOTE: this will return the string 'constraint not defined' if
187*4882a593Smuzhiyun		the power domain has no min microamps constraint defined by
188*4882a593Smuzhiyun		platform code.
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun
191*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../max_microamps
192*4882a593SmuzhiyunDate:		April 2008
193*4882a593SmuzhiyunKernelVersion:	2.6.26
194*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
195*4882a593SmuzhiyunDescription:
196*4882a593Smuzhiyun		Some regulator directories will contain a field called
197*4882a593Smuzhiyun		max_microamps. This holds the maximum safe working regulator
198*4882a593Smuzhiyun		output current limit setting for this domain measured in
199*4882a593Smuzhiyun		microamps, for regulators which support current constraints.
200*4882a593Smuzhiyun
201*4882a593Smuzhiyun		NOTE: this will return the string 'constraint not defined' if
202*4882a593Smuzhiyun		the power domain has no max microamps constraint defined by
203*4882a593Smuzhiyun		platform code.
204*4882a593Smuzhiyun
205*4882a593Smuzhiyun
206*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../name
207*4882a593SmuzhiyunDate:		October 2008
208*4882a593SmuzhiyunKernelVersion:	2.6.28
209*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
210*4882a593SmuzhiyunDescription:
211*4882a593Smuzhiyun		Each regulator directory will contain a field called
212*4882a593Smuzhiyun		name. This holds a string identifying the regulator for
213*4882a593Smuzhiyun		display purposes.
214*4882a593Smuzhiyun
215*4882a593Smuzhiyun		NOTE: this will be empty if no suitable name is provided
216*4882a593Smuzhiyun		by platform or regulator drivers.
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun
219*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../num_users
220*4882a593SmuzhiyunDate:		April 2008
221*4882a593SmuzhiyunKernelVersion:	2.6.26
222*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
223*4882a593SmuzhiyunDescription:
224*4882a593Smuzhiyun		Each regulator directory will contain a field called
225*4882a593Smuzhiyun		num_users. This holds the number of consumer devices that
226*4882a593Smuzhiyun		have called regulator_enable() on this regulator.
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun
229*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../requested_microamps
230*4882a593SmuzhiyunDate:		April 2008
231*4882a593SmuzhiyunKernelVersion:	2.6.26
232*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
233*4882a593SmuzhiyunDescription:
234*4882a593Smuzhiyun		Some regulator directories will contain a field called
235*4882a593Smuzhiyun		requested_microamps. This holds the total requested load
236*4882a593Smuzhiyun		current in microamps for this regulator from all its consumer
237*4882a593Smuzhiyun		devices.
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun
240*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../parent
241*4882a593SmuzhiyunDate:		April 2008
242*4882a593SmuzhiyunKernelVersion:	2.6.26
243*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
244*4882a593SmuzhiyunDescription:
245*4882a593Smuzhiyun		Some regulator directories will contain a link called parent.
246*4882a593Smuzhiyun		This points to the parent or supply regulator if one exists.
247*4882a593Smuzhiyun
248*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../suspend_mem_microvolts
249*4882a593SmuzhiyunDate:		May 2008
250*4882a593SmuzhiyunKernelVersion:	2.6.26
251*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
252*4882a593SmuzhiyunDescription:
253*4882a593Smuzhiyun		Some regulator directories will contain a field called
254*4882a593Smuzhiyun		suspend_mem_microvolts. This holds the regulator output
255*4882a593Smuzhiyun		voltage setting for this domain measured in microvolts when
256*4882a593Smuzhiyun		the system is suspended to memory, for voltage regulators
257*4882a593Smuzhiyun		implementing suspend voltage configuration constraints.
258*4882a593Smuzhiyun
259*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../suspend_disk_microvolts
260*4882a593SmuzhiyunDate:		May 2008
261*4882a593SmuzhiyunKernelVersion:	2.6.26
262*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
263*4882a593SmuzhiyunDescription:
264*4882a593Smuzhiyun		Some regulator directories will contain a field called
265*4882a593Smuzhiyun		suspend_disk_microvolts. This holds the regulator output
266*4882a593Smuzhiyun		voltage setting for this domain measured in microvolts when
267*4882a593Smuzhiyun		the system is suspended to disk, for voltage regulators
268*4882a593Smuzhiyun		implementing suspend voltage configuration constraints.
269*4882a593Smuzhiyun
270*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../suspend_standby_microvolts
271*4882a593SmuzhiyunDate:		May 2008
272*4882a593SmuzhiyunKernelVersion:	2.6.26
273*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
274*4882a593SmuzhiyunDescription:
275*4882a593Smuzhiyun		Some regulator directories will contain a field called
276*4882a593Smuzhiyun		suspend_standby_microvolts. This holds the regulator output
277*4882a593Smuzhiyun		voltage setting for this domain measured in microvolts when
278*4882a593Smuzhiyun		the system is suspended to standby, for voltage regulators
279*4882a593Smuzhiyun		implementing suspend voltage configuration constraints.
280*4882a593Smuzhiyun
281*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../suspend_mem_mode
282*4882a593SmuzhiyunDate:		May 2008
283*4882a593SmuzhiyunKernelVersion:	2.6.26
284*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
285*4882a593SmuzhiyunDescription:
286*4882a593Smuzhiyun		Some regulator directories will contain a field called
287*4882a593Smuzhiyun		suspend_mem_mode. This holds the regulator operating mode
288*4882a593Smuzhiyun		setting for this domain when the system is suspended to
289*4882a593Smuzhiyun		memory, for regulators implementing suspend mode
290*4882a593Smuzhiyun		configuration constraints.
291*4882a593Smuzhiyun
292*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../suspend_disk_mode
293*4882a593SmuzhiyunDate:		May 2008
294*4882a593SmuzhiyunKernelVersion:	2.6.26
295*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
296*4882a593SmuzhiyunDescription:
297*4882a593Smuzhiyun		Some regulator directories will contain a field called
298*4882a593Smuzhiyun		suspend_disk_mode. This holds the regulator operating mode
299*4882a593Smuzhiyun		setting for this domain when the system is suspended to disk,
300*4882a593Smuzhiyun		for regulators implementing suspend mode configuration
301*4882a593Smuzhiyun		constraints.
302*4882a593Smuzhiyun
303*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../suspend_standby_mode
304*4882a593SmuzhiyunDate:		May 2008
305*4882a593SmuzhiyunKernelVersion:	2.6.26
306*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
307*4882a593SmuzhiyunDescription:
308*4882a593Smuzhiyun		Some regulator directories will contain a field called
309*4882a593Smuzhiyun		suspend_standby_mode. This holds the regulator operating mode
310*4882a593Smuzhiyun		setting for this domain when the system is suspended to
311*4882a593Smuzhiyun		standby, for regulators implementing suspend mode
312*4882a593Smuzhiyun		configuration constraints.
313*4882a593Smuzhiyun
314*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../suspend_mem_state
315*4882a593SmuzhiyunDate:		May 2008
316*4882a593SmuzhiyunKernelVersion:	2.6.26
317*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
318*4882a593SmuzhiyunDescription:
319*4882a593Smuzhiyun		Some regulator directories will contain a field called
320*4882a593Smuzhiyun		suspend_mem_state. This holds the regulator operating state
321*4882a593Smuzhiyun		when suspended to memory, for regulators implementing suspend
322*4882a593Smuzhiyun		configuration constraints.
323*4882a593Smuzhiyun
324*4882a593Smuzhiyun		This will be one of the same strings reported by
325*4882a593Smuzhiyun		the "state" attribute.
326*4882a593Smuzhiyun
327*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../suspend_disk_state
328*4882a593SmuzhiyunDate:		May 2008
329*4882a593SmuzhiyunKernelVersion:	2.6.26
330*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
331*4882a593SmuzhiyunDescription:
332*4882a593Smuzhiyun		Some regulator directories will contain a field called
333*4882a593Smuzhiyun		suspend_disk_state. This holds the regulator operating state
334*4882a593Smuzhiyun		when suspended to disk, for regulators implementing
335*4882a593Smuzhiyun		suspend configuration constraints.
336*4882a593Smuzhiyun
337*4882a593Smuzhiyun		This will be one of the same strings reported by
338*4882a593Smuzhiyun		the "state" attribute.
339*4882a593Smuzhiyun
340*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../suspend_standby_state
341*4882a593SmuzhiyunDate:		May 2008
342*4882a593SmuzhiyunKernelVersion:	2.6.26
343*4882a593SmuzhiyunContact:	Liam Girdwood <lrg@slimlogic.co.uk>
344*4882a593SmuzhiyunDescription:
345*4882a593Smuzhiyun		Some regulator directories will contain a field called
346*4882a593Smuzhiyun		suspend_standby_state. This holds the regulator operating
347*4882a593Smuzhiyun		state when suspended to standby, for regulators implementing
348*4882a593Smuzhiyun		suspend configuration constraints.
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun		This will be one of the same strings reported by
351*4882a593Smuzhiyun		the "state" attribute.
352*4882a593Smuzhiyun
353*4882a593SmuzhiyunWhat:		/sys/class/regulator/.../bypass
354*4882a593SmuzhiyunDate:		September 2012
355*4882a593SmuzhiyunKernelVersion:	3.7
356*4882a593SmuzhiyunContact:	Mark Brown <broonie@opensource.wolfsonmicro.com>
357*4882a593SmuzhiyunDescription:
358*4882a593Smuzhiyun		Some regulator directories will contain a field called
359*4882a593Smuzhiyun		bypass.  This indicates if the device is in bypass mode.
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun		This will be one of the following strings:
362*4882a593Smuzhiyun
363*4882a593Smuzhiyun		- 'enabled'
364*4882a593Smuzhiyun		- 'disabled'
365*4882a593Smuzhiyun		- 'unknown'
366*4882a593Smuzhiyun
367*4882a593Smuzhiyun		'enabled' means the regulator is in bypass mode.
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun		'disabled' means that the regulator is regulating.
370*4882a593Smuzhiyun
371*4882a593Smuzhiyun		'unknown' means software cannot determine the state, or
372*4882a593Smuzhiyun		the reported state is invalid.
373