mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 08:18:47 +00:00
regulator: tps65917: Add support for SMPS12
App support for SMPS12 dual phase regulator. Signed-off-by: Keerthy <j-keerthy@ti.com> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
2ea659a9ef
commit
be03530318
@ -263,6 +263,13 @@ static struct palmas_regs_info tps65917_regs_info[] = {
|
|||||||
.ctrl_addr = TPS65917_SMPS5_CTRL,
|
.ctrl_addr = TPS65917_SMPS5_CTRL,
|
||||||
.sleep_id = TPS65917_EXTERNAL_REQSTR_ID_SMPS5,
|
.sleep_id = TPS65917_EXTERNAL_REQSTR_ID_SMPS5,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.name = "SMPS12",
|
||||||
|
.sname = "smps1-in",
|
||||||
|
.vsel_addr = TPS65917_SMPS1_VOLTAGE,
|
||||||
|
.ctrl_addr = TPS65917_SMPS1_CTRL,
|
||||||
|
.sleep_id = TPS65917_EXTERNAL_REQSTR_ID_SMPS12,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.name = "LDO1",
|
.name = "LDO1",
|
||||||
.sname = "ldo1-in",
|
.sname = "ldo1-in",
|
||||||
@ -367,6 +374,7 @@ static struct palmas_sleep_requestor_info tps65917_sleep_req_info[] = {
|
|||||||
EXTERNAL_REQUESTOR_TPS65917(SMPS3, 1, 2),
|
EXTERNAL_REQUESTOR_TPS65917(SMPS3, 1, 2),
|
||||||
EXTERNAL_REQUESTOR_TPS65917(SMPS4, 1, 3),
|
EXTERNAL_REQUESTOR_TPS65917(SMPS4, 1, 3),
|
||||||
EXTERNAL_REQUESTOR_TPS65917(SMPS5, 1, 4),
|
EXTERNAL_REQUESTOR_TPS65917(SMPS5, 1, 4),
|
||||||
|
EXTERNAL_REQUESTOR_TPS65917(SMPS12, 1, 5),
|
||||||
EXTERNAL_REQUESTOR_TPS65917(LDO1, 2, 0),
|
EXTERNAL_REQUESTOR_TPS65917(LDO1, 2, 0),
|
||||||
EXTERNAL_REQUESTOR_TPS65917(LDO2, 2, 1),
|
EXTERNAL_REQUESTOR_TPS65917(LDO2, 2, 1),
|
||||||
EXTERNAL_REQUESTOR_TPS65917(LDO3, 2, 2),
|
EXTERNAL_REQUESTOR_TPS65917(LDO3, 2, 2),
|
||||||
@ -1305,7 +1313,8 @@ static int tps65917_smps_registration(struct palmas_pmic *pmic,
|
|||||||
*/
|
*/
|
||||||
desc = &pmic->desc[id];
|
desc = &pmic->desc[id];
|
||||||
desc->n_linear_ranges = 3;
|
desc->n_linear_ranges = 3;
|
||||||
if ((id == TPS65917_REG_SMPS2) && pmic->smps12)
|
if ((id == TPS65917_REG_SMPS2 || id == TPS65917_REG_SMPS1) &&
|
||||||
|
pmic->smps12)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* Initialise sleep/init values from platform data */
|
/* Initialise sleep/init values from platform data */
|
||||||
@ -1427,6 +1436,7 @@ static struct of_regulator_match tps65917_matches[] = {
|
|||||||
{ .name = "smps3", },
|
{ .name = "smps3", },
|
||||||
{ .name = "smps4", },
|
{ .name = "smps4", },
|
||||||
{ .name = "smps5", },
|
{ .name = "smps5", },
|
||||||
|
{ .name = "smps12",},
|
||||||
{ .name = "ldo1", },
|
{ .name = "ldo1", },
|
||||||
{ .name = "ldo2", },
|
{ .name = "ldo2", },
|
||||||
{ .name = "ldo3", },
|
{ .name = "ldo3", },
|
||||||
@ -1455,7 +1465,7 @@ static struct palmas_pmic_driver_data palmas_ddata = {
|
|||||||
|
|
||||||
static struct palmas_pmic_driver_data tps65917_ddata = {
|
static struct palmas_pmic_driver_data tps65917_ddata = {
|
||||||
.smps_start = TPS65917_REG_SMPS1,
|
.smps_start = TPS65917_REG_SMPS1,
|
||||||
.smps_end = TPS65917_REG_SMPS5,
|
.smps_end = TPS65917_REG_SMPS12,
|
||||||
.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,
|
||||||
@ -1643,8 +1653,10 @@ static int palmas_regulators_probe(struct platform_device *pdev)
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (reg & PALMAS_SMPS_CTRL_SMPS12_SMPS123_EN)
|
if (reg & PALMAS_SMPS_CTRL_SMPS12_SMPS123_EN) {
|
||||||
pmic->smps123 = 1;
|
pmic->smps123 = 1;
|
||||||
|
pmic->smps12 = 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (reg & PALMAS_SMPS_CTRL_SMPS45_SMPS457_EN)
|
if (reg & PALMAS_SMPS_CTRL_SMPS45_SMPS457_EN)
|
||||||
pmic->smps457 = 1;
|
pmic->smps457 = 1;
|
||||||
|
@ -250,6 +250,7 @@ enum tps65917_regulators {
|
|||||||
TPS65917_REG_SMPS3,
|
TPS65917_REG_SMPS3,
|
||||||
TPS65917_REG_SMPS4,
|
TPS65917_REG_SMPS4,
|
||||||
TPS65917_REG_SMPS5,
|
TPS65917_REG_SMPS5,
|
||||||
|
TPS65917_REG_SMPS12,
|
||||||
/* LDO regulators */
|
/* LDO regulators */
|
||||||
TPS65917_REG_LDO1,
|
TPS65917_REG_LDO1,
|
||||||
TPS65917_REG_LDO2,
|
TPS65917_REG_LDO2,
|
||||||
@ -317,6 +318,7 @@ enum tps65917_external_requestor_id {
|
|||||||
TPS65917_EXTERNAL_REQSTR_ID_SMPS3,
|
TPS65917_EXTERNAL_REQSTR_ID_SMPS3,
|
||||||
TPS65917_EXTERNAL_REQSTR_ID_SMPS4,
|
TPS65917_EXTERNAL_REQSTR_ID_SMPS4,
|
||||||
TPS65917_EXTERNAL_REQSTR_ID_SMPS5,
|
TPS65917_EXTERNAL_REQSTR_ID_SMPS5,
|
||||||
|
TPS65917_EXTERNAL_REQSTR_ID_SMPS12,
|
||||||
TPS65917_EXTERNAL_REQSTR_ID_LDO1,
|
TPS65917_EXTERNAL_REQSTR_ID_LDO1,
|
||||||
TPS65917_EXTERNAL_REQSTR_ID_LDO2,
|
TPS65917_EXTERNAL_REQSTR_ID_LDO2,
|
||||||
TPS65917_EXTERNAL_REQSTR_ID_LDO3,
|
TPS65917_EXTERNAL_REQSTR_ID_LDO3,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user