diff options
author | Patrick Georgi <pgeorgi@google.com> | 2015-05-28 11:59:33 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-06-30 08:10:11 +0200 |
commit | 08b8785aebdc81f89e335e46d1913f119a490f9c (patch) | |
tree | 240906fb52161c4c8b4fd85c9f3a4c896ad8c9ea | |
parent | f7a5b56297f0d06fe4312d6c1f12823852a95e6b (diff) | |
download | coreboot-08b8785aebdc81f89e335e46d1913f119a490f9c.tar.xz |
Expose get_lid_switch() in romstage
The function was used locally and in ramstage to set some
coreboot tables. It's also needed in romstage to deal with
"lid closed" behaviour.
BRANCH=none
BUG=chromium:446945
TEST=none
Change-Id: I8ad7061328c45803699321aa9f5edb0ed2288a8d
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 78281a104fb9d79696a6ceb2a9a89a391146a424
Original-Change-Id: I56314b9dc9062dd61671982e7ec0ff15d7eb1bae
Original-Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/273609
Original-Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Original-Tested-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: http://review.coreboot.org/10691
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r-- | src/include/bootmode.h | 1 | ||||
-rw-r--r-- | src/mainboard/google/auron/chromeos.c | 14 | ||||
-rw-r--r-- | src/mainboard/google/bolt/chromeos.c | 22 | ||||
-rw-r--r-- | src/mainboard/google/falco/chromeos.c | 22 | ||||
-rw-r--r-- | src/mainboard/google/link/chromeos.c | 14 | ||||
-rw-r--r-- | src/mainboard/google/peppy/chromeos.c | 22 | ||||
-rw-r--r-- | src/mainboard/google/rambi/chromeos.c | 24 | ||||
-rw-r--r-- | src/mainboard/google/samus/chromeos.c | 14 | ||||
-rw-r--r-- | src/mainboard/google/slippy/chromeos.c | 22 |
9 files changed, 78 insertions, 77 deletions
diff --git a/src/include/bootmode.h b/src/include/bootmode.h index da4e070607..ff562d5069 100644 --- a/src/include/bootmode.h +++ b/src/include/bootmode.h @@ -27,6 +27,7 @@ int get_developer_mode_switch(void); int get_recovery_mode_switch(void); int clear_recovery_mode_switch(void); int get_wipeout_mode_switch(void); +int get_lid_switch(void); int gfx_get_init_done(void); diff --git a/src/mainboard/google/auron/chromeos.c b/src/mainboard/google/auron/chromeos.c index a5e2aea1f4..38bb8d9e4d 100644 --- a/src/mainboard/google/auron/chromeos.c +++ b/src/mainboard/google/auron/chromeos.c @@ -35,13 +35,6 @@ #define GPIO_COUNT 6 -static int get_lid_switch(void) -{ - u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); - - return !!(ec_switches & EC_SWITCH_LID_OPEN); -} - /*static void fill_lb_gpio(struct lb_gpio *gpio, int num, int polarity, const char *name, int force) { @@ -75,6 +68,13 @@ void fill_lb_gpios(struct lb_gpios *gpios) } #endif +int get_lid_switch(void) +{ + u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); + + return !!(ec_switches & EC_SWITCH_LID_OPEN); +} + /* The dev-switch is virtual */ int get_developer_mode_switch(void) { diff --git a/src/mainboard/google/bolt/chromeos.c b/src/mainboard/google/bolt/chromeos.c index 02a6ee64d1..6ccb1549f3 100644 --- a/src/mainboard/google/bolt/chromeos.c +++ b/src/mainboard/google/bolt/chromeos.c @@ -37,17 +37,6 @@ #define GPIO_COUNT 6 -static int get_lid_switch(void) -{ -#if CONFIG_EC_GOOGLE_CHROMEEC - u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); - - return !!(ec_switches & EC_SWITCH_LID_OPEN); -#else - return 0; -#endif -} - void fill_lb_gpios(struct lb_gpios *gpios) { struct lb_gpio *gpio; @@ -68,6 +57,17 @@ void fill_lb_gpios(struct lb_gpios *gpios) } #endif +int get_lid_switch(void) +{ +#if CONFIG_EC_GOOGLE_CHROMEEC + u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); + + return !!(ec_switches & EC_SWITCH_LID_OPEN); +#else + return 0; +#endif +} + /* The dev-switch is virtual */ int get_developer_mode_switch(void) { diff --git a/src/mainboard/google/falco/chromeos.c b/src/mainboard/google/falco/chromeos.c index ef10c48997..cd2728ed92 100644 --- a/src/mainboard/google/falco/chromeos.c +++ b/src/mainboard/google/falco/chromeos.c @@ -34,17 +34,6 @@ #define GPIO_COUNT 6 -static int get_lid_switch(void) -{ -#if CONFIG_EC_GOOGLE_CHROMEEC - u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); - - return !!(ec_switches & EC_SWITCH_LID_OPEN); -#else - return 0; -#endif -} - void fill_lb_gpios(struct lb_gpios *gpios) { struct lb_gpio *gpio; @@ -65,6 +54,17 @@ void fill_lb_gpios(struct lb_gpios *gpios) } #endif +int get_lid_switch(void) +{ +#if CONFIG_EC_GOOGLE_CHROMEEC + u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); + + return !!(ec_switches & EC_SWITCH_LID_OPEN); +#else + return 0; +#endif +} + /* The dev-switch is virtual */ int get_developer_mode_switch(void) { diff --git a/src/mainboard/google/link/chromeos.c b/src/mainboard/google/link/chromeos.c index 7a6b3a2a4b..a020b06664 100644 --- a/src/mainboard/google/link/chromeos.c +++ b/src/mainboard/google/link/chromeos.c @@ -31,13 +31,6 @@ #define GPIO_COUNT 6 -static int get_lid_switch(void) -{ - u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); - - return !!(ec_switches & EC_SWITCH_LID_OPEN); -} - void fill_lb_gpios(struct lb_gpios *gpios) { device_t dev = dev_find_slot(0, PCI_DEVFN(0x1f,0)); @@ -91,6 +84,13 @@ void fill_lb_gpios(struct lb_gpios *gpios) } #endif +int get_lid_switch(void) +{ + u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); + + return !!(ec_switches & EC_SWITCH_LID_OPEN); +} + /* The dev-switch is virtual on Link (and so handled elsewhere). */ int get_developer_mode_switch(void) { diff --git a/src/mainboard/google/peppy/chromeos.c b/src/mainboard/google/peppy/chromeos.c index ef10c48997..cd2728ed92 100644 --- a/src/mainboard/google/peppy/chromeos.c +++ b/src/mainboard/google/peppy/chromeos.c @@ -34,17 +34,6 @@ #define GPIO_COUNT 6 -static int get_lid_switch(void) -{ -#if CONFIG_EC_GOOGLE_CHROMEEC - u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); - - return !!(ec_switches & EC_SWITCH_LID_OPEN); -#else - return 0; -#endif -} - void fill_lb_gpios(struct lb_gpios *gpios) { struct lb_gpio *gpio; @@ -65,6 +54,17 @@ void fill_lb_gpios(struct lb_gpios *gpios) } #endif +int get_lid_switch(void) +{ +#if CONFIG_EC_GOOGLE_CHROMEEC + u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); + + return !!(ec_switches & EC_SWITCH_LID_OPEN); +#else + return 0; +#endif +} + /* The dev-switch is virtual */ int get_developer_mode_switch(void) { diff --git a/src/mainboard/google/rambi/chromeos.c b/src/mainboard/google/rambi/chromeos.c index c3631617cc..3e070447ad 100644 --- a/src/mainboard/google/rambi/chromeos.c +++ b/src/mainboard/google/rambi/chromeos.c @@ -37,18 +37,6 @@ #define GPIO_COUNT 6 -static int get_lid_switch(void) -{ -#if CONFIG_EC_GOOGLE_CHROMEEC - u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); - - return !!(ec_switches & EC_SWITCH_LID_OPEN); -#else - /* Default to force open. */ - return 1; -#endif -} - void fill_lb_gpios(struct lb_gpios *gpios) { struct lb_gpio *gpio; @@ -69,6 +57,18 @@ void fill_lb_gpios(struct lb_gpios *gpios) } #endif +int get_lid_switch(void) +{ +#if CONFIG_EC_GOOGLE_CHROMEEC + u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); + + return !!(ec_switches & EC_SWITCH_LID_OPEN); +#else + /* Default to force open. */ + return 1; +#endif +} + int get_developer_mode_switch(void) { return 0; diff --git a/src/mainboard/google/samus/chromeos.c b/src/mainboard/google/samus/chromeos.c index e3a9f4a84e..dc28ed1e8d 100644 --- a/src/mainboard/google/samus/chromeos.c +++ b/src/mainboard/google/samus/chromeos.c @@ -37,13 +37,6 @@ #define GPIO_COUNT 6 -static int get_lid_switch(void) -{ - u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); - - return !!(ec_switches & EC_SWITCH_LID_OPEN); -} - void fill_lb_gpios(struct lb_gpios *gpios) { struct lb_gpio *gpio; @@ -64,6 +57,13 @@ void fill_lb_gpios(struct lb_gpios *gpios) } #endif +int get_lid_switch(void) +{ + u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); + + return !!(ec_switches & EC_SWITCH_LID_OPEN); +} + /* The dev-switch is virtual */ int get_developer_mode_switch(void) { diff --git a/src/mainboard/google/slippy/chromeos.c b/src/mainboard/google/slippy/chromeos.c index ef10c48997..cd2728ed92 100644 --- a/src/mainboard/google/slippy/chromeos.c +++ b/src/mainboard/google/slippy/chromeos.c @@ -34,17 +34,6 @@ #define GPIO_COUNT 6 -static int get_lid_switch(void) -{ -#if CONFIG_EC_GOOGLE_CHROMEEC - u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); - - return !!(ec_switches & EC_SWITCH_LID_OPEN); -#else - return 0; -#endif -} - void fill_lb_gpios(struct lb_gpios *gpios) { struct lb_gpio *gpio; @@ -65,6 +54,17 @@ void fill_lb_gpios(struct lb_gpios *gpios) } #endif +int get_lid_switch(void) +{ +#if CONFIG_EC_GOOGLE_CHROMEEC + u8 ec_switches = inb(EC_LPC_ADDR_MEMMAP + EC_MEMMAP_SWITCHES); + + return !!(ec_switches & EC_SWITCH_LID_OPEN); +#else + return 0; +#endif +} + /* The dev-switch is virtual */ int get_developer_mode_switch(void) { |