linux/drivers/regulator
Mark Brown e24a04c44c regulator: Implement WM831x BuckWise DC-DC convertor DVS support
The BuckWise DC-DC convertors in WM831x devices support switching to
a second output voltage using the logic level on one of the device
pins. This is intended to allow rapid voltage switching for uses like
cpufreq, replacing the I2C or SPI write used to configure the voltage
of the regulator with a much faster GPIO status change.

This is implemented by keeping the DVS voltage configured as the
maximum voltage permitted for the regulator. If a request is made
for the maximum voltage then the GPIO is used to switch to the DVS
voltage, otherwise the normal ON voltage is updated and used. This
follows the idiom used by most cpufreq drivers, which drop the
minimum voltage as the core frequency is dropped but use a constant
maximum - raising the voltage should normally be fast, but lowering
it may be slower.

Configuration of the DVS MFP on the device should be done externally,
for example via OTP.

Support is present in the hardware for monitoring the status of the
transition using a second GPIO. This is not currently implemented
but platform data is provided for it - the driver currently assumes
that the device will be configured to transition immediately - but
platform data is provided to reduce merge issues once it is.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2009-12-17 10:27:22 +00:00
..
ab3100.c regulator: Voltage count for AB3100 2009-09-17 15:48:24 +02:00
bq24022.c regulator/bq24022: fix bug in is_enabled function 2009-04-28 18:58:08 +01:00
core.c regulator: Handle missing constraints in _regulator_disable() 2009-11-16 09:57:16 +00:00
da903x.c regulator: fix voltage range in da9034 ldo12 2009-09-22 13:58:23 +01:00
fixed.c dereferencing freed memory regulator_fixed_voltage_remove() 2009-11-16 12:40:25 +00:00
Kconfig regulator: add driver for MAX8660/8661 2009-12-17 10:27:22 +00:00
lp3971.c regulator/lp3971: drop unnecessary initialization 2009-09-22 13:32:45 +01:00
Makefile regulator: add driver for MAX8660/8661 2009-12-17 10:27:22 +00:00
max1586.c regulator/max1586: fix V3 gain calculation integer overflow 2009-06-15 11:18:27 +01:00
max8660.c regulator: add driver for MAX8660/8661 2009-12-17 10:27:22 +00:00
mc13783.c regulator: Add Freescale MC13783 driver 2009-09-17 09:47:19 +02:00
pcap-regulator.c regulator: get pcap data from the parent device 2009-09-17 09:47:13 +02:00
pcf50633-regulator.c mfd: Fix pcf50633-regulator drvdata usage 2009-12-13 19:21:20 +01:00
tps6507x-regulator.c regulator: tps650xx - build fixes for x86_64 2009-09-22 13:32:43 +01:00
tps65023-regulator.c regulator: tps650xx - build fixes for x86_64 2009-09-22 13:32:43 +01:00
twl-regulator.c regulator: Add support for twl6030 regulators 2009-12-14 00:26:20 +01:00
userspace-consumer.c regulator: userspace: use sysfs_create_group 2009-09-22 13:32:41 +01:00
virtual.c regulator: Improve virtual consumer probe error handling 2009-09-22 13:32:39 +01:00
wm831x-dcdc.c regulator: Implement WM831x BuckWise DC-DC convertor DVS support 2009-12-17 10:27:22 +00:00
wm831x-isink.c regulator: Initialise wm831x structure pointor for ISINK driver 2009-12-02 19:37:16 +00:00
wm831x-ldo.c regulator: Fix check of unsigned return value and transmit errors in wm831x_gp_ldo_get_mode() 2009-11-16 09:57:17 +00:00
wm8350-regulator.c mfd: Mask and unmask wm8350 IRQs on request and free 2009-12-13 19:21:40 +01:00
wm8400-regulator.c regulator: remove driver_data direct access of struct device 2009-06-15 11:18:25 +01:00