From 528ddf7660c48f33beb834e0cfd629cd08f16548 Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Fri, 5 Jul 2013 10:21:49 -0700 Subject: [PATCH] Implement battery cut-off host command for Peppy. BUG=chrome-os-partner:20720 BRANCH=peppy TEST=Run 'ectool batterycutoff' on the DUT, shut it down, and unplug AC power. Verify the only way to turn it on is by plugging the AC power back in. Change-Id: Ia6a93249843b72f4396d083cfe15a263d0a1836d Signed-off-by: Dave Parker Reviewed-on: https://gerrit.chromium.org/gerrit/61047 Reviewed-by: Shawn Nematbakhsh --- common/battery_peppy.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/common/battery_peppy.c b/common/battery_peppy.c index 79cda41ba4..9672eeef87 100644 --- a/common/battery_peppy.c +++ b/common/battery_peppy.c @@ -6,6 +6,11 @@ */ #include "battery_pack.h" +#include "host_command.h" +#include "smart_battery.h" + +#define SB_SHIP_MODE_ADDR 0x3a +#define SB_SHIP_MODE_DATA 0xc574 /* Values for 54Wh 3UPF656790-1-T1001 battery */ static const struct battery_info info = { @@ -50,3 +55,10 @@ void battery_vendor_params(struct batt_params *batt) } #endif } + +int battery_command_cut_off(struct host_cmd_handler_args *args) +{ + return sb_write(SB_SHIP_MODE_ADDR, SB_SHIP_MODE_DATA); +} +DECLARE_HOST_COMMAND(EC_CMD_BATTERY_CUT_OFF, battery_command_cut_off, + EC_VER_MASK(0));