diff options
author | Vic Yang <victoryang@chromium.org> | 2013-08-20 16:36:38 +0800 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2013-09-05 07:19:59 +0000 |
commit | 93cb494a7e44864912843e63c04ae72912a1a2e4 (patch) | |
tree | 97399ed492eda3d72923bc1c6ceac977a2bf4061 /include/battery.h | |
parent | 3f2eba22c5d3e771904f6451a4b63a41cc6964cb (diff) | |
download | chrome-ec-93cb494a7e44864912843e63c04ae72912a1a2e4.tar.gz |
Add BQ27541 battery driver
BQ27541 is not a smart battery IC, and thus we cannot use existing smart
battery driver. Let's add a driver that implements a smart-battery-like
interface.
The 'battery' console command is also moved to battery.c so that it can
be reused by different battery driver.
BUG=chrome-os-partner:22048
TEST=Type 'battery' and check the reported values are sane.
TEST=Check 'battery' command works fine on Spring.
BRANCH=None
Change-Id: I5d1eaeb3f801478f3b9473fd43c1f2a2eda75859
Signed-off-by: Vic Yang <victoryang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/66340
Diffstat (limited to 'include/battery.h')
-rw-r--r-- | include/battery.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/include/battery.h b/include/battery.h index 940187fe7f..39a7aea0d1 100644 --- a/include/battery.h +++ b/include/battery.h @@ -31,5 +31,104 @@ */ #define BATTERY_LEVEL_SHUTDOWN 3 + +/* Get/set battery mode */ +int battery_get_battery_mode(int *mode); + +int battery_set_battery_mode(int mode); + +/* Read battery temperature + * unit: 0.1 K + */ +int battery_temperature(int *deci_kelvin); + +/* Read battery voltage + * unit: mV + */ +int battery_voltage(int *voltage); + +/* Relative state of charge in percent */ +int battery_state_of_charge(int *percent); + +/* Absolute state of charge in percent */ +int battery_state_of_charge_abs(int *percent); + +/* + * Return non-zero if the battery is reporting capacity in 10mW. + * Otherwise, in mAh. */ +int battery_is_in_10mw_mode(void); + +/* + * Battery remaining capacity + * unit: mAh or 10mW, depends on battery mode + */ +int battery_remaining_capacity(int *capacity); + +/* Battery full charge capacity */ +int battery_full_charge_capacity(int *capacity); + +/* Time in minutes left when discharging */ +int battery_time_to_empty(int *minutes); + +int battery_run_time_to_empty(int *minutes); + +/* Time in minutes to full when charging */ +int battery_time_to_full(int *minutes); + +/* The current battery desired to charge + * unit: mA + */ +int battery_desired_current(int *current); + +/* The voltage battery desired to charge + * unit: mV + */ +int battery_desired_voltage(int *voltage); + +/* Read battery status */ +int battery_status(int *status); + +/* Battery charge cycle count */ +int battery_cycle_count(int *count); + +/* Designed battery capacity + * unit: mAh or 10mW depends on battery mode + */ +int battery_design_capacity(int *capacity); + +/* Designed battery output voltage + * unit: mV + */ +int battery_design_voltage(int *voltage); + +/* Read serial number */ +int battery_serial_number(int *serial); + +/* Read manufacturer name */ +int battery_manufacturer_name(char *manufacturer_name, int buf_size); + +/* Read device name */ +int battery_device_name(char *device_name, int buf_size); + +/* Read battery type/chemistry */ +int battery_device_chemistry(char *device_chemistry, int buf_size); + +/* Read battery discharging current + * unit: mA + * negative value: charging + */ +int battery_current(int *current); +int battery_average_current(int *current); + +/* Calculate battery time in minutes, under a charging rate + * rate > 0: charging, negative time to full + * rate < 0: discharging, positive time to empty + * rate == 0: invalid input, time = 0 + */ +int battery_time_at_rate(int rate, int *minutes); + +/* Read manufacturer date */ +int battery_manufacturer_date(int *year, int *month, int *day); + #endif /* __CROS_EC_BATTERY_H */ |