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