diff options
Diffstat (limited to 'src/ec')
-rw-r--r-- | src/ec/acpi/ec.c | 10 | ||||
-rw-r--r-- | src/ec/acpi/ec.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/ec/acpi/ec.c b/src/ec/acpi/ec.c index 7a01b7e455..e353260c30 100644 --- a/src/ec/acpi/ec.c +++ b/src/ec/acpi/ec.c @@ -113,6 +113,16 @@ int ec_write(u8 addr, u8 data) return send_ec_data(data); } +void ec_set_bit(u8 addr, u8 bit) +{ + ec_write(addr, ec_read(addr) | (1 << bit)); +} + +void ec_clr_bit(u8 addr, u8 bit) +{ + ec_write(addr, ec_read(addr) & ~(1 << bit)); +} + struct chip_operations ec_acpi_ops = { CHIP_NAME("ACPI Embedded Controller") }; diff --git a/src/ec/acpi/ec.h b/src/ec/acpi/ec.h index 77ee6379ea..cabbfeaacd 100644 --- a/src/ec/acpi/ec.h +++ b/src/ec/acpi/ec.h @@ -44,6 +44,8 @@ int send_ec_data_nowait(u8 data); u8 recv_ec_data(void); u8 ec_read(u8 addr); int ec_write(u8 addr, u8 data); +void ec_set_bit(u8 addr, u8 bit); +void ec_clr_bit(u8 addr, u8 bit); #endif |