summaryrefslogtreecommitdiff
path: root/src/ec/acpi
diff options
context:
space:
mode:
authorSven Schnelle <svens@stackframe.org>2011-03-14 08:18:17 +0000
committerSven Schnelle <svens@stackframe.org>2011-03-14 08:18:17 +0000
commit8d94d7c4a7305712478071250bda88eba9ad30d8 (patch)
treeea4cf1efbffbf390abd3f9f43da19a2f772c5bc0 /src/ec/acpi
parent155c379b747e14ee181794d6ee460495886bee14 (diff)
ACPI EC: add ec_set_bit() / ec_clr_bit()
Signed-off-by: Sven Schnelle <svens@stackframe.org> Acked-by: Sven Schnelle <svens@stackframe.org> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6441 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/ec/acpi')
-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