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: Keerthy <j-keerthy@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
a26aeb177d
Коммит
e999c7289c
|
@ -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 = {
|
||||||
.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 = {
|
||||||
.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)
|
||||||
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 {
|
||||||
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;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче