![David Brownell](/assets/img/avatar_default.png)
Based on previous LKML discussions: * Update docs for regulator sysfs class attributes to highlight the fact that all current attributes are intended to be control inputs, including notably "state" and "opmode" which previously implied otherwise. * Define a new regulator driver get_status() method, which is the first method reporting regulator outputs instead of inputs. It can report on/off and error status; or instead of simply "on", report the actual operating mode. For the moment, this is a sysfs-only interface, not accessible to regulator clients. Such clients can use the current notification interfaces to detect errors, if the regulator reports them. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
352 lines
11 KiB
Text
352 lines
11 KiB
Text
What: /sys/class/regulator/.../state
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
state. This reports the regulator enable control, for
|
|
regulators which can report that input value.
|
|
|
|
This will be one of the following strings:
|
|
|
|
'enabled'
|
|
'disabled'
|
|
'unknown'
|
|
|
|
'enabled' means the regulator output is ON and is supplying
|
|
power to the system (assuming no error prevents it).
|
|
|
|
'disabled' means the regulator output is OFF and is not
|
|
supplying power to the system (unless some non-Linux
|
|
control has enabled it).
|
|
|
|
'unknown' means software cannot determine the state, or
|
|
the reported state is invalid.
|
|
|
|
NOTE: this field can be used in conjunction with microvolts
|
|
or microamps to determine configured regulator output levels.
|
|
|
|
|
|
What: /sys/class/regulator/.../status
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
"status". This reports the current regulator status, for
|
|
regulators which can report that output value.
|
|
|
|
This will be one of the following strings:
|
|
|
|
off
|
|
on
|
|
error
|
|
fast
|
|
normal
|
|
idle
|
|
standby
|
|
|
|
"off" means the regulator is not supplying power to the
|
|
system.
|
|
|
|
"on" means the regulator is supplying power to the system,
|
|
and the regulator can't report a detailed operation mode.
|
|
|
|
"error" indicates an out-of-regulation status such as being
|
|
disabled due to thermal shutdown, or voltage being unstable
|
|
because of problems with the input power supply.
|
|
|
|
"fast", "normal", "idle", and "standby" are all detailed
|
|
regulator operation modes (described elsewhere). They
|
|
imply "on", but provide more detail.
|
|
|
|
Note that regulator status is a function of many inputs,
|
|
not limited to control inputs from Linux. For example,
|
|
the actual load presented may trigger "error" status; or
|
|
a regulator may be enabled by another user, even though
|
|
Linux did not enable it.
|
|
|
|
|
|
What: /sys/class/regulator/.../type
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Each regulator directory will contain a field called
|
|
type. This holds the regulator type.
|
|
|
|
This will be one of the following strings:
|
|
|
|
'voltage'
|
|
'current'
|
|
'unknown'
|
|
|
|
'voltage' means the regulator output voltage can be controlled
|
|
by software.
|
|
|
|
'current' means the regulator output current limit can be
|
|
controlled by software.
|
|
|
|
'unknown' means software cannot control either voltage or
|
|
current limit.
|
|
|
|
|
|
What: /sys/class/regulator/.../microvolts
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
microvolts. This holds the regulator output voltage setting
|
|
measured in microvolts (i.e. E-6 Volts), for regulators
|
|
which can report the control input for voltage.
|
|
|
|
NOTE: This value should not be used to determine the regulator
|
|
output voltage level as this value is the same regardless of
|
|
whether the regulator is enabled or disabled.
|
|
|
|
|
|
What: /sys/class/regulator/.../microamps
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
microamps. This holds the regulator output current limit
|
|
setting measured in microamps (i.e. E-6 Amps), for regulators
|
|
which can report the control input for a current limit.
|
|
|
|
NOTE: This value should not be used to determine the regulator
|
|
output current level as this value is the same regardless of
|
|
whether the regulator is enabled or disabled.
|
|
|
|
|
|
What: /sys/class/regulator/.../opmode
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
opmode. This holds the current regulator operating mode,
|
|
for regulators which can report that control input value.
|
|
|
|
The opmode value can be one of the following strings:
|
|
|
|
'fast'
|
|
'normal'
|
|
'idle'
|
|
'standby'
|
|
'unknown'
|
|
|
|
The modes are described in include/linux/regulator/consumer.h
|
|
|
|
NOTE: This value should not be used to determine the regulator
|
|
output operating mode as this value is the same regardless of
|
|
whether the regulator is enabled or disabled. A "status"
|
|
attribute may be available to determine the actual mode.
|
|
|
|
|
|
What: /sys/class/regulator/.../min_microvolts
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
min_microvolts. This holds the minimum safe working regulator
|
|
output voltage setting for this domain measured in microvolts,
|
|
for regulators which support voltage constraints.
|
|
|
|
NOTE: this will return the string 'constraint not defined' if
|
|
the power domain has no min microvolts constraint defined by
|
|
platform code.
|
|
|
|
|
|
What: /sys/class/regulator/.../max_microvolts
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
max_microvolts. This holds the maximum safe working regulator
|
|
output voltage setting for this domain measured in microvolts,
|
|
for regulators which support voltage constraints.
|
|
|
|
NOTE: this will return the string 'constraint not defined' if
|
|
the power domain has no max microvolts constraint defined by
|
|
platform code.
|
|
|
|
|
|
What: /sys/class/regulator/.../min_microamps
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
min_microamps. This holds the minimum safe working regulator
|
|
output current limit setting for this domain measured in
|
|
microamps, for regulators which support current constraints.
|
|
|
|
NOTE: this will return the string 'constraint not defined' if
|
|
the power domain has no min microamps constraint defined by
|
|
platform code.
|
|
|
|
|
|
What: /sys/class/regulator/.../max_microamps
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
max_microamps. This holds the maximum safe working regulator
|
|
output current limit setting for this domain measured in
|
|
microamps, for regulators which support current constraints.
|
|
|
|
NOTE: this will return the string 'constraint not defined' if
|
|
the power domain has no max microamps constraint defined by
|
|
platform code.
|
|
|
|
|
|
What: /sys/class/regulator/.../name
|
|
Date: October 2008
|
|
KernelVersion: 2.6.28
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Each regulator directory will contain a field called
|
|
name. This holds a string identifying the regulator for
|
|
display purposes.
|
|
|
|
NOTE: this will be empty if no suitable name is provided
|
|
by platform or regulator drivers.
|
|
|
|
|
|
What: /sys/class/regulator/.../num_users
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Each regulator directory will contain a field called
|
|
num_users. This holds the number of consumer devices that
|
|
have called regulator_enable() on this regulator.
|
|
|
|
|
|
What: /sys/class/regulator/.../requested_microamps
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
requested_microamps. This holds the total requested load
|
|
current in microamps for this regulator from all its consumer
|
|
devices.
|
|
|
|
|
|
What: /sys/class/regulator/.../parent
|
|
Date: April 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a link called parent.
|
|
This points to the parent or supply regulator if one exists.
|
|
|
|
What: /sys/class/regulator/.../suspend_mem_microvolts
|
|
Date: May 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
suspend_mem_microvolts. This holds the regulator output
|
|
voltage setting for this domain measured in microvolts when
|
|
the system is suspended to memory, for voltage regulators
|
|
implementing suspend voltage configuration constraints.
|
|
|
|
What: /sys/class/regulator/.../suspend_disk_microvolts
|
|
Date: May 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
suspend_disk_microvolts. This holds the regulator output
|
|
voltage setting for this domain measured in microvolts when
|
|
the system is suspended to disk, for voltage regulators
|
|
implementing suspend voltage configuration constraints.
|
|
|
|
What: /sys/class/regulator/.../suspend_standby_microvolts
|
|
Date: May 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
suspend_standby_microvolts. This holds the regulator output
|
|
voltage setting for this domain measured in microvolts when
|
|
the system is suspended to standby, for voltage regulators
|
|
implementing suspend voltage configuration constraints.
|
|
|
|
What: /sys/class/regulator/.../suspend_mem_mode
|
|
Date: May 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
suspend_mem_mode. This holds the regulator operating mode
|
|
setting for this domain when the system is suspended to
|
|
memory, for regulators implementing suspend mode
|
|
configuration constraints.
|
|
|
|
What: /sys/class/regulator/.../suspend_disk_mode
|
|
Date: May 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
suspend_disk_mode. This holds the regulator operating mode
|
|
setting for this domain when the system is suspended to disk,
|
|
for regulators implementing suspend mode configuration
|
|
constraints.
|
|
|
|
What: /sys/class/regulator/.../suspend_standby_mode
|
|
Date: May 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
suspend_standby_mode. This holds the regulator operating mode
|
|
setting for this domain when the system is suspended to
|
|
standby, for regulators implementing suspend mode
|
|
configuration constraints.
|
|
|
|
What: /sys/class/regulator/.../suspend_mem_state
|
|
Date: May 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
suspend_mem_state. This holds the regulator operating state
|
|
when suspended to memory, for regulators implementing suspend
|
|
configuration constraints.
|
|
|
|
This will be one of the same strings reported by
|
|
the "state" attribute.
|
|
|
|
What: /sys/class/regulator/.../suspend_disk_state
|
|
Date: May 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
suspend_disk_state. This holds the regulator operating state
|
|
when suspended to disk, for regulators implementing
|
|
suspend configuration constraints.
|
|
|
|
This will be one of the same strings reported by
|
|
the "state" attribute.
|
|
|
|
What: /sys/class/regulator/.../suspend_standby_state
|
|
Date: May 2008
|
|
KernelVersion: 2.6.26
|
|
Contact: Liam Girdwood <lrg@slimlogic.co.uk>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
suspend_standby_state. This holds the regulator operating
|
|
state when suspended to standby, for regulators implementing
|
|
suspend configuration constraints.
|
|
|
|
This will be one of the same strings reported by
|
|
the "state" attribute.
|