From c2d60f53bca9e9c0004722da80730c6028e5f8d0 Mon Sep 17 00:00:00 2001 From: Shawn Nematbakhsh Date: Wed, 19 Oct 2016 14:57:18 -0700 Subject: power: rk3399: Adjust power-down sequencing delays BUG=chrome-os-partner:58474 BRANCH=gru TEST=suspend_stress_test on kevin for 50 cycles. Change-Id: Ice721e04c6d4389520f40c4ca72f5bec0e1bdb5b Signed-off-by: Shawn Nematbakhsh Reviewed-on: https://chromium-review.googlesource.com/399992 Reviewed-by: Douglas Anderson Reviewed-on: https://chromium-review.googlesource.com/403459 Commit-Ready: Shawn N Tested-by: Shawn N --- power/rk3399.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'power') diff --git a/power/rk3399.c b/power/rk3399.c index bdf73853c1..ab601638d8 100644 --- a/power/rk3399.c +++ b/power/rk3399.c @@ -278,34 +278,32 @@ enum power_state power_handle_state(enum power_state state) hook_notify(HOOK_CHIPSET_SUSPEND); CHECK_ABORTED_SUSPEND(); - msleep(10); + msleep(20); CHECK_ABORTED_SUSPEND(); gpio_set_level(GPIO_PP1800_SENSOR_EN_L, 1); gpio_set_level(GPIO_PP1800_SIXAXIS_EN_L, 1); gpio_set_level(GPIO_PP3300_S0_EN_L, 1); - msleep(10); + msleep(20); CHECK_ABORTED_SUSPEND(); gpio_set_level(GPIO_PP1800_S0_EN_L, 1); - msleep(10); + msleep(1); CHECK_ABORTED_SUSPEND(); gpio_set_level(GPIO_AP_CORE_EN, 0); - msleep(10); + msleep(20); CHECK_ABORTED_SUSPEND(); gpio_set_level(GPIO_PP1800_AP_AVDD_EN_L, 1); - msleep(10); + msleep(1); CHECK_ABORTED_SUSPEND(); gpio_set_level(GPIO_PP900_DDRPLL_EN, 0); - msleep(10); + msleep(1); CHECK_ABORTED_SUSPEND(); gpio_set_level(GPIO_PPVAR_CLOGIC_EN, 0); - msleep(10); - CHECK_ABORTED_SUSPEND(); /* * Enable idle task deep sleep. Allow the low power idle task @@ -332,17 +330,17 @@ enum power_state power_handle_state(enum power_state state) gpio_set_level(GPIO_PP3300_TRACKPAD_EN_L, 1); gpio_set_level(GPIO_PP5000_EN, 0); gpio_set_level(GPIO_PP3300_USB_EN_L, 1); - msleep(10); + msleep(20); gpio_set_level(GPIO_PP1800_USB_EN_L, 1); - msleep(2); + msleep(10); gpio_set_level(GPIO_LPDDR_PWR_EN, 0); - msleep(2); + msleep(20); gpio_set_level(GPIO_PP1800_PMU_EN_L, 1); msleep(2); gpio_set_level(GPIO_PP900_USB_EN, 0); gpio_set_level(GPIO_PP900_PLL_EN, 0); gpio_set_level(GPIO_PP900_PMU_EN, 0); - msleep(2); + msleep(6); gpio_set_level(GPIO_PP900_PCIE_EN, 0); gpio_set_level(GPIO_PP900_AP_EN, 0); gpio_set_level(GPIO_PPVAR_LOGIC_EN, 0); -- cgit v1.2.1