summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2016-01-20 16:39:08 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-01-20 23:21:53 -0800
commit85b294f24d37116ba3f4aa419bc4df24cf4a5ee7 (patch)
tree965c32fcd2b65ebc5d23581f4a2860130edba226
parentbbe2d886dcd81e608d58f9cd945551ddd385f6d4 (diff)
downloadchrome-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.c8
-rw-r--r--board/chell/board.h4
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 */