summaryrefslogtreecommitdiff
path: root/power
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2016-10-08 09:45:52 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-12-01 19:58:50 -0800
commit81d32b8106908470178096cde00097ff48b94d18 (patch)
tree6d8d584390eeef9d6feef889cbb6de28de204338 /power
parent6598f08930c0e3b8822fa5339e187fbe20705cd3 (diff)
downloadchrome-ec-81d32b8106908470178096cde00097ff48b94d18.tar.gz
power: rk3399: Use longer SYS_RST hold time on chipset reset
BUG=chrome-os-partner:57990 BRANCH=gru TEST=On kevin, verify `apreset` and kernel panic cause successful AP reset. Change-Id: Ic5ad2fd2d2d08ae32a60314e30f4cdff061da164 Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/395533 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> (cherry picked from commit 8fb0dedd8daebeca3757bc341d0a5355d3b26ba5) Reviewed-on: https://chromium-review.googlesource.com/396136 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'power')
-rw-r--r--power/rk3399.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/power/rk3399.c b/power/rk3399.c
index 1b6916c06d..7aab83c2d0 100644
--- a/power/rk3399.c
+++ b/power/rk3399.c
@@ -58,6 +58,7 @@ void chipset_force_shutdown(void)
task_wake(TASK_ID_CHIPSET);
}
+#define SYS_RST_HOLD_US (1 * MSEC)
void chipset_reset(int cold_reset)
{
/* Print out the RTC to help correlate resets in logs. */
@@ -68,7 +69,10 @@ void chipset_reset(int cold_reset)
/* Pulse SYS_RST */
gpio_set_level(GPIO_SYS_RST_L, 0);
- udelay(90);
+ if (in_interrupt_context())
+ udelay(SYS_RST_HOLD_US);
+ else
+ usleep(SYS_RST_HOLD_US);
gpio_set_level(GPIO_SYS_RST_L, 1);
}