Commit e882eae80f37fac922c6faa25e5ba535f29f2d38

Authored by Laxman Dewangan
Committed by Mark Brown
1 parent b9e0348f20

regulator: tps65910: Correct VIO voltage configuration

The VIO regulator register specify the voltage configuration
on bit3:2 of its register. And hence only these bits should
be modified when setting voltage and used when reading voltage
from register setting.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Showing 1 changed file with 5 additions and 2 deletions Side-by-side Diff

drivers/regulator/tps65910-regulator.c
... ... @@ -674,8 +674,9 @@
674 674 step_mv = 100;
675 675 break;
676 676 case TPS65910_REG_VIO:
  677 + value &= LDO_SEL_MASK;
  678 + value >>= LDO_SEL_SHIFT;
677 679 return pmic->info[id]->voltage_table[value] * 1000;
678   - break;
679 680 default:
680 681 return -EINVAL;
681 682 }
682 683  
... ... @@ -767,9 +768,11 @@
767 768 case TPS65911_REG_LDO6:
768 769 case TPS65911_REG_LDO7:
769 770 case TPS65911_REG_LDO8:
770   - case TPS65910_REG_VIO:
771 771 return tps65910_modify_bits(pmic, reg,
772 772 (selector << LDO_SEL_SHIFT), LDO3_SEL_MASK);
  773 + case TPS65910_REG_VIO:
  774 + return tps65910_modify_bits(pmic, reg,
  775 + (selector << LDO_SEL_SHIFT), LDO_SEL_MASK);
773 776 }
774 777  
775 778 return -EINVAL;