diff options
author | Wai-Hong Tam <waihong@google.com> | 2020-07-15 14:38:30 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-17 23:18:06 +0000 |
commit | a5a82418126ee6cadff69d9487c43edc1ccea097 (patch) | |
tree | 6fc2315bc76233b19bca4bf74157c3937d3e9a6c /driver/battery | |
parent | 41fe226267e3a8c1cb61f9f25123eaea900b4971 (diff) | |
download | chrome-ec-a5a82418126ee6cadff69d9487c43edc1ccea097.tar.gz |
battery: Fix obtaining battery manufacture date
* Fix the typo: should be SB_MANUFACTURE_DATE (manufacture without r)
* Fix the register, i.e. SB_MANUFACTURE_DATE, not SB_SPECIFICATION_INFO
* Fix the format parsing. The LSB of year is bit-9, not bit-8.
BRANCH=None
BUG=b:160784792
TEST=With the later CL, checked the manufacture date.
Change-Id: I5b5f2bfefec4bbe700bb1ec0d9d6048123f4ad16
Signed-off-by: Wai-Hong Tam <waihong@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2300688
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Diffstat (limited to 'driver/battery')
-rw-r--r-- | driver/battery/smart.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/driver/battery/smart.c b/driver/battery/smart.c index 96a1a3f824..91b9bcfd10 100644 --- a/driver/battery/smart.c +++ b/driver/battery/smart.c @@ -287,16 +287,16 @@ test_mockable int battery_manufacture_date(int *year, int *month, int *day) int rv; int ymd; - rv = sb_read(SB_SPECIFICATION_INFO, &ymd); + rv = sb_read(SB_MANUFACTURE_DATE, &ymd); if (rv) return rv; /* battery date format: - * ymd = day + month * 32 + (year - 1980) * 256 + * ymd = day + month * 32 + (year - 1980) * 512 */ - *year = (ymd >> 8) + 1980; - *month = (ymd & 0xff) / 32; - *day = (ymd & 0xff) % 32; + *year = (ymd >> 9) + 1980; + *month = (ymd >> 5) & 0xf; + *day = ymd & 0x1f; return EC_SUCCESS; } |