Commit e0341f17 authored by Nishanth Menon's avatar Nishanth Menon Committed by Mark Brown

regulator: tps65917/palmas: Add bypass "On" value

When commit b554e145 ("regulator: tps65917/palmas: Add bypass
ops for LDOs with bypass capability") introduced bypass capability
to palmas regulator, it went with the assumption that regulator
regmap helpers just check val against the bypass_mask.

Unfortunately, this ignored the explicit "on" and "off" values when
the register value is masked with bypass_mask in commit ca5d1b35
("regulator: helpers: Modify helpers enabling multi-bit control").

With the recent commit dd1a571d ("regulator: helpers: Ensure
bypass register field matches ON value"), this issue gets highlighted
and fails tps65917/palmas based platforms which need regulators/ldos
that have bypass capability.

Introduce the bypass_on value appropriately for tps65917/palmas
regulator.

Fixes: b554e145 ("regulator: tps65917/palmas: Add bypass ops for LDOs with bypass capability")
Cc: Keerthy <j-keerthy@ti.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: default avatarNishanth Menon <nm@ti.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f55532a0
...@@ -944,6 +944,8 @@ static int palmas_ldo_registration(struct palmas_pmic *pmic, ...@@ -944,6 +944,8 @@ static int palmas_ldo_registration(struct palmas_pmic *pmic,
if (id == PALMAS_REG_LDO9) { if (id == PALMAS_REG_LDO9) {
desc->ops = &palmas_ops_ldo9; desc->ops = &palmas_ops_ldo9;
desc->bypass_reg = desc->enable_reg; desc->bypass_reg = desc->enable_reg;
desc->bypass_val_on =
PALMAS_LDO9_CTRL_LDO_BYPASS_EN;
desc->bypass_mask = desc->bypass_mask =
PALMAS_LDO9_CTRL_LDO_BYPASS_EN; PALMAS_LDO9_CTRL_LDO_BYPASS_EN;
} }
...@@ -1055,6 +1057,8 @@ static int tps65917_ldo_registration(struct palmas_pmic *pmic, ...@@ -1055,6 +1057,8 @@ static int tps65917_ldo_registration(struct palmas_pmic *pmic,
id == TPS65917_REG_LDO2) { id == TPS65917_REG_LDO2) {
desc->ops = &tps65917_ops_ldo_1_2; desc->ops = &tps65917_ops_ldo_1_2;
desc->bypass_reg = desc->enable_reg; desc->bypass_reg = desc->enable_reg;
desc->bypass_val_on =
TPS65917_LDO1_CTRL_BYPASS_EN;
desc->bypass_mask = desc->bypass_mask =
TPS65917_LDO1_CTRL_BYPASS_EN; TPS65917_LDO1_CTRL_BYPASS_EN;
} }
...@@ -1206,6 +1210,7 @@ static int palmas_smps_registration(struct palmas_pmic *pmic, ...@@ -1206,6 +1210,7 @@ static int palmas_smps_registration(struct palmas_pmic *pmic,
desc->enable_mask = SMPS10_BOOST_EN; desc->enable_mask = SMPS10_BOOST_EN;
desc->bypass_reg = PALMAS_BASE_TO_REG(PALMAS_SMPS_BASE, desc->bypass_reg = PALMAS_BASE_TO_REG(PALMAS_SMPS_BASE,
PALMAS_SMPS10_CTRL); PALMAS_SMPS10_CTRL);
desc->bypass_val_on = SMPS10_BYPASS_EN;
desc->bypass_mask = SMPS10_BYPASS_EN; desc->bypass_mask = SMPS10_BYPASS_EN;
desc->min_uV = 3750000; desc->min_uV = 3750000;
desc->uV_step = 1250000; desc->uV_step = 1250000;
......
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