提交 cc17ef3f 编写于 作者: M Marcus Folkesson 提交者: Liam Girdwood

regulator: tps65023: Set missing bit for update core-voltage

Setting the GO bit in CTRL2 for updating the core voltage
Signed-off-by: NMarcus Folkesson <marcus.folkesson@gmail.com>
Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
上级 f068ad8c
......@@ -284,6 +284,7 @@ static int tps65023_dcdc_set_voltage(struct regulator_dev *dev,
struct tps_pmic *tps = rdev_get_drvdata(dev);
int dcdc = rdev_get_id(dev);
int vsel;
int ret;
if (dcdc != TPS65023_DCDC_1)
return -EINVAL;
......@@ -306,11 +307,21 @@ static int tps65023_dcdc_set_voltage(struct regulator_dev *dev,
*selector = vsel;
/* write to the register in case we found a match */
if (vsel == tps->info[dcdc]->table_len)
return -EINVAL;
else
return tps_65023_reg_write(tps, TPS65023_REG_DEF_CORE, vsel);
goto failed;
ret = tps_65023_reg_write(tps, TPS65023_REG_DEF_CORE, vsel);
/* Tell the chip that we have changed the value in DEFCORE
* and its time to update the core voltage
*/
tps_65023_set_bits(tps, TPS65023_REG_CON_CTRL2,
TPS65023_REG_CTRL2_GO);
return ret;
failed:
return -EINVAL;
}
static int tps65023_ldo_get_voltage(struct regulator_dev *dev)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册