Hung-Te Lin has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32336
Change subject: google/kukui: Get write protection status from WP GPIO ......................................................................
google/kukui: Get write protection status from WP GPIO
Write protection (get_write_protect_state) was hard-coded to 0 and should be fixed to read from correct GPIO (PERIPHERAL_EN0 from schematics).
BUG=b:130681408 TEST=make -j; boots on Kukui Rev2. BRANCH=None
Change-Id: I75b98b1d587abe5e8cdf3df28ea661bc1ffa19f9 Signed-off-by: Hung-Te Lin hungte@chromium.org --- M src/mainboard/google/kukui/chromeos.c M src/mainboard/google/kukui/gpio.h 2 files changed, 5 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/36/32336/1
diff --git a/src/mainboard/google/kukui/chromeos.c b/src/mainboard/google/kukui/chromeos.c index 09c47ee..44e75e2 100644 --- a/src/mainboard/google/kukui/chromeos.c +++ b/src/mainboard/google/kukui/chromeos.c @@ -22,6 +22,7 @@
void setup_chromeos_gpios(void) { + gpio_input(GPIO_WP); gpio_input_pullup(EC_IN_RW); gpio_input_pullup(EC_IRQ); gpio_input_pullup(CR50_IRQ); @@ -31,6 +32,8 @@ void fill_lb_gpios(struct lb_gpios *gpios) { struct lb_gpio chromeos_gpios[] = { + {GPIO_WP.id, ACTIVE_LOW, + !get_write_protect_state(), "write protect"}, {-1, ACTIVE_HIGH, get_recovery_mode_switch(), "recovery"}, {EC_IN_RW.id, ACTIVE_HIGH, -1, "EC in RW"}, {EC_IRQ.id, ACTIVE_LOW, -1, "EC interrupt"}, @@ -41,7 +44,7 @@
int get_write_protect_state(void) { - return 0; + return !gpio_get(GPIO_WP); }
int tis_plat_irq_status(void) diff --git a/src/mainboard/google/kukui/gpio.h b/src/mainboard/google/kukui/gpio.h index 024b0d7..92d238e 100644 --- a/src/mainboard/google/kukui/gpio.h +++ b/src/mainboard/google/kukui/gpio.h @@ -18,6 +18,7 @@
#include <soc/gpio.h>
+#define GPIO_WP GPIO(PERIPHERAL_EN0) #define EC_IRQ GPIO(PERIPHERAL_EN1) #define EC_IN_RW GPIO(PERIPHERAL_EN14) #define CR50_IRQ GPIO(PERIPHERAL_EN3)