aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/google/trogdor/chromeos.c
diff options
context:
space:
mode:
authorT Michael Turney <mturney@codeaurora.org>2019-10-15 07:40:30 -0700
committerJulius Werner <jwerner@chromium.org>2019-11-01 01:16:35 +0000
commit626a53776b2915d7f27a8a97f9d84200b20f3079 (patch)
treec8e9cc83dd52210ae4e6d53d0bc47e6ef86645d0 /src/mainboard/google/trogdor/chromeos.c
parent09c3bfe826cf8ff30bab9ee073474674f1c9d565 (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.c23
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));
}