linux-yocto/Documentation/ABI/testing/sysfs-class-regulator
Mark Brown f59c8f9fe6 regulator: core: Support bypass mode
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>
2012-09-10 11:25:10 +08:00

12 KiB

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.