From 228bbe7fa88cd5c57956d57429b2b792a2e44370 Mon Sep 17 00:00:00 2001 From: Alexandru M Stan Date: Wed, 29 Jan 2020 16:42:46 -0800 Subject: Trogdor: Print when someone's trying to use AP_RST_REQ AP_RST_REQ is deprecated, but it would be nice to know if the AP is trying to misuse this signal. Add it back in as a power signal interrupt. BRANCH=None BUG=b/148238496 TEST=With kernel sandbox 200123-wip-tree: * run "halt" on the AP console * this will assert the AP_RST_REQ signal * you can see EC talk about it: DEPRECATED_AP_RST_REQ => 1 * but cold reboot still doesn't happen Change-Id: I8be10367afa7742642b793dc50e90964eb0b12c1 Signed-off-by: Alexandru M Stan Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2029203 Reviewed-by: Wai-Hong Tam --- board/trogdor/board.c | 4 ++++ board/trogdor/board.h | 1 + board/trogdor/gpio.inc | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/board/trogdor/board.c b/board/trogdor/board.c index 978ac75611..e5b7831950 100644 --- a/board/trogdor/board.c +++ b/board/trogdor/board.c @@ -207,6 +207,10 @@ const struct power_signal_info power_signal_list[] = { GPIO_AP_SUSPEND, POWER_SIGNAL_ACTIVE_HIGH, "AP_SUSPEND"}, + [SC7180_DEPRECATED_AP_RST_REQ] = { + GPIO_DEPRECATED_AP_RST_REQ, + POWER_SIGNAL_ACTIVE_HIGH, + "DEPRECATED_AP_RST_REQ"}, }; BUILD_ASSERT(ARRAY_SIZE(power_signal_list) == POWER_SIGNAL_COUNT); diff --git a/board/trogdor/board.h b/board/trogdor/board.h index a576a48747..331e28e92b 100644 --- a/board/trogdor/board.h +++ b/board/trogdor/board.h @@ -202,6 +202,7 @@ enum power_signal { SC7180_POWER_GOOD, SC7180_WARM_RESET, SC7180_AP_SUSPEND, + SC7180_DEPRECATED_AP_RST_REQ, /* Number of power signals */ POWER_SIGNAL_COUNT }; diff --git a/board/trogdor/gpio.inc b/board/trogdor/gpio.inc index 6320f6ce44..3410cc05fb 100644 --- a/board/trogdor/gpio.inc +++ b/board/trogdor/gpio.inc @@ -30,6 +30,7 @@ GPIO_INT(AP_RST_L, PIN(C, 1), GPIO_INT_BOTH | GPIO_SEL_1P8V, power_sign GPIO_INT(PS_HOLD, PIN(A, 4), GPIO_INT_BOTH | GPIO_PULL_DOWN | GPIO_SEL_1P8V, power_signal_interrupt) /* Indicate when AP triggers reset/shutdown */ GPIO_INT(PMIC_FAULT_L, PIN(A, 3), GPIO_INT_BOTH | GPIO_SEL_1P8V, power_signal_interrupt) /* Any PMIC fault? */ GPIO_INT(AP_SUSPEND, PIN(5, 7), GPIO_INT_BOTH | GPIO_SEL_1P8V, power_signal_interrupt) /* Suspend signal from PMIC */ +GPIO_INT(DEPRECATED_AP_RST_REQ, PIN(C, 2), GPIO_INT_BOTH | GPIO_PULL_DOWN | GPIO_SEL_1P8V, power_signal_interrupt) /* Deprecated AP initiated reset indicator */ /* * When switch-cap is off, the POWER_GOOD signal is floating. Need a pull-down * to make it low. Overload the interrupt function chipset_warm_reset_interrupt @@ -61,7 +62,6 @@ GPIO(EC_BATT_PRES_ODL, PIN(E, 5), GPIO_INPUT) /* Battery Present */ GPIO(PM845_RESIN_L, PIN(3, 2), GPIO_ODR_HIGH | GPIO_SEL_1P8V) /* PMIC reset trigger */ GPIO(PMIC_KPD_PWR_ODL, PIN(D, 6), GPIO_ODR_HIGH | GPIO_SEL_1P8V) /* PMIC power button */ GPIO(EC_INT_L, PIN(A, 2), GPIO_ODR_HIGH) /* Interrupt line between AP and EC */ -GPIO(AP_RST_REQ, PIN(C, 2), GPIO_INPUT) /* Deprecated AP initiated reset indicator */ /* Power enables */ GPIO(SWITCHCAP_ON, PIN(D, 5), GPIO_OUT_LOW) /* Enable switch cap */ -- cgit v1.2.1