From 15c5f936b51167aaa02c86908fada0bf70327a80 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Tue, 14 Sep 2021 20:35:51 -0700 Subject: [PATCH] Read cycle count from battery and expose for ACPI --- src/board/system76/common/acpi.c | 2 ++ src/board/system76/common/battery.c | 2 ++ src/board/system76/common/include/board/battery.h | 1 + 3 files changed, 5 insertions(+) diff --git a/src/board/system76/common/acpi.c b/src/board/system76/common/acpi.c index dba232a..45f61db 100644 --- a/src/board/system76/common/acpi.c +++ b/src/board/system76/common/acpi.c @@ -127,6 +127,8 @@ uint8_t acpi_read(uint8_t addr) { ACPI_16(0x2E, battery_remaining_capacity); ACPI_16(0x32, battery_voltage); + ACPI_16(0x42, battery_cycle_count); + ACPI_8(0x68, acpi_ecos); case 0xBC: diff --git a/src/board/system76/common/battery.c b/src/board/system76/common/battery.c index 662b2d6..25ff853 100644 --- a/src/board/system76/common/battery.c +++ b/src/board/system76/common/battery.c @@ -81,6 +81,7 @@ uint16_t battery_charge = 0; uint16_t battery_remaining_capacity = 0; uint16_t battery_full_capacity = 0; uint16_t battery_status = 0; +uint16_t battery_cycle_count = 0; uint16_t battery_design_capacity = 0; uint16_t battery_design_voltage = 0; @@ -101,6 +102,7 @@ void battery_event(void) { command(battery_remaining_capacity, 0x0F); command(battery_full_capacity, 0x10); command(battery_status, 0x16); + command(battery_cycle_count, 0x17); command(battery_design_capacity, 0x18); command(battery_design_voltage, 0x19); diff --git a/src/board/system76/common/include/board/battery.h b/src/board/system76/common/include/board/battery.h index 7316d5d..de8b4c7 100644 --- a/src/board/system76/common/include/board/battery.h +++ b/src/board/system76/common/include/board/battery.h @@ -25,6 +25,7 @@ extern uint16_t battery_charge; extern uint16_t battery_remaining_capacity; extern uint16_t battery_full_capacity; extern uint16_t battery_status; +extern uint16_t battery_cycle_count; extern uint16_t battery_design_capacity; extern uint16_t battery_design_voltage;