summaryrefslogtreecommitdiff
path: root/driver/charger/sm5803.h
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2020-10-02 10:10:30 -0600
committerJustin TerAvest <teravest@chromium.org>2020-10-14 16:47:44 +0000
commitc7c8840bae1d3e833655a2b09b6deb5a47db680b (patch)
treede110dad8afe8873cc9f5d130dfac9f5b7a1e701 /driver/charger/sm5803.h
parent95e90b8132568e3872137d8649168816c8ece46a (diff)
downloadchrome-ec-c7c8840bae1d3e833655a2b09b6deb5a47db680b.tar.gz
SM5803: Re-start charging on recoverable errors
Some charging failures, such as over voltage charging from the primary charger or over temperature on either charger, are recoverable. When a charging failure interrupt comes from one of these causes, re-enable sinking on the active charger chip unless charging from this chip has yielded too many errors in the last minute. BRANCH=None BUG=b:166924833 TEST=on drawlat, charge up to 100% and observe sinking will re-enable after an overvoltage interrupt Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ie98fb719bed369af3851c23ea2305756eac178cb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2446631 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'driver/charger/sm5803.h')
-rw-r--r--driver/charger/sm5803.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/driver/charger/sm5803.h b/driver/charger/sm5803.h
index a6b3d6aaa7..ab8bd65657 100644
--- a/driver/charger/sm5803.h
+++ b/driver/charger/sm5803.h
@@ -297,6 +297,16 @@ enum sm5803_charger_modes {
#define SM5803_REG_LOG1 0x42
#define SM5803_BATFET_ON BIT(2)
+#define SM5803_REG_STATUS_CHG_REG 0x48
+#define SM5803_STATUS_CHG_BATT_REMOVAL BIT(0)
+#define SM5803_STATUS_CHG_CHG_REMOVAL BIT(1)
+#define SM5803_STATUS_CHG_BATTEMP_NOK BIT(2)
+#define SM5803_STATUS_CHG_CHGWDG_EXP BIT(3)
+#define SM5803_STATUS_CHG_VBUS_OC BIT(4)
+#define SM5803_STATUS_CHG_OV_VBAT BIT(5)
+#define SM5803_STATUS_CHG_TIMEOUT BIT(6)
+#define SM5803_STATUS_CHG_OV_ITEMP BIT(7)
+
#define SM5803_REG_PHOT1 0x72
#define SM5803_PHOT1_IBAT_PHOT_COMP_EN BIT(0)
#define SM5803_PHOT1_IBUS_PHOT_COMP_EN BIT(1)