diff options
author | T Michael Turney <mturney@codeaurora.org> | 2019-10-15 07:40:30 -0700 |
---|---|---|
committer | Julius Werner <jwerner@chromium.org> | 2019-11-01 01:16:35 +0000 |
commit | 626a53776b2915d7f27a8a97f9d84200b20f3079 (patch) | |
tree | c8e9cc83dd52210ae4e6d53d0bc47e6ef86645d0 /src/mainboard/google/trogdor/chromeos.c | |
parent | 09c3bfe826cf8ff30bab9ee073474674f1c9d565 (diff) |
trogdor: Add mainboard gpio support
Change-Id: I06cdb8eaaf7f74b47e1d1283dcaa765674ceaa45
Signed-off-by: T Michael Turney <mturney@codeaurora.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36070
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/google/trogdor/chromeos.c')
-rw-r--r-- | src/mainboard/google/trogdor/chromeos.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/mainboard/google/trogdor/chromeos.c b/src/mainboard/google/trogdor/chromeos.c index 1e8857db97..e84061352e 100644 --- a/src/mainboard/google/trogdor/chromeos.c +++ b/src/mainboard/google/trogdor/chromeos.c @@ -15,13 +15,34 @@ #include <boot/coreboot_tables.h> #include <bootmode.h> +#include "board.h" int get_write_protect_state(void) { - return 0; + return !gpio_get(GPIO_WP_STATE); +} + +void setup_chromeos_gpios(void) +{ + gpio_input_pullup(GPIO_EC_IN_RW); + gpio_input_pullup(GPIO_AP_EC_INT); + gpio_output(GPIO_AP_SUSPEND, 1); + gpio_input(GPIO_WP_STATE); + gpio_input_pullup(GPIO_H1_AP_INT); } void fill_lb_gpios(struct lb_gpios *gpios) { + struct lb_gpio chromeos_gpios[] = { + {GPIO_EC_IN_RW.addr, ACTIVE_LOW, gpio_get(GPIO_EC_IN_RW), + "EC in RW"}, + {GPIO_AP_EC_INT.addr, ACTIVE_LOW, gpio_get(GPIO_AP_EC_INT), + "EC interrupt"}, + {GPIO_WP_STATE.addr, ACTIVE_LOW, !get_write_protect_state(), + "write protect"}, + {GPIO_H1_AP_INT.addr, ACTIVE_LOW, gpio_get(GPIO_H1_AP_INT), + "TPM interrupt"}, + }; + lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios)); } |