diff options
-rw-r--r-- | drivers/mfd/twl-core.c | 10 | ||||
-rw-r--r-- | drivers/regulator/twl-regulator.c | 2 | ||||
-rw-r--r-- | include/linux/i2c/twl.h | 3 |
3 files changed, 15 insertions, 0 deletions
diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c index 622e58e..ad4ba9b 100644 --- a/drivers/mfd/twl-core.c +++ b/drivers/mfd/twl-core.c @@ -970,6 +970,16 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features) features); if (IS_ERR(child)) return PTR_ERR(child); + + child = add_regulator(TWL6030_REG_VDD3, pdata->vdd3, + features); + if (IS_ERR(child)) + return PTR_ERR(child); + + child = add_regulator(TWL6030_REG_VMEM, pdata->vmem, + features); + if (IS_ERR(child)) + return PTR_ERR(child); } /* 6030 and 6025 share this regulator */ diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c index 78c5964..ba1b923 100644 --- a/drivers/regulator/twl-regulator.c +++ b/drivers/regulator/twl-regulator.c @@ -994,6 +994,8 @@ static struct twlreg_info twl_regs[] = { TWL6030_FIXED_LDO(VDAC, 0x64, 1800, 0), TWL6030_FIXED_LDO(VUSB, 0x70, 3300, 0), TWL6030_FIXED_RESOURCE(CLK32KG, 0x8C, 0), + TWL6030_ADJUSTABLE_SMPS(VDD3, 0x2e, 600, 4000), + TWL6030_ADJUSTABLE_SMPS(VMEM, 0x34, 600, 4000), /* 6025 are renamed compared to 6030 versions */ TWL6025_ADJUSTABLE_LDO(LDO2, 0x54, 1000, 3300), diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h index 3b7bb86..c7195ab 100644 --- a/include/linux/i2c/twl.h +++ b/include/linux/i2c/twl.h @@ -715,6 +715,9 @@ struct twl4030_platform_data { struct regulator_init_data *vintana1; struct regulator_init_data *vintana2; struct regulator_init_data *vintdig; + /* TWL6030 DCDC regulators */ + struct regulator_init_data *vdd3; + struct regulator_init_data *vmem; /* TWL6030 LDO regulators */ struct regulator_init_data *vmmc; struct regulator_init_data *vpp; |