From 699c788837cd7cbfe1627abbbb909f63e390690a Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Thu, 13 Aug 2015 12:52:08 -0700 Subject: 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 Original-Reviewed-on: https://chromium-review.googlesource.com/293514 Original-Reviewed-by: Aaron Durbin Change-Id: Id11009e0711b13823e4f76dc9db9c9c20abf4809 Signed-off-by: Duncan Laurie Reviewed-on: http://review.coreboot.org/11280 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- src/ec/google/chromeec/ec.h | 1 + src/ec/google/chromeec/ec_lpc.c | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'src') 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) -- cgit v1.2.3