summaryrefslogtreecommitdiff
path: root/driver/charger/rt946x.h
diff options
context:
space:
mode:
authorPhilip Chen <philipchen@google.com>2017-07-16 16:58:43 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-07-27 00:40:48 -0700
commit381fc5912c6b528c5dbc4509feeade07a1332694 (patch)
tree2e81f1b83303bad9bc40fff5c5117d4441b806b8 /driver/charger/rt946x.h
parentd703859ba06d29f9c8ccf5fae07449139432a51c (diff)
downloadchrome-ec-381fc5912c6b528c5dbc4509feeade07a1332694.tar.gz
charger/rt946x: Add chip-specific interface functions
Add rt946x_enable_charger_boost() to enable/disable rt946x. Add rt946x_is_vbus_ready() to check if VBUS is ready. Add rt946x_cutoff_battery to cutoff battery. BUG=chromium:736821 BRANCH=none TEST=build scarlet when rt946x driver is used Change-Id: I61b07ca0925f5ba2c71fe8033a3a496fe00869d9 Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/573584 Commit-Ready: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'driver/charger/rt946x.h')
-rw-r--r--driver/charger/rt946x.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/driver/charger/rt946x.h b/driver/charger/rt946x.h
index 0a18ac7acc..9341f52246 100644
--- a/driver/charger/rt946x.h
+++ b/driver/charger/rt946x.h
@@ -134,9 +134,11 @@
#define RT946X_MASK_HZ_EN (1 << RT946X_SHIFT_HZ_EN)
/* ========== CHGCTRL2 0x02 ============ */
+#define RT946X_SHIFT_SHIP_MODE 7
#define RT946X_SHIFT_ILMTSEL 2
#define RT946X_SHIFT_CHG_EN 0
+#define RT946X_MASK_SHIP_MODE (1 << RT946X_SHIFT_SHIP_MODE)
#define RT946X_MASK_ILMTSEL 0x0C
#define RT946X_MASK_CHG_EN (1 << RT946X_SHIFT_CHG_EN)
@@ -213,6 +215,11 @@
#define RT946X_MASK_BATNTC_FAULT 0x70
+/* ========== CHGSTATC 0x50 ============ */
+#define RT946X_SHIFT_PWR_RDY 7
+
+#define RT946X_MASK_PWR_RDY (1 << RT946X_SHIFT_PWR_RDY)
+
/* ========== CHGFAULT 0x51 ============ */
#define RT946X_SHIFT_CHG_VSYSUV 4
#define RT946X_SHIFT_CHG_VSYSOV 5
@@ -237,4 +244,21 @@
#define RT946X_ADDR (0x5B << 1)
#endif
+/* RT946x specific interface functions */
+
+/* Enable/Disable rt946x (in charger or boost mode) */
+int rt946x_enable_charger_boost(int en);
+
+/*
+ * Return 1 if VBUS is ready, which means
+ * UVLO < VBUS < VOVP && VBUS > BATS + VSLP
+ */
+int rt946x_is_vbus_ready(void);
+
+/*
+ * Cut off the battery (force BATFET to turn off).
+ * Return 0 if it succeeds.
+ */
+int rt946x_cutoff_battery(void);
+
#endif /* __CROS_EC_RT946X_H */