mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 20:53:53 +08:00
f59c8f9fe6
Many regulators support a bypass mode where they simply switch their input supply to the output. This is mainly used in low power retention states where power consumption is extremely low so higher voltage or less clean supplies can be used. Support this by providing ops for the drivers and a consumer API which allows the device to be put into bypass mode if all consumers enable it and the machine enables permission for this. This is not supported as a mode since the existing modes are rarely used due to fuzzy definition and mostly redundant with modern hardware which is able to respond promptly to load changes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Reviewed-by: Graeme Gregory <gg@slimlogic.co.uk>
373 lines
12 KiB
Plaintext
373 lines
12 KiB
Plaintext
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.
|
|
|
|
What: /sys/class/regulator/.../bypass
|
|
Date: September 2012
|
|
KernelVersion: 3.7
|
|
Contact: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Description:
|
|
Some regulator directories will contain a field called
|
|
bypass. This indicates if the device is in bypass mode.
|
|
|
|
This will be one of the following strings:
|
|
|
|
'enabled'
|
|
'disabled'
|
|
'unknown'
|
|
|
|
'enabled' means the regulator is in bypass mode.
|
|
|
|
'disabled' means that the regulator is regulating.
|
|
|
|
'unknown' means software cannot determine the state, or
|
|
the reported state is invalid.
|