<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-obmc-linux/include/linux/regulator/gpio-regulator.h, branch v3.2</title>
<subtitle>Talos™ II Linux sources for OpenBMC</subtitle>
<id>https://git.raptorcs.com/git/talos-obmc-linux/atom?h=v3.2</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-obmc-linux/atom?h=v3.2'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/'/>
<updated>2011-10-09T11:36:21+00:00</updated>
<entry>
<title>regulator: Add driver for gpio-controlled regulators</title>
<updated>2011-10-09T11:36:21+00:00</updated>
<author>
<name>Heiko Stübner</name>
<email>heiko@sntech.de</email>
</author>
<published>2011-10-05T10:27:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-obmc-linux/commit/?id=3f0292ae8bb100cc8f96106a3de277df48134887'/>
<id>urn:sha1:3f0292ae8bb100cc8f96106a3de277df48134887</id>
<content type='text'>
This patch adds support for regulators that can be controlled via gpios.

Examples for such regulators are the TI-tps65024x voltage regulators
with 4 fixed and 1 runtime-switchable voltage regulators
or the TI-bq240XX charger regulators.

The number of controlling gpios is not limited, the mapping between
voltage/current and target gpio state is done via the states map
and the driver can be used for either voltage or current regulators.

A mapping for a regulator with two GPIOs could look like:

gpios = {
	{ .gpio = GPIO1, .flags = GPIOF_OUT_INIT_HIGH, .label = "gpio name 1" },
	{ .gpio = GPIO2, .flags = GPIOF_OUT_INIT_LOW,  .label = "gpio name 2" },
}

The flags element of the gpios array determines the initial state of
the gpio, set during probe. The initial state of the regulator is also
calculated from these values

states = {
	{ .value = volt_or_cur1, .gpios = (0 &lt;&lt; 1) | (0 &lt;&lt; 0) },
	{ .value = volt_or_cur2, .gpios = (0 &lt;&lt; 1) | (1 &lt;&lt; 0) },
	{ .value = volt_or_cur3, .gpios = (1 &lt;&lt; 1) | (0 &lt;&lt; 0) },
	{ .value = volt_or_cur4, .gpios = (1 &lt;&lt; 1) | (1 &lt;&lt; 0) },
}

The target-state for the n-th gpio is determined by the n-th bit
in the bitfield of the target-value.

Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
</feed>
