From 60d57a81623b1189231c83cd1b914d77b022f1ad Mon Sep 17 00:00:00 2001 From: Randall Spangler Date: Thu, 30 Aug 2012 14:00:48 -0700 Subject: Snow must assert ENTERING_RW GPIO when jumping between images BUG=chrome-os-partner:13439 BRANCH=snow TEST=manual 1. Ctrl+Refresh+Esc; should go to INSERT screen 2. Ctrl+D; should show TODEV (this confirms it's still possible to get into dev mode the right way) 3. From EC console, 'sysjump rw' 4. Ctrl+D; should NOT show TODEV (this confirms the bug is fixed) Change-Id: Ic4879cb0a7fc47527eac1a5a727f3225744ff880 Signed-off-by: Randall Spangler Reviewed-on: https://gerrit.chromium.org/gerrit/31932 --- board/bds/board.c | 1 + board/bds/board.h | 1 + board/daisy/board.h | 2 +- board/snow/board.h | 2 +- common/system_common.c | 2 -- 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/board/bds/board.c b/board/bds/board.c index 50c4a079e9..04e3d56c67 100644 --- a/board/bds/board.c +++ b/board/bds/board.c @@ -44,6 +44,7 @@ const struct gpio_info gpio_list[GPIO_COUNT] = { {"DEBUG_LED", LM4_GPIO_A, (1<<7), GPIO_OUT_LOW, NULL}, /* Unimplemented signals which we need to emulate for now */ GPIO_SIGNAL_NOT_IMPLEMENTED("WRITE_PROTECT"), + GPIO_SIGNAL_NOT_IMPLEMENTED("ENTERING_RW"), }; diff --git a/board/bds/board.h b/board/bds/board.h index d26a79f7ef..452b4558b2 100644 --- a/board/bds/board.h +++ b/board/bds/board.h @@ -38,6 +38,7 @@ enum gpio_signal { /* Signals which aren't implemented on BDS but we'll emulate anyway, to * make it more convenient to debug other code. */ GPIO_WRITE_PROTECT, /* Write protect input */ + GPIO_ENTERING_RW, /* EC entering RW code */ /* Number of GPIOs; not an actual GPIO */ GPIO_COUNT diff --git a/board/daisy/board.h b/board/daisy/board.h index c7a2587d5e..7fa8cf0972 100644 --- a/board/daisy/board.h +++ b/board/daisy/board.h @@ -79,7 +79,7 @@ enum gpio_signal { GPIO_EN_PP5000, /* 5.0v rail enable */ GPIO_EN_PP3300, /* 3.3v rail enable */ GPIO_PMIC_PWRON_L, /* 5v rail ready */ - GPIO_EC_ENTERING_RW, /* EC is R/W mode for the kbc mux */ + GPIO_ENTERING_RW, /* EC is R/W mode for the kbc mux */ GPIO_CHARGER_EN, GPIO_POWER_LED_L, /* Power state keyboard LED */ GPIO_EC_INT, diff --git a/board/snow/board.h b/board/snow/board.h index a98d3802cb..7c9edd3c46 100644 --- a/board/snow/board.h +++ b/board/snow/board.h @@ -96,7 +96,7 @@ enum gpio_signal { GPIO_EN_PP3300, /* 3.3v rail enable */ GPIO_PMIC_PWRON_L, /* 5v rail ready */ GPIO_PMIC_RESET, /* Force hard reset of the pmic */ - GPIO_EC_ENTERING_RW, /* EC is R/W mode for the kbc mux */ + GPIO_ENTERING_RW, /* EC is R/W mode for the kbc mux */ GPIO_CHARGER_EN, GPIO_EC_INT, GPIO_CODEC_INT, /* To audio codec (KB noise cancellation) */ diff --git a/common/system_common.c b/common/system_common.c index 60bb888726..6f74013aed 100644 --- a/common/system_common.c +++ b/common/system_common.c @@ -298,14 +298,12 @@ static void jump_to_image(uint32_t init_addr) { void (*resetvec)(void) = (void(*)(void))init_addr; -#ifdef BOARD_link /* * Jumping to any image asserts the signal to the Silego chip that that * EC is not in read-only firmware. (This is not technically true if * jumping from RO -> RO, but that's not a meaningful use case...) */ gpio_set_level(GPIO_ENTERING_RW, 1); -#endif /* Flush UART output unless the UART hasn't been initialized yet */ if (uart_init_done()) -- cgit v1.2.1