diff --git a/src/board/system76/darp5/acpi.c b/src/board/system76/darp5/acpi.c index b92aa27..4063b27 100644 --- a/src/board/system76/darp5/acpi.c +++ b/src/board/system76/darp5/acpi.c @@ -7,9 +7,11 @@ extern uint8_t sci_extra; -uint8_t fcmd = 0; -uint8_t fdat = 0; -uint8_t fbuf[4] = { 0, 0, 0, 0 }; +uint8_t ecos = 0; + +static uint8_t fcmd = 0; +static uint8_t fdat = 0; +static uint8_t fbuf[4] = { 0, 0, 0, 0 }; void fcommand(void) { // TODO @@ -66,6 +68,8 @@ uint8_t acpi_read(uint8_t addr) { ACPI_16(0x2E, battery_remaining_capacity); ACPI_16(0x32, battery_voltage); + ACPI_8(0x68, ecos); + ACPI_8(0xCC, sci_extra); // Airplane mode LED @@ -100,6 +104,10 @@ void acpi_write(uint8_t addr, uint8_t data) { lid_wake = (bool)(data & (1 << 2)); break; + case 0x68: + ecos = data; + break; + // Airplane mode LED case 0xD9: gpio_set(&LED_AIRPLANE_N, !(bool)(data & (1 << 6))); diff --git a/src/board/system76/galp3-c/acpi.c b/src/board/system76/galp3-c/acpi.c index a5de1d4..2ffb5c9 100644 --- a/src/board/system76/galp3-c/acpi.c +++ b/src/board/system76/galp3-c/acpi.c @@ -8,6 +8,8 @@ extern uint8_t sci_extra; +uint8_t ecos = 0; + static uint8_t fcmd = 0; static uint8_t fdat = 0; static uint8_t fbuf[4] = { 0, 0, 0, 0 }; @@ -81,6 +83,8 @@ uint8_t acpi_read(uint8_t addr) { ACPI_16(0x2E, battery_remaining_capacity); ACPI_16(0x32, battery_voltage); + ACPI_8(0x68, ecos); + ACPI_8(0xCC, sci_extra); // Airplane mode LED @@ -115,6 +119,10 @@ void acpi_write(uint8_t addr, uint8_t data) { lid_wake = (bool)(data & (1 << 2)); break; + case 0x68: + ecos = data; + break; + // Airplane mode LED case 0xD9: gpio_set(&LED_AIRPLANE_N, !(bool)(data & (1 << 6)));