summaryrefslogtreecommitdiff
path: root/driver/charger/sm5803.h
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2020-08-07 10:57:28 -0600
committerCommit Bot <commit-bot@chromium.org>2020-08-11 20:24:38 +0000
commitd3ba2c4d0b2eeac179322f1ffd477130029e8e83 (patch)
tree3c9df4273a70a52bd69a72230535b38b781b77db /driver/charger/sm5803.h
parentc1231644fa6bfa46ff9867419d40a5d01dd00c14 (diff)
downloadchrome-ec-d3ba2c4d0b2eeac179322f1ffd477130029e8e83.tar.gz
SM5803: Flow 1 register updates
This commit adds: - bit names updated to the most recent SM5803A datasheet - centralized control of FLOW1 updates after init in one function - verification of charger register 0x5C contents before enabling charging - correction of init charger disable behavior BRANCH=None BUG=None TEST=on drawcia, observe that sink mode is enabled when charger is plugged in to MB, OTG bits are enabled with dongles plugged in Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I4e841e8288f85eeb8b4ee6afe953ea0f8df61fa0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2343604 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'driver/charger/sm5803.h')
-rw-r--r--driver/charger/sm5803.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/driver/charger/sm5803.h b/driver/charger/sm5803.h
index c0a3ec70e5..9fc04de0f4 100644
--- a/driver/charger/sm5803.h
+++ b/driver/charger/sm5803.h
@@ -151,11 +151,18 @@ enum sm5803_gpio0_modes {
/* Charger registers (address 0x32) */
#define SM5803_REG_FLOW1 0x1C
-#define SM5803_FLOW1_CHG_EN BIT(0)
-#define SM5803_FLOW1_VBUSIN_DISCHG_EN BIT(1)
+#define SM5803_FLOW1_MODE GENMASK(1, 0)
#define SM5803_FLOW1_DIRECTCHG_SRC_EN BIT(2)
+#define SM5803_FLOW1_LINEAR_CHARGE_EN BIT(3)
#define SM5803_FLOW1_USB_SUSP BIT(7)
+enum sm5803_charger_modes {
+ CHARGER_MODE_DISABLED,
+ CHARGER_MODE_SINK,
+ CHARGER_MODE_RESERVED,
+ CHARGER_MODE_SOURCE,
+};
+
#define SM5803_REG_FLOW2 0x1D
#define SM5803_FLOW2_AUTO_TRKL_EN BIT(0)
#define SM5803_FLOW2_AUTO_PRECHG_EN BIT(1)