summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ec/acpi/ec.c10
-rw-r--r--src/ec/acpi/ec.h2
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