Commit e999c728 authored by Keerthy's avatar Keerthy Committed by Mark Brown

regulator: palmas: Add has_regen3 check for TPS659038

Palmas driver is used to cater to even TPS659038 but TPS659038 does not have
REGEN3 resource. Adding another field in the driver data to check on that.
Signed-off-by: default avatarKeerthy <j-keerthy@ti.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent a26aeb17
...@@ -916,6 +916,9 @@ static int palmas_ldo_registration(struct palmas_pmic *pmic, ...@@ -916,6 +916,9 @@ static int palmas_ldo_registration(struct palmas_pmic *pmic,
(id == PALMAS_REG_LDO6)) (id == PALMAS_REG_LDO6))
desc->enable_time = 2000; desc->enable_time = 2000;
} else { } else {
if (!ddata->has_regen3 && id == PALMAS_REG_REGEN3)
continue;
desc->n_voltages = 1; desc->n_voltages = 1;
if (reg_init && reg_init->roof_floor) if (reg_init && reg_init->roof_floor)
desc->ops = &palmas_ops_ext_control_extreg; desc->ops = &palmas_ops_ext_control_extreg;
...@@ -1398,6 +1401,7 @@ static struct palmas_pmic_driver_data palmas_ddata = { ...@@ -1398,6 +1401,7 @@ static struct palmas_pmic_driver_data palmas_ddata = {
.ldo_begin = PALMAS_REG_LDO1, .ldo_begin = PALMAS_REG_LDO1,
.ldo_end = PALMAS_REG_LDOUSB, .ldo_end = PALMAS_REG_LDOUSB,
.max_reg = PALMAS_NUM_REGS, .max_reg = PALMAS_NUM_REGS,
.has_regen3 = true,
.palmas_regs_info = palmas_generic_regs_info, .palmas_regs_info = palmas_generic_regs_info,
.palmas_matches = palmas_matches, .palmas_matches = palmas_matches,
.sleep_req_info = palma_sleep_req_info, .sleep_req_info = palma_sleep_req_info,
...@@ -1411,6 +1415,7 @@ static struct palmas_pmic_driver_data tps65917_ddata = { ...@@ -1411,6 +1415,7 @@ static struct palmas_pmic_driver_data tps65917_ddata = {
.ldo_begin = TPS65917_REG_LDO1, .ldo_begin = TPS65917_REG_LDO1,
.ldo_end = TPS65917_REG_LDO5, .ldo_end = TPS65917_REG_LDO5,
.max_reg = TPS65917_NUM_REGS, .max_reg = TPS65917_NUM_REGS,
.has_regen3 = true,
.palmas_regs_info = tps65917_regs_info, .palmas_regs_info = tps65917_regs_info,
.palmas_matches = tps65917_matches, .palmas_matches = tps65917_matches,
.sleep_req_info = tps65917_sleep_req_info, .sleep_req_info = tps65917_sleep_req_info,
...@@ -1572,9 +1577,11 @@ static int palmas_regulators_probe(struct platform_device *pdev) ...@@ -1572,9 +1577,11 @@ static int palmas_regulators_probe(struct platform_device *pdev)
if (!pmic) if (!pmic)
return -ENOMEM; return -ENOMEM;
if (of_device_is_compatible(node, "ti,tps659038-pmic")) if (of_device_is_compatible(node, "ti,tps659038-pmic")) {
palmas_generic_regs_info[PALMAS_REG_REGEN2].ctrl_addr = palmas_generic_regs_info[PALMAS_REG_REGEN2].ctrl_addr =
TPS659038_REGEN2_CTRL; TPS659038_REGEN2_CTRL;
palmas_ddata.has_regen3 = false;
}
pmic->dev = &pdev->dev; pmic->dev = &pdev->dev;
pmic->palmas = palmas; pmic->palmas = palmas;
......
...@@ -117,6 +117,7 @@ struct palmas_pmic_driver_data { ...@@ -117,6 +117,7 @@ struct palmas_pmic_driver_data {
int ldo_begin; int ldo_begin;
int ldo_end; int ldo_end;
int max_reg; int max_reg;
bool has_regen3;
struct palmas_regs_info *palmas_regs_info; struct palmas_regs_info *palmas_regs_info;
struct of_regulator_match *palmas_matches; struct of_regulator_match *palmas_matches;
struct palmas_sleep_requestor_info *sleep_req_info; struct palmas_sleep_requestor_info *sleep_req_info;
......
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