summaryrefslogtreecommitdiff
path: root/include/battery_fuel_gauge.h
diff options
context:
space:
mode:
authormatt_wang <matt_wang@compal.corp-partner.google.com>2019-02-13 20:59:23 +0800
committerchrome-bot <chrome-bot@chromium.org>2019-02-26 16:49:14 -0800
commitc2c2776e3a5ee68a1d2a2bab09635692418db998 (patch)
tree6c8b4676216febe6fa2185a3b5c5e38e3f2d599f /include/battery_fuel_gauge.h
parent219b09e87f61ffb410fe1a1dbaed4983460fefb4 (diff)
downloadchrome-ec-c2c2776e3a5ee68a1d2a2bab09635692418db998.tar.gz
Battery: add support battery-cutoff SMBus block write function
Implements battery-cutoff SMBus write block function BUG=b:122944526 BRANCH=None TEST=Verify battery cuff on fleex via SMBus block write. Change-Id: Ib52146cd3042c4a6d2dbafadd430591936230891 Signed-off-by: matt_wang <matt_wang@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/1470462 Commit-Ready: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Tested-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Reviewed-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com>
Diffstat (limited to 'include/battery_fuel_gauge.h')
-rw-r--r--include/battery_fuel_gauge.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/battery_fuel_gauge.h b/include/battery_fuel_gauge.h
index 9c3b0b12da..d610b7e417 100644
--- a/include/battery_fuel_gauge.h
+++ b/include/battery_fuel_gauge.h
@@ -14,6 +14,13 @@
#define SHIP_MODE_WRITES 2
struct ship_mode_info {
+ /*
+ * Write Block Support. If wb_support is true, then we use a i2c write
+ * block command instead of a 16-bit write. The effective difference is
+ * that the i2c transaction will prefix the length (2) when wb_support
+ * is enabled.
+ */
+ const uint8_t wb_support;
const uint8_t reg_addr;
const uint16_t reg_data[SHIP_MODE_WRITES];
};
@@ -61,4 +68,20 @@ int battery_bq4050_imbalance_mv(void);
#endif
+/**
+ * Battery cut off command via SMBus write block.
+ *
+ * @param ship_mode Battery ship mode information
+ * @return non-zero if error
+ */
+int cut_off_battery_block_write(const struct ship_mode_info *ship_mode);
+
+/**
+ * Battery cut off command via SMBus write word.
+ *
+ * @param ship_mode Battery ship mode information
+ * @return non-zero if error
+ */
+int cut_off_battery_sb_write(const struct ship_mode_info *ship_mode);
+
#endif /* __CROS_EC_BATTERY_FUEL_GAUGE_H */