diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2015-08-13 12:52:08 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2015-08-27 14:18:38 +0000 |
commit | 699c788837cd7cbfe1627abbbb909f63e390690a (patch) | |
tree | 5f2ebe245e0be8b9c10689669446de2549a9ddcd | |
parent | 7f3f285bf181cce7a708d1957845a7e2b413f098 (diff) | |
download | coreboot-699c788837cd7cbfe1627abbbb909f63e390690a.tar.xz |
chromeec: Add helper function to read EC switch state
Add a helper function to read the EC switch state on LPC based
ECs instead of having each board need to understand and use the
specific EC LPC IO method that is required.
BUG=chrome-os-partner:43515
BRANCH=none
TEST=build and boot on glados
Original-Change-Id: Id046c7ddf3a1689d4bf2241be5da31184c32c0e1
Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/293514
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Change-Id: Id11009e0711b13823e4f76dc9db9c9c20abf4809
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: http://review.coreboot.org/11280
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
-rw-r--r-- | src/ec/google/chromeec/ec.h | 1 | ||||
-rw-r--r-- | src/ec/google/chromeec/ec_lpc.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h index 8dfefd41cf..3bc62c9427 100644 --- a/src/ec/google/chromeec/ec.h +++ b/src/ec/google/chromeec/ec.h @@ -53,6 +53,7 @@ int google_chromeec_kbbacklight(int percent); void google_chromeec_post(u8 postcode); void google_chromeec_log_events(u32 mask); int google_chromeec_vbnv_context(int is_read, uint8_t *data, int len); +uint8_t google_chromeec_get_switches(void); /* For MEC, access ranges 0x800 thru 0x9ff using EMI interface instead of LPC */ #define MEC_EMI_RANGE_START EC_HOST_CMD_REGION0 diff --git a/src/ec/google/chromeec/ec_lpc.c b/src/ec/google/chromeec/ec_lpc.c index 9d1121bc6f..003a5f259e 100644 --- a/src/ec/google/chromeec/ec_lpc.c +++ b/src/ec/google/chromeec/ec_lpc.c @@ -364,6 +364,12 @@ static int google_chromeec_command_v1(struct chromeec_command *cec_command) return 0; } +/* Return the byte of EC switch states */ +uint8_t google_chromeec_get_switches(void) +{ + return read_byte(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); +} + #ifdef __PRE_RAM__ int google_chromeec_command(struct chromeec_command *cec_command) |