diff options
Diffstat (limited to 'board/buddy/battery.c')
-rw-r--r-- | board/buddy/battery.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/board/buddy/battery.c b/board/buddy/battery.c new file mode 100644 index 0000000000..80396faaa5 --- /dev/null +++ b/board/buddy/battery.c @@ -0,0 +1,42 @@ +/* Copyright 2015 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + * + * Battery pack vendor provided charging profile + */ + +#include "battery.h" +#include "battery_smart.h" +#include "gpio.h" +#include "host_command.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 = { + + .voltage_max = 12600, + .voltage_normal = 11100, /* Average of max & min */ + .voltage_min = 9000, + + /* Pre-charge values. */ + .precharge_current = 392, /* mA */ + + .start_charging_min_c = 0, + .start_charging_max_c = 60, + .charging_min_c = 0, + .charging_max_c = 60, + .discharging_min_c = 0, + .discharging_max_c = 50, +}; + +const struct battery_info *battery_get_info(void) +{ + return &info; +} + +int board_cut_off_battery(void) +{ + return sb_write(SB_SHIP_MODE_ADDR, SB_SHIP_MODE_DATA); +} |