diff options
author | David Hendricks <dhendrix@chromium.org> | 2016-07-14 18:56:26 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-07-22 15:36:09 -0700 |
commit | 182ba1b7414000746d62018d7ce7c5291ae1ae23 (patch) | |
tree | bd84d8efa7675639bd5b18567a7cc7848b19c2a7 /driver | |
parent | 29ef0536d86f1ac54149f6c1940dfb47d693fc99 (diff) | |
download | chrome-ec-182ba1b7414000746d62018d7ce7c5291ae1ae23.tar.gz |
bd99955: Add function for reading temperature
BUG=chrome-os-partner:54818
BRANCH=none
TEST=needs testing
Change-Id: I3a33f79e7d57e6f94731a7d929dbcd083e0f1ca1
Signed-off-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/360721
Reviewed-by: Vijay P Hiremath <vijay.p.hiremath@intel.com>
Diffstat (limited to 'driver')
-rw-r--r-- | driver/charger/bd99955.c | 14 | ||||
-rw-r--r-- | driver/charger/bd99955.h | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/driver/charger/bd99955.c b/driver/charger/bd99955.c index f6a6519478..11217428e5 100644 --- a/driver/charger/bd99955.c +++ b/driver/charger/bd99955.c @@ -819,6 +819,20 @@ int bd99955_select_input_port(enum bd99955_charge_port port) BD99955_EXTENDED_COMMAND); } +int bd99955_get_temp(int *temp_ptr) +{ + int rv; + + rv = ch_raw_read16(BD99955_CMD_THERM_VAL, temp_ptr, + BD99955_EXTENDED_COMMAND); + if (rv) + return rv; + + /* Degrees C = 200 - THERM_VAL, range is -55C-200C, 1C steps */ + *temp_ptr = 200 - *temp_ptr; + return EC_SUCCESS; +} + #ifdef HAS_TASK_USB_CHG int bd99955_bc12_enable_charging(enum bd99955_charge_port port, int enable) { diff --git a/driver/charger/bd99955.h b/driver/charger/bd99955.h index e5cf666380..214a20fd7b 100644 --- a/driver/charger/bd99955.h +++ b/driver/charger/bd99955.h @@ -295,5 +295,7 @@ int bd99955_select_input_port(enum bd99955_charge_port port); int bd99955_bc12_enable_charging(enum bd99955_charge_port port, int enable); /* Interrupt handler for USB charger VBUS */ void bd99955_vbus_interrupt(enum gpio_signal signal); +/* Read temperature measurement value (in Celsius) */ +int bd99955_get_temp(int *temp_ptr); #endif /* __CROS_EC_BD99955_H */ |