veyron_danger: Enable developer mode switch
Danger has a physical developer mode switch, it was just never set up. This patch defines it, sets it up in fill_lb_gpios(), and disables VIRTUAL_DEV_SWITCH. Note: For now at least, dev mode is a bit wonky on Danger. It's connected to both a DIP switch and a button. The button is normally open, pulling dev mode high (defaulting to ON). The switch's "ON" position will pull the value low, so we invert the value in coreboot to see the expected behavior. Dev mode is enabled by holding the button down during boot or by setting switch 2 in the DIP bank to the ON position. BUG=none BRANCH=none TEST=toggled dev switch on Danger and saw dev screen show up (or not) as expected Signed-off-by: David Hendricks <dhendrix@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/280852 Reviewed-by: Julius Werner <jwerner@chromium.org> Change-Id: I737f165d7704e2f73375099367f012b365e3e77d Reviewed-on: https://chromium-review.googlesource.com/284099
This commit is contained in:
parent
aad1c13958
commit
49023ce0e8
2 changed files with 6 additions and 5 deletions
|
|
@ -36,7 +36,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
|
||||
|
|
|
|||
|
|
@ -28,11 +28,13 @@
|
|||
#define GPIO_WP GPIO(7, A, 6)
|
||||
#define GPIO_POWER GPIO(0, A, 5)
|
||||
#define GPIO_RECOVERY GPIO(0, B, 1)
|
||||
#define GPIO_DEV_MODE GPIO(7, B, 2)
|
||||
|
||||
void setup_chromeos_gpios(void)
|
||||
{
|
||||
gpio_input(GPIO_WP);
|
||||
gpio_input(GPIO_POWER);
|
||||
gpio_input(GPIO_DEV_MODE);
|
||||
gpio_input_pullup(GPIO_RECOVERY);
|
||||
}
|
||||
|
||||
|
|
@ -64,9 +66,9 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
|||
GPIO_MAX_NAME_LENGTH);
|
||||
count++;
|
||||
|
||||
/* Developer: GPIO active high */
|
||||
gpios->gpios[count].port = -1;
|
||||
gpios->gpios[count].polarity = ACTIVE_HIGH;
|
||||
/* Developer: Danger has a physical dev switch that is active low */
|
||||
gpios->gpios[count].port = GPIO_DEV_MODE.raw;
|
||||
gpios->gpios[count].polarity = ACTIVE_LOW;
|
||||
gpios->gpios[count].value = get_developer_mode_switch();
|
||||
strncpy((char *)gpios->gpios[count].name, "developer",
|
||||
GPIO_MAX_NAME_LENGTH);
|
||||
|
|
@ -88,7 +90,7 @@ void fill_lb_gpios(struct lb_gpios *gpios)
|
|||
|
||||
int get_developer_mode_switch(void)
|
||||
{
|
||||
return 0;
|
||||
return !gpio_get(GPIO_DEV_MODE);
|
||||
}
|
||||
|
||||
int get_recovery_mode_switch(void)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue