From 2580508a1104c65dd30e097285b68ddb84133eb9 Mon Sep 17 00:00:00 2001 From: Jonathan Dixon Date: Wed, 1 Apr 2015 14:02:34 -0700 Subject: google/veyron_rialto: support the developer key GPIO Currently (EVT) this is a pullup resistor on the board (i.e. always in dev mode). Future builds it will be pull down and require servo or HW modification to control. Either way, this change means the FW should acknowledge it. BUG=chrome-os-partner:38663 TEST=Manually verified that servo devmode switch toggles this GPIO. requires FW signing to verify GPIO is observed and dev mode active. BRANCH=none Change-Id: Ib05216992abc5f6175fe7395471bd379f185b61f Signed-off-by: Patrick Georgi Original-Commit-Id: 702c8d222a3d19d6b8db89d122dcdf594c85da99 Original-Change-Id: I1d0f31819b9f7a1ab63deac52bcaf0b996499b0c Original-Reviewed-on: https://chromium-review.googlesource.com/263529 Original-Reviewed-by: Hung-Te Lin Original-Tested-by: Jonathan Dixon Original-Commit-Queue: Jonathan Dixon Reviewed-on: http://review.coreboot.org/9928 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/mainboard/google/veyron_rialto/Kconfig | 1 - src/mainboard/google/veyron_rialto/chromeos.c | 8 ++++++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'src/mainboard') diff --git a/src/mainboard/google/veyron_rialto/Kconfig b/src/mainboard/google/veyron_rialto/Kconfig index f4a90df91b..597dd19634 100644 --- a/src/mainboard/google/veyron_rialto/Kconfig +++ b/src/mainboard/google/veyron_rialto/Kconfig @@ -35,7 +35,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy select SPI_FLASH select SPI_FLASH_GIGADEVICE select SPI_FLASH_WINBOND - select VIRTUAL_DEV_SWITCH config MAINBOARD_DIR string diff --git a/src/mainboard/google/veyron_rialto/chromeos.c b/src/mainboard/google/veyron_rialto/chromeos.c index 9efa855f24..4b78ba88f1 100644 --- a/src/mainboard/google/veyron_rialto/chromeos.c +++ b/src/mainboard/google/veyron_rialto/chromeos.c @@ -29,6 +29,8 @@ #define GPIO_POWER GPIO(0, A, 5) #define GPIO_RECOVERY_SERVO GPIO(0, B, 1) #define GPIO_RECOVERY_PUSHKEY GPIO(7, B, 1) +#define GPIO_DEVELOPER_SWITCH GPIO(7, B, 2) + void setup_chromeos_gpios(void) { @@ -36,6 +38,7 @@ void setup_chromeos_gpios(void) gpio_input(GPIO_POWER); gpio_input_pullup(GPIO_RECOVERY_SERVO); gpio_input_pullup(GPIO_RECOVERY_PUSHKEY); + gpio_input(GPIO_DEVELOPER_SWITCH); // board has pull up/down resistor. } void fill_lb_gpios(struct lb_gpios *gpios) @@ -70,7 +73,7 @@ void fill_lb_gpios(struct lb_gpios *gpios) count++; /* Developer: GPIO active high */ - gpios->gpios[count].port = -1; + gpios->gpios[count].port = GPIO_DEVELOPER_SWITCH.raw; gpios->gpios[count].polarity = ACTIVE_HIGH; gpios->gpios[count].value = get_developer_mode_switch(); strncpy((char *)gpios->gpios[count].name, "developer", @@ -93,7 +96,8 @@ void fill_lb_gpios(struct lb_gpios *gpios) int get_developer_mode_switch(void) { - return 0; + // GPIO_DEVELOPER_SWITCH is active high. + return gpio_get(GPIO_DEVELOPER_SWITCH); } int get_recovery_mode_switch(void) -- cgit v1.2.3