power: pmic: tps65218: Fix tps65218_voltage_update function

Currently while setting the vsel value for dcdc1 and dcdc2
the driver is wrongly masking the entire 8 bits in the process
clearing PFM (bit7) field as well. Hence describe an appropriate
mask for vsel field and modify only those bits in the vsel
mask.

Source: http://www.ti.com/lit/ds/symlink/tps65218.pdf

Signed-off-by: Keerthy <j-keerthy@ti.com>
Fixes: 86db550b38 ("power: Add support for the TPS65218 PMIC")
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
This commit is contained in:
Keerthy 2017-05-24 10:19:27 +05:30 committed by Jaehoon Chung
parent f98205c7e4
commit 6183b29559
2 changed files with 3 additions and 1 deletions

View File

@ -101,7 +101,7 @@ int tps65218_voltage_update(uchar dc_cntrl_reg, uchar volt_sel)
/* set voltage level */
if (tps65218_reg_write(TPS65218_PROT_LEVEL_2, dc_cntrl_reg, volt_sel,
TPS65218_MASK_ALL_BITS))
TPS65218_DCDC_VSEL_MASK))
return 1;
/* set GO bit to initiate voltage transition */

View File

@ -56,6 +56,8 @@ enum {
#define TPS65218_MASK_ALL_BITS 0xFF
#define TPS65218_DCDC_VSEL_MASK 0x3F
#define TPS65218_DCDC_VOLT_SEL_0950MV 0x0a
#define TPS65218_DCDC_VOLT_SEL_1100MV 0x19
#define TPS65218_DCDC_VOLT_SEL_1200MV 0x23