2008-04-30 09:13:42 -07:00
|
|
|
#
|
|
|
|
# Makefile for regulator drivers.
|
|
|
|
#
|
|
|
|
|
|
|
|
|
2012-03-03 04:40:02 -07:00
|
|
|
obj-$(CONFIG_REGULATOR) += core.o dummy.o fixed-helper.o
|
2011-11-18 04:17:17 -07:00
|
|
|
obj-$(CONFIG_OF) += of_regulator.o
|
2008-04-30 09:13:42 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_FIXED_VOLTAGE) += fixed.o
|
|
|
|
obj-$(CONFIG_REGULATOR_VIRTUAL_CONSUMER) += virtual.o
|
2009-04-26 06:49:39 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_USERSPACE_CONSUMER) += userspace-consumer.o
|
2008-04-30 09:13:42 -07:00
|
|
|
|
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>
2011-10-05 03:27:05 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_GPIO) += gpio-regulator.o
|
2012-02-21 18:29:16 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_88PM8607) += 88pm8607.o
|
|
|
|
obj-$(CONFIG_REGULATOR_AAT2870) += aat2870-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_AB3100) += ab3100.o
|
|
|
|
obj-$(CONFIG_REGULATOR_AB8500) += ab8500.o
|
2010-06-03 20:46:04 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_AD5398) += ad5398.o
|
2012-03-13 19:29:12 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o
|
2008-07-11 08:28:06 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_BQ24022) += bq24022.o
|
2012-02-21 18:29:16 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_DA903X) += da903x.o
|
|
|
|
obj-$(CONFIG_REGULATOR_DA9052) += da9052-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_DBX500_PRCMU) += dbx500-prcmu.o
|
|
|
|
obj-$(CONFIG_REGULATOR_DB8500_PRCMU) += db8500-prcmu.o
|
|
|
|
obj-$(CONFIG_REGULATOR_ISL6271A) += isl6271a-regulator.o
|
2009-05-18 22:33:55 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_LP3971) += lp3971.o
|
2010-09-16 01:48:49 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_LP3972) += lp3972.o
|
2009-04-23 11:10:43 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX1586) += max1586.o
|
2010-01-25 08:24:09 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8649) += max8649.o
|
2009-09-25 00:39:26 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8660) += max8660.o
|
2010-01-11 05:10:08 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8925) += max8925-regulator.o
|
2010-08-19 22:43:56 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8952) += max8952.o
|
regulator: MAX8997/8966 support
This patch supports PMIC/Regulator part of MAX8997/MAX8966 MFD.
In this initial release, selecting voltages or current-limit
and switching on/off the regulators are supported.
Controlling voltages for DVS with GPIOs is not implemented fully
and requires more considerations: it controls multiple bucks (selection
of 1, 2, and 5) at the same time with SET1~3 gpios. Thus, when DVS-GPIO
is activated, we lose the ability to control the voltage of a single
buck regulator independently; i.e., contolling a buck affects other two
bucks. Therefore, using the conventional regulator framework directly
might be problematic. However, in this driver, we try to choose
a setting without such side effect of affecting other regulators and
then try to choose a setting with the minimum side effect (the sum of
voltage changes in other regulators).
On the other hand, controlling all the three bucks simultenously based
on the voltage set table may help build cpufreq and similar system
more robust; i.e., all the three voltages are consistent every time
without glitches during transition.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2011-03-10 19:34:44 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8997) += max8997.o
|
2010-06-16 00:04:16 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8998) += max8998.o
|
2009-11-10 01:18:06 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_MC13783) += mc13783-regulator.o
|
2010-12-13 23:00:55 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o
|
2010-12-13 23:00:54 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_MC13XXX_CORE) += mc13xxx-regulator-core.o
|
2012-02-21 18:29:16 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_PCAP) += pcap-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_PCF50633) += pcf50633-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_S5M8767) += s5m8767.o
|
2011-03-09 05:02:55 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS6105X) += tps6105x-regulator.o
|
2012-02-21 18:29:16 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS62360) += tps62360-regulator.o
|
2009-08-20 12:09:44 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS65023) += tps65023-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_TPS6507X) += tps6507x-regulator.o
|
2012-01-11 03:41:49 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS65217) += tps65217-regulator.o
|
2010-12-07 10:04:11 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS6524X) += tps6524x-regulator.o
|
2012-02-21 18:29:16 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS6586X) += tps6586x-regulator.o
|
2011-05-02 14:20:08 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS65910) += tps65910-regulator.o
|
2012-02-21 18:29:16 -07:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS65912) += tps65912-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_TWL4030) += twl-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_WM831X) += wm831x-dcdc.o
|
|
|
|
obj-$(CONFIG_REGULATOR_WM831X) += wm831x-isink.o
|
|
|
|
obj-$(CONFIG_REGULATOR_WM831X) += wm831x-ldo.o
|
|
|
|
obj-$(CONFIG_REGULATOR_WM8350) += wm8350-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_WM8400) += wm8400-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_WM8994) += wm8994-regulator.o
|
2012-01-12 18:13:13 -07:00
|
|
|
|
2009-08-20 12:09:44 -07:00
|
|
|
|
2008-04-30 09:13:42 -07:00
|
|
|
ccflags-$(CONFIG_REGULATOR_DEBUG) += -DDEBUG
|