2008-04-30 16:13:42 +00:00
|
|
|
#
|
|
|
|
# Makefile for regulator drivers.
|
|
|
|
#
|
|
|
|
|
|
|
|
|
2012-03-03 11:40:02 +00:00
|
|
|
obj-$(CONFIG_REGULATOR) += core.o dummy.o fixed-helper.o
|
2011-11-18 11:17:17 +00:00
|
|
|
obj-$(CONFIG_OF) += of_regulator.o
|
2008-04-30 16:13:42 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_FIXED_VOLTAGE) += fixed.o
|
|
|
|
obj-$(CONFIG_REGULATOR_VIRTUAL_CONSUMER) += virtual.o
|
2009-04-26 13:49:39 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_USERSPACE_CONSUMER) += userspace-consumer.o
|
2008-04-30 16:13:42 +00:00
|
|
|
|
2012-02-22 01:29:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_88PM8607) += 88pm8607.o
|
|
|
|
obj-$(CONFIG_REGULATOR_AAT2870) += aat2870-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_AB3100) += ab3100.o
|
2013-06-07 16:11:24 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_AB8500) += ab8500-ext.o ab8500.o
|
2010-06-04 03:46:04 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_AD5398) += ad5398.o
|
2012-03-14 02:29:12 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o
|
2012-06-23 12:07:57 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_ARIZONA) += arizona-micsupp.o arizona-ldo1.o
|
2012-11-22 10:12:08 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_AS3711) += as3711-regulator.o
|
2012-02-22 01:29:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_DA903X) += da903x.o
|
|
|
|
obj-$(CONFIG_REGULATOR_DA9052) += da9052-regulator.o
|
2012-11-01 08:27:56 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_DA9055) += da9055-regulator.o
|
2012-02-22 01:29:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_DBX500_PRCMU) += dbx500-prcmu.o
|
|
|
|
obj-$(CONFIG_REGULATOR_DB8500_PRCMU) += db8500-prcmu.o
|
2012-09-08 10:52:18 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_FAN53555) += fan53555.o
|
2012-04-03 22:20:04 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_GPIO) += gpio-regulator.o
|
2012-02-22 01:29:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_ISL6271A) += isl6271a-regulator.o
|
2009-05-19 05:33:55 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_LP3971) += lp3971.o
|
2010-09-16 08:48:49 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_LP3972) += lp3972.o
|
2012-06-19 07:08:22 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_LP872X) += lp872x.o
|
2012-07-18 14:32:57 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_LP8788) += lp8788-buck.o
|
|
|
|
obj-$(CONFIG_REGULATOR_LP8788) += lp8788-ldo.o
|
2012-12-17 01:24:06 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_LP8755) += lp8755.o
|
2009-04-23 18:10:43 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX1586) += max1586.o
|
2010-01-25 15:24:09 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8649) += max8649.o
|
2009-09-25 07:39:26 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8660) += max8660.o
|
2012-08-09 20:24:34 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8907) += max8907-regulator.o
|
2010-01-11 12:10:08 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8925) += max8925-regulator.o
|
2010-08-20 05:43:56 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8952) += max8952.o
|
2012-11-19 01:28:29 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8973) += max8973-regulator.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-11 02:34:44 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8997) += max8997.o
|
2010-06-16 07:04:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX8998) += max8998.o
|
2012-06-01 04:17:14 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX77686) += max77686.o
|
2013-06-25 01:08:38 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MAX77693) += max77693.o
|
2009-11-10 08:18:06 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MC13783) += mc13783-regulator.o
|
2010-12-14 06:00:55 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o
|
2010-12-14 06:00:54 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_MC13XXX_CORE) += mc13xxx-regulator-core.o
|
2012-05-15 06:48:59 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o
|
2012-10-06 15:17:46 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS51632) += tps51632-regulator.o
|
2012-02-22 01:29:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_PCAP) += pcap-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_PCF50633) += pcf50633-regulator.o
|
2012-04-04 07:14:00 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_RC5T583) += rc5t583-regulator.o
|
2012-07-11 12:08:17 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_S2MPS11) += s2mps11.o
|
2012-02-22 01:29:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_S5M8767) += s5m8767.o
|
2011-03-09 12:02:55 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS6105X) += tps6105x-regulator.o
|
2012-02-22 01:29:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS62360) += tps62360-regulator.o
|
2009-08-20 19:09:44 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS65023) += tps65023-regulator.o
|
|
|
|
obj-$(CONFIG_REGULATOR_TPS6507X) += tps6507x-regulator.o
|
2012-03-22 13:04:09 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS65090) += tps65090-regulator.o
|
2012-01-11 10:41:49 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS65217) += tps65217-regulator.o
|
2010-12-07 17:04:11 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS6524X) += tps6524x-regulator.o
|
2012-02-22 01:29:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS6586X) += tps6586x-regulator.o
|
2011-05-02 21:20:08 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS65910) += tps65910-regulator.o
|
2012-02-22 01:29:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS65912) += tps65912-regulator.o
|
2012-11-11 15:12:01 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TPS80031) += tps80031-regulator.o
|
2012-02-22 01:29:16 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TWL4030) += twl-regulator.o
|
regulator: Introduce TI Adaptive Body Bias(ABB) on-chip LDO driver
Adaptive Body Biasing (ABB) modulates transistor bias voltages
dynamically in order to optimize switching speed versus leakage.
Texas Instruments' SmartReflex 2 technology provides support for this
power management technique with Forward Body Biasing (FBB) and Reverse
Body Biasing (RBB). These modulate the body voltage of transistor
cells or blocks dynamically to gain performance and reduce leakage.
TI's SmartReflex white paper[1] has further information for usage in
conjunction with other power management techniques.
The application of FBB/RBB technique is determined for each unique
device in some process nodes, whereas, they are mandated on other
process nodes.
In a nutshell, ABB technique is implemented on TI SoC as an on-chip
LDO which has ABB module controlling the bias voltage. However, the
voltage is unique per device. These vary per SoC family and the manner
in which these techniques are used may vary depending on the Operating
Performance Point (OPP) voltage targeted. For example:
OMAP3630/OMAP4430: certain OPPs mandate usage of FBB independent of
devices.
OMAP4460/OMAP4470: certain OPPs mandate usage of FBB, while others may
optionally use FBB or optimization with RBB.
OMAP5: ALL OPPs may optionally use ABB, and ABB biasing voltage is
influenced by vset fused in s/w and requiring s/w override of
default values.
Further, two generations of ABB module are used in various TI SoCs.
They have remained mostly register field compatible, however the
register offset had switched between versions.
We introduce ABB LDO support in the form of a regulator which is
controlled by voltages denoting the desired Operating Performance
Point which is targeted. However, since ABB transition is part of OPP
change sequence, the sequencing required to ensure sane operation
w.r.t OPP change is left to the controlling driver (example: cpufreq
SoC driver) using standard regulator operations.
The driver supports all ABB modes and ability to override ABB LDO vset
control efuse based ABB mode detection etc.
Current implementation is heavily influenced by the original patch
series [2][3] from Mike Turquette. However, the current implementation
supports only device tree based information.
[1] http://www.ti.com/pdfs/wtbu/smartreflex_whitepaper.pdf
[2] http://marc.info/?l=linux-omap&m=134931341818379&w=2
[3] http://marc.info/?l=linux-arm-kernel&m=134931402406853&w=2
[nm@ti.com: co-developer]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Andrii.Tseglytskyi <andrii.tseglytskyi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-05-02 17:20:10 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_TI_ABB) += ti-abb-regulator.o
|
2012-09-24 17:56:54 +00:00
|
|
|
obj-$(CONFIG_REGULATOR_VEXPRESS) += vexpress.o
|
2012-02-22 01:29:16 +00:00
|
|
|
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-13 01:13:13 +00:00
|
|
|
|
2009-08-20 19:09:44 +00:00
|
|
|
|
2008-04-30 16:13:42 +00:00
|
|
|
ccflags-$(CONFIG_REGULATOR_DEBUG) += -DDEBUG
|