Commit f6130be6 authored by Ashish Jangam's avatar Ashish Jangam Committed by Mark Brown

regulator: DA9055 regulator driver

This is the Regulator patch for the DA9055 PMIC and has got dependency on
the DA9055 MFD core.

This patch support all of the DA9055 regulators. The output voltages are
fully programmable through I2C interface only. The platform data with regulation
constraints is passed down from the board to the regulator.

This patch is functionaly tested on SMDK6410 board. DA9055 Evaluation board
was connected to the SMDK6410 board.
Signed-off-by: default avatarDavid Dajun Chen <dchen@diasemi.com>
Signed-off-by: default avatarAshish Jangam <ashish.jangam@kpitcummins.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 77b67063
...@@ -109,6 +109,16 @@ config REGULATOR_DA9052 ...@@ -109,6 +109,16 @@ config REGULATOR_DA9052
This driver supports the voltage regulators of DA9052-BC and This driver supports the voltage regulators of DA9052-BC and
DA9053-AA/Bx PMIC. DA9053-AA/Bx PMIC.
config REGULATOR_DA9055
tristate "Dialog Semiconductor DA9055 regulators"
depends on MFD_DA9055
help
Say y here to support the BUCKs and LDOs regulators found on
Dialog Semiconductor DA9055 PMIC.
This driver can also be built as a module. If so, the module
will be called da9055-regulator.
config REGULATOR_FAN53555 config REGULATOR_FAN53555
tristate "Fairchild FAN53555 Regulator" tristate "Fairchild FAN53555 Regulator"
depends on I2C depends on I2C
......
...@@ -18,6 +18,7 @@ obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o ...@@ -18,6 +18,7 @@ obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o
obj-$(CONFIG_REGULATOR_ARIZONA) += arizona-micsupp.o arizona-ldo1.o obj-$(CONFIG_REGULATOR_ARIZONA) += arizona-micsupp.o arizona-ldo1.o
obj-$(CONFIG_REGULATOR_DA903X) += da903x.o obj-$(CONFIG_REGULATOR_DA903X) += da903x.o
obj-$(CONFIG_REGULATOR_DA9052) += da9052-regulator.o obj-$(CONFIG_REGULATOR_DA9052) += da9052-regulator.o
obj-$(CONFIG_REGULATOR_DA9055) += da9055-regulator.o
obj-$(CONFIG_REGULATOR_DBX500_PRCMU) += dbx500-prcmu.o obj-$(CONFIG_REGULATOR_DBX500_PRCMU) += dbx500-prcmu.o
obj-$(CONFIG_REGULATOR_DB8500_PRCMU) += db8500-prcmu.o obj-$(CONFIG_REGULATOR_DB8500_PRCMU) += db8500-prcmu.o
obj-$(CONFIG_REGULATOR_FAN53555) += fan53555.o obj-$(CONFIG_REGULATOR_FAN53555) += fan53555.o
......
This diff is collapsed.
...@@ -25,8 +25,29 @@ struct da9055_pdata { ...@@ -25,8 +25,29 @@ struct da9055_pdata {
int gpio_base; int gpio_base;
struct regulator_init_data *regulators[DA9055_MAX_REGULATORS]; struct regulator_init_data *regulators[DA9055_MAX_REGULATORS];
bool reset_enable; /* Enable RTC in RESET Mode */ /* Enable RTC in RESET Mode */
enum gpio_select *gpio_rsel; /* Select regulator set thru GPIO 1/2 */ bool reset_enable;
enum gpio_select *gpio_ren; /* Enable regulator thru GPIO 1/2 */ /*
* GPI muxed pin to control
* regulator state A/B, 0 if not available.
*/
int *gpio_ren;
/*
* GPI muxed pin to control
* regulator set, 0 if not available.
*/
int *gpio_rsel;
/*
* Regulator mode control bits value (GPI offset) that
* that controls the regulator state, 0 if not available.
*/
enum gpio_select *reg_ren;
/*
* Regulator mode control bits value (GPI offset) that
* controls the regulator set A/B, 0 if not available.
*/
enum gpio_select *reg_rsel;
/* GPIOs to enable regulator, 0 if not available */
int *ena_gpio;
}; };
#endif /* __DA9055_PDATA_H */ #endif /* __DA9055_PDATA_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment