Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be035303 authored by Keerthy's avatar Keerthy Committed by Mark Brown
Browse files

regulator: tps65917: Add support for SMPS12



App support for SMPS12 dual phase regulator.

Signed-off-by: default avatarKeerthy <j-keerthy@ti.com>
Acked-by: default avatarLee Jones <lee.jones@linaro.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 2ea659a9
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -263,6 +263,13 @@ static struct palmas_regs_info tps65917_regs_info[] = {
		.ctrl_addr	= TPS65917_SMPS5_CTRL,
		.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",
		.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(SMPS4, 1, 3),
	EXTERNAL_REQUESTOR_TPS65917(SMPS5, 1, 4),
	EXTERNAL_REQUESTOR_TPS65917(SMPS12, 1, 5),
	EXTERNAL_REQUESTOR_TPS65917(LDO1, 2, 0),
	EXTERNAL_REQUESTOR_TPS65917(LDO2, 2, 1),
	EXTERNAL_REQUESTOR_TPS65917(LDO3, 2, 2),
@@ -1305,7 +1313,8 @@ static int tps65917_smps_registration(struct palmas_pmic *pmic,
		 */
		desc = &pmic->desc[id];
		desc->n_linear_ranges = 3;
		if ((id == TPS65917_REG_SMPS2) && pmic->smps12)
		if ((id == TPS65917_REG_SMPS2 || id == TPS65917_REG_SMPS1) &&
		    pmic->smps12)
			continue;

		/* Initialise sleep/init values from platform data */
@@ -1427,6 +1436,7 @@ static struct of_regulator_match tps65917_matches[] = {
	{ .name = "smps3", },
	{ .name = "smps4", },
	{ .name = "smps5", },
	{ .name = "smps12",},
	{ .name = "ldo1", },
	{ .name = "ldo2", },
	{ .name = "ldo3", },
@@ -1455,7 +1465,7 @@ static struct palmas_pmic_driver_data palmas_ddata = {

static struct palmas_pmic_driver_data tps65917_ddata = {
	.smps_start = TPS65917_REG_SMPS1,
	.smps_end = TPS65917_REG_SMPS5,
	.smps_end = TPS65917_REG_SMPS12,
	.ldo_begin = TPS65917_REG_LDO1,
	.ldo_end = TPS65917_REG_LDO5,
	.max_reg = TPS65917_NUM_REGS,
@@ -1643,8 +1653,10 @@ static int palmas_regulators_probe(struct platform_device *pdev)
	if (ret)
		return ret;

	if (reg & PALMAS_SMPS_CTRL_SMPS12_SMPS123_EN)
	if (reg & PALMAS_SMPS_CTRL_SMPS12_SMPS123_EN) {
		pmic->smps123 = 1;
		pmic->smps12 = 1;
	}

	if (reg & PALMAS_SMPS_CTRL_SMPS45_SMPS457_EN)
		pmic->smps457 = 1;
+2 −0
Original line number Diff line number Diff line
@@ -250,6 +250,7 @@ enum tps65917_regulators {
	TPS65917_REG_SMPS3,
	TPS65917_REG_SMPS4,
	TPS65917_REG_SMPS5,
	TPS65917_REG_SMPS12,
	/* LDO regulators */
	TPS65917_REG_LDO1,
	TPS65917_REG_LDO2,
@@ -317,6 +318,7 @@ enum tps65917_external_requestor_id {
	TPS65917_EXTERNAL_REQSTR_ID_SMPS3,
	TPS65917_EXTERNAL_REQSTR_ID_SMPS4,
	TPS65917_EXTERNAL_REQSTR_ID_SMPS5,
	TPS65917_EXTERNAL_REQSTR_ID_SMPS12,
	TPS65917_EXTERNAL_REQSTR_ID_LDO1,
	TPS65917_EXTERNAL_REQSTR_ID_LDO2,
	TPS65917_EXTERNAL_REQSTR_ID_LDO3,