diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2016-01-20 16:39:08 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-01-20 23:21:53 -0800 |
commit | 85b294f24d37116ba3f4aa419bc4df24cf4a5ee7 (patch) | |
tree | 965c32fcd2b65ebc5d23581f4a2860130edba226 | |
parent | bbe2d886dcd81e608d58f9cd945551ddd385f6d4 (diff) | |
download | chrome-ec-85b294f24d37116ba3f4aa419bc4df24cf4a5ee7.tar.gz |
chell: Add board support for asserting RTCRST
Enable CONFIG_BOARD_HAS_RTC_RESET and add a board_rtc_reset() function
to assert RTCRST to the PCH that will be called if the board fails to
sequence out of the S5 state.
This does not do anything on EVT devices but will be present in DVT.
BUG=chrome-os-partner:49564
BRANCH=glados
TEST=manually tested on chell
Change-Id: If0be091349a7ef7e8e1335ade029570c5f97a30e
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/322725
Reviewed-by: Shawn N <shawnn@chromium.org>
-rw-r--r-- | board/chell/board.c | 8 | ||||
-rw-r--r-- | board/chell/board.h | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/board/chell/board.c b/board/chell/board.c index 0fb6ec5b1f..27316719e0 100644 --- a/board/chell/board.c +++ b/board/chell/board.c @@ -183,6 +183,14 @@ void board_reset_pd_mcu(void) gpio_set_level(GPIO_PD_RST_L, 1); } +void board_rtc_reset(void) +{ + CPRINTS("Asserting RTCRST# to PCH"); + gpio_set_level(GPIO_PCH_RTCRST, 1); + udelay(100); + gpio_set_level(GPIO_PCH_RTCRST, 0); +} + const struct temp_sensor_t temp_sensors[] = { {"Battery", TEMP_SENSOR_TYPE_BATTERY, charge_temp_sensor_get_val, 0, 4}, diff --git a/board/chell/board.h b/board/chell/board.h index 26828741b7..b62b39bcf3 100644 --- a/board/chell/board.h +++ b/board/chell/board.h @@ -13,6 +13,7 @@ #define CONFIG_BATTERY_CUT_OFF #define CONFIG_BATTERY_PRESENT_GPIO GPIO_BAT_PRESENT_L #define CONFIG_BATTERY_SMART +#define CONFIG_BOARD_HAS_RTC_RESET #define CONFIG_BOARD_VERSION #define CONFIG_CHARGE_MANAGER @@ -195,6 +196,9 @@ enum temp_sensor_id { /* Reset PD MCU */ void board_reset_pd_mcu(void); +/* Reset RTC */ +void board_rtc_reset(void); + #endif /* !__ASSEMBLER__ */ #endif /* __CROS_EC_BOARD_H */ |