summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2016-05-12 12:26:22 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-05-12 17:15:35 -0700
commite41ee0e3eb6e7e192607801dbd60e3b7c68a69e2 (patch)
tree975c60ef362de3f706f1e417b012dd09ace35086
parent541433abaf0274bdd86a08523548ccddb8d8442c (diff)
downloadchrome-ec-e41ee0e3eb6e7e192607801dbd60e3b7c68a69e2.tar.gz
kevin: Handle WARM_RESET_REQ input
Trigger warm reset on WARM_RESET_REQ assertion. BUG=chrome-os-partner:51926, chrome-os-partner:51923 BRANCH=None TEST=Toggle input pins from sysfs (GPIOs 11, 38), verify that ISR is called and proper action is taken. Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Signed-off-by: Douglas Anderson <dianders@chromium.org> Change-Id: I38ef06bd99a7885647a27cef1a8371ad96c3f051 Reviewed-on: https://chromium-review.googlesource.com/338924 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org>
-rw-r--r--board/kevin/board.c6
-rw-r--r--board/kevin/gpio.inc33
2 files changed, 23 insertions, 16 deletions
diff --git a/board/kevin/board.c b/board/kevin/board.c
index 752ff8ef5b..bee1fef478 100644
--- a/board/kevin/board.c
+++ b/board/kevin/board.c
@@ -53,6 +53,12 @@ static void overtemp_interrupt(enum gpio_signal signal)
chipset_force_shutdown();
}
+static void warm_reset_request_interrupt(enum gpio_signal signal)
+{
+ CPRINTS("WARM_RESET_REQ asserted.");
+ chipset_reset(0);
+}
+
#include "gpio_list.h"
/******************************************************************************/
diff --git a/board/kevin/gpio.inc b/board/kevin/gpio.inc
index e5cbbc1f38..e6b94df0c6 100644
--- a/board/kevin/gpio.inc
+++ b/board/kevin/gpio.inc
@@ -17,26 +17,28 @@ GPIO_INT(USB_C0_PD_INT_L, PIN(6, 0), GPIO_INT_FALLING | GPIO_PULL_UP,
tcpc_alert_event)
GPIO_INT(USB_C1_PD_INT_L, PIN(6, 2), GPIO_INT_FALLING | GPIO_PULL_UP,
tcpc_alert_event)
-GPIO_INT(VOLUME_UP_L, PIN(8, 2), GPIO_INT_BOTH | GPIO_INPUT | GPIO_PULL_UP,
+GPIO_INT(VOLUME_UP_L, PIN(8, 2), GPIO_INT_BOTH | GPIO_PULL_UP,
button_interrupt)
-GPIO_INT(VOLUME_DOWN_L, PIN(8, 3), GPIO_INT_BOTH | GPIO_INPUT | GPIO_PULL_UP,
+GPIO_INT(VOLUME_DOWN_L, PIN(8, 3), GPIO_INT_BOTH | GPIO_PULL_UP,
button_interrupt)
-GPIO_INT(POWER_BUTTON_L, PIN(0, 4), GPIO_INT_BOTH | GPIO_INPUT | GPIO_PULL_UP,
+GPIO_INT(POWER_BUTTON_L, PIN(0, 4), GPIO_INT_BOTH | GPIO_PULL_UP,
power_button_interrupt)
-GPIO_INT(LID_OPEN, PIN(9, 7),
- GPIO_INT_BOTH | GPIO_INPUT | GPIO_SEL_1P8V, lid_interrupt)
+GPIO_INT(LID_OPEN, PIN(9, 7), GPIO_INT_BOTH | GPIO_SEL_1P8V,
+ lid_interrupt)
-GPIO_INT(PP5000_PG, PIN(7, 1),
- GPIO_INT_BOTH | GPIO_INPUT | GPIO_PULL_UP, power_signal_interrupt)
-GPIO_INT(TPS65261_PG, PIN(7, 5),
- GPIO_INT_BOTH | GPIO_INPUT | GPIO_PULL_UP, power_signal_interrupt)
+GPIO_INT(PP5000_PG, PIN(7, 1), GPIO_INT_BOTH | GPIO_PULL_UP,
+ power_signal_interrupt)
+GPIO_INT(TPS65261_PG, PIN(7, 5), GPIO_INT_BOTH | GPIO_PULL_UP,
+ power_signal_interrupt)
/* TODO: Remove PD in S3 for power savings */
-GPIO_INT(AP_EC_S3_S0_L, PIN(5, 4),
- GPIO_INT_BOTH | GPIO_INPUT | GPIO_PULL_DOWN, power_signal_interrupt)
-GPIO_INT(AP_CORE_PG, PIN(6, 7),
- GPIO_INT_BOTH | GPIO_INPUT | GPIO_PULL_UP, power_signal_interrupt)
-GPIO_INT(AP_OVERTEMP, PIN(7, 4), GPIO_INT_RISING,
- overtemp_interrupt)
+GPIO_INT(AP_EC_S3_S0_L, PIN(5, 4), GPIO_INT_BOTH | GPIO_PULL_DOWN,
+ power_signal_interrupt)
+GPIO_INT(AP_CORE_PG, PIN(6, 7), GPIO_INT_BOTH | GPIO_PULL_UP,
+ power_signal_interrupt)
+GPIO_INT(WARM_RESET_REQ, PIN(7, 3), GPIO_INT_RISING | GPIO_PULL_DOWN,
+ warm_reset_request_interrupt)
+GPIO_INT(AP_OVERTEMP, PIN(7, 4), GPIO_INT_RISING | GPIO_PULL_DOWN,
+ overtemp_interrupt)
/* VR EN */
GPIO(AP_CORE_EN, PIN(7, 2), GPIO_OUT_LOW)
@@ -108,7 +110,6 @@ GPIO(LID_360_L, PIN(3, 6), GPIO_INPUT | GPIO_SEL_1P8V)
GPIO(BASE_SIXAXIS_INT_L, PIN(4, 0), GPIO_INPUT | GPIO_SEL_1P8V)
GPIO(CCD_MODE_ODL, PIN(6, 3), GPIO_INPUT | GPIO_PULL_UP)
GPIO(PP3300_S0_EN_L, PIN(7, 0), GPIO_OUT_HIGH)
-GPIO(WARM_RESET_REQ, PIN(7, 3), GPIO_INPUT)
GPIO(SPI_SENSOR_CS_L, PIN(9, 4), GPIO_OUT_HIGH)
GPIO(USB_C0_DISCHARGE, PIN(0, 3), GPIO_OUT_LOW)