aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator/Kconfig
diff options
context:
space:
mode:
authorHeiko Stübner <heiko@sntech.de>2011-10-05 06:27:05 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-10-09 07:36:21 -0400
commit3f0292ae8bb100cc8f96106a3de277df48134887 (patch)
tree6638f4fb724c40042690364d9f682f7350f32110 /drivers/regulator/Kconfig
parente3efe6669bf9c3cbd955b5a2976c70d79e8fd745 (diff)
regulator: Add driver for gpio-controlled regulators
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 << 1) | (0 << 0) }, { .value = volt_or_cur2, .gpios = (0 << 1) | (1 << 0) }, { .value = volt_or_cur3, .gpios = (1 << 1) | (0 << 0) }, { .value = volt_or_cur4, .gpios = (1 << 1) | (1 << 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 <heiko@sntech.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator/Kconfig')
-rw-r--r--drivers/regulator/Kconfig9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
index c7fd2c0e3f2b..5e0c7b664732 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -64,6 +64,15 @@ config REGULATOR_USERSPACE_CONSUMER
64 64
65 If unsure, say no. 65 If unsure, say no.
66 66
67config REGULATOR_GPIO
68 tristate "GPIO regulator support"
69 help
70 This driver provides support for regulators that can be
71 controlled via gpios.
72 It is capable of supporting current and voltage regulators
73 and the platform has to provide a mapping of GPIO-states
74 to target volts/amps.
75
67config REGULATOR_BQ24022 76config REGULATOR_BQ24022
68 tristate "TI bq24022 Dual Input 1-Cell Li-Ion Charger IC" 77 tristate "TI bq24022 Dual Input 1-Cell Li-Ion Charger IC"
69 help 78 help