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

Commit e6757f76 authored by Zhenhua Huang's avatar Zhenhua Huang
Browse files

power: qpnp-linear-charger: Allow to disable safety-timer



Safety-timer means maximum duration in minutes that a single
charge cycle may last.
Add an option to disable safety-timer when property
"qcom,tchg-mins" is set to <0>.

Change-Id: I6d56d42a58afdf82cc997bb18bbe956edfc217ae
Signed-off-by: default avatarZhenhua Huang <zhenhuah@codeaurora.org>
parent 169417fe
Loading
Loading
Loading
Loading
+8 −2
Original line number Original line Diff line number Diff line
@@ -934,8 +934,6 @@ static int qpnp_lbc_tchg_max_set(struct qpnp_lbc_chip *chip, int minutes)
	u8 reg_val = 0;
	u8 reg_val = 0;
	int rc;
	int rc;


	minutes = clamp(minutes, QPNP_LBC_TCHG_MIN, QPNP_LBC_TCHG_MAX);

	/* Disable timer */
	/* Disable timer */
	rc = qpnp_lbc_masked_write(chip, chip->chgr_base + CHG_TCHG_MAX_EN_REG,
	rc = qpnp_lbc_masked_write(chip, chip->chgr_base + CHG_TCHG_MAX_EN_REG,
						CHG_TCHG_MAX_EN_BIT, 0);
						CHG_TCHG_MAX_EN_BIT, 0);
@@ -944,6 +942,14 @@ static int qpnp_lbc_tchg_max_set(struct qpnp_lbc_chip *chip, int minutes)
		return rc;
		return rc;
	}
	}


	/* If minutes is 0, just disable timer */
	if (!minutes) {
		pr_debug("Charger safety timer disabled\n");
		return rc;
	}

	minutes = clamp(minutes, QPNP_LBC_TCHG_MIN, QPNP_LBC_TCHG_MAX);

	reg_val = (minutes / QPNP_LBC_TCHG_STEP) - 1;
	reg_val = (minutes / QPNP_LBC_TCHG_STEP) - 1;


	pr_debug("TCHG_MAX=%d mins setting %x\n", minutes, reg_val);
	pr_debug("TCHG_MAX=%d mins setting %x\n", minutes, reg_val);