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

Commit 7fead985 authored by Xiaozhe Shi's avatar Xiaozhe Shi Committed by Abhijeet Dharmapurikar
Browse files

power: qpnp-smbcharger: add api to force charger tlim



Add an API through the power supply property
POWER_SUPPLY_PROP_FORCE_TLIM in order to force on the charger therm
circuitry.

CRs-Fixed: 793985
Change-Id: Iddcd069e0075c4863247d75bde675e3b03310cf4
Signed-off-by: default avatarXiaozhe Shi <xiaozhes@codeaurora.org>
parent 6c2eeee2
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -2674,6 +2674,23 @@ static int smbchg_otg_pulse_skip_enable(struct smbchg_chip *chip, bool enable)
	return 0;
}

#define LOW_PWR_OPTIONS_REG	0xFF
#define FORCE_TLIM_BIT		BIT(4)
static int smbchg_force_tlim_en(struct smbchg_chip *chip, bool enable)
{
	int rc;

	rc = smbchg_sec_masked_write(chip, chip->otg_base + LOW_PWR_OPTIONS_REG,
			FORCE_TLIM_BIT, enable ? FORCE_TLIM_BIT : 0);
	if (rc < 0) {
		dev_err(chip->dev,
			"Couldn't %s otg force tlim rc = %d\n",
			enable ? "enable" : "disable", rc);
		return rc;
	}
	return rc;
}

static int smbchg_battery_set_property(struct power_supply *psy,
				       enum power_supply_property prop,
				       const union power_supply_propval *val)
@@ -2713,6 +2730,9 @@ static int smbchg_battery_set_property(struct power_supply *psy,
	case POWER_SUPPLY_PROP_FLASH_ACTIVE:
		rc = smbchg_otg_pulse_skip_enable(chip, val->intval);
		break;
	case POWER_SUPPLY_PROP_FORCE_TLIM:
		rc = smbchg_force_tlim_en(chip, val->intval);
		break;
	default:
		return -EINVAL;
	}