diff --git a/board/bds/board.c b/board/bds/board.c index 89bd337af3..afee7576ce 100644 --- a/board/bds/board.c +++ b/board/bds/board.c @@ -45,6 +45,8 @@ const struct gpio_info gpio_list[GPIO_COUNT] = { power_button_interrupt}, {"LID_SWITCHn", LM4_GPIO_D, (1<<0), GPIO_PULL_UP | GPIO_INT_BOTH, power_button_interrupt}, + {"RECOVERYn", LM4_GPIO_D, (1<<1), GPIO_PULL_UP | GPIO_INT_BOTH, + power_button_interrupt}, /* Other inputs */ /* Outputs */ {"DEBUG_LED", LM4_GPIO_A, (1<<7), GPIO_OUT_LOW, NULL}, @@ -77,7 +79,6 @@ const struct gpio_info gpio_list[GPIO_COUNT] = { GPIO_SIGNAL_NOT_IMPLEMENTED("PCH_SMIn"), GPIO_SIGNAL_NOT_IMPLEMENTED("PCH_SUSACKn"), GPIO_SIGNAL_NOT_IMPLEMENTED("SHUNT_1_5V_DDR"), - GPIO_SIGNAL_NOT_IMPLEMENTED("RECOVERYn"), GPIO_SIGNAL_NOT_IMPLEMENTED("WRITE_PROTECT"), GPIO_SIGNAL_NOT_IMPLEMENTED("LIGHTBAR_RESETn"), }; diff --git a/board/bds/board.h b/board/bds/board.h index 54d4a47c94..a72875f0b6 100644 --- a/board/bds/board.h +++ b/board/bds/board.h @@ -76,6 +76,7 @@ enum gpio_signal { /* Inputs with interrupt handlers are first for efficiency */ GPIO_POWER_BUTTONn = 0, /* Power button */ GPIO_LID_SWITCHn, /* Lid switch */ + GPIO_RECOVERYn, /* Recovery signal from DOWN button */ /* Other inputs */ /* Outputs */ GPIO_DEBUG_LED, /* Debug LED */ @@ -111,7 +112,6 @@ enum gpio_signal { GPIO_PCH_SUSACKn, /* Acknowledge PCH SUSWARN# signal */ GPIO_SHUNT_1_5V_DDR, /* Shunt +1.5V_DDR; may also enable +3V_TP * depending on stuffing. */ - GPIO_RECOVERYn, /* Recovery signal from servo */ GPIO_WRITE_PROTECT, /* Write protect input */ GPIO_LIGHTBAR_RESETn, /* Reset lightbar controllers (Proto1+) */ diff --git a/common/vboot.c b/common/vboot.c index ea7840753a..429170d224 100644 --- a/common/vboot.c +++ b/common/vboot.c @@ -88,15 +88,6 @@ static enum howgood good_image(uint8_t *key_data, /* Might I want to jump to one of the RW images? */ static int maybe_jump_to_other_image(void) { - /* Not all boards even have RW EC firmware. I think it's just Link at - * the moment. */ -#ifndef BOARD_link - /* TODO: (crosbug.com/p/8561) once daisy can warm-boot to another - * image, enable it here too. */ - CPUTS("[Vboot staying in RO because that's all there is]\n"); - return 0; -#endif - /* We'll only jump to another image if we're currently in RO */ if (system_get_image_copy() != SYSTEM_IMAGE_RO) return 0; @@ -116,7 +107,8 @@ static int maybe_jump_to_other_image(void) #if !defined(CHIP_stm32) /* TODO: (crosbug.com/p/8572) Daisy and Snow don't define a GPIO - * for the recovery signal from servo, so can't check it. */ + * for the recovery signal from servo, so we can't check it. + * BDS uses the DOWN button. */ if (gpio_get_level(GPIO_RECOVERYn) == 0) { CPUTS("[Vboot staying in RO due to recovery signal]\n"); return 0;