Commit e6f6c60a authored by Fabio Estevam's avatar Fabio Estevam Committed by Stefan Bader

ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX

BugLink: https://bugs.launchpad.net/bugs/1836668

commit b25af2ff upstream.

Since commit 1e434b70 ("ARM: imx: update the cpu power up timing
setting on i.mx6sx") some characters loss is noticed on i.MX6ULL UART
as reported by Christoph Niedermaier.

The intention of such commit was to increase the SW2ISO field for i.MX6SX
only, but since cpuidle-imx6sx is also used on i.MX6UL/i.MX6ULL this caused
unintended side effects on other SoCs.

Fix this problem by keeping the original SW2ISO value for i.MX6UL/i.MX6ULL
and only increase SW2ISO in the i.MX6SX case.

Cc: stable@vger.kernel.org
Fixes: 1e434b70 ("ARM: imx: update the cpu power up timing setting on i.mx6sx")
Reported-by: default avatarChristoph Niedermaier <cniedermaier@dh-electronics.com>
Signed-off-by: default avatarFabio Estevam <festevam@gmail.com>
Tested-by: default avatarSébastien Szymanski <sebastien.szymanski@armadeus.com>
Tested-by: default avatarChristoph Niedermaier <cniedermaier@dh-electronics.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarKhalid Elmously <khalid.elmously@canonical.com>
Signed-off-by: default avatarKleber Sacilotto de Souza <kleber.souza@canonical.com>
parent 7a26bae0
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "common.h" #include "common.h"
#include "cpuidle.h" #include "cpuidle.h"
#include "hardware.h"
static int imx6sx_idle_finish(unsigned long val) static int imx6sx_idle_finish(unsigned long val)
{ {
...@@ -97,7 +98,7 @@ int __init imx6sx_cpuidle_init(void) ...@@ -97,7 +98,7 @@ int __init imx6sx_cpuidle_init(void)
* except for power up sw2iso which need to be * except for power up sw2iso which need to be
* larger than LDO ramp up time. * larger than LDO ramp up time.
*/ */
imx_gpc_set_arm_power_up_timing(0xf, 1); imx_gpc_set_arm_power_up_timing(cpu_is_imx6sx() ? 0xf : 0x2, 1);
imx_gpc_set_arm_power_down_timing(1, 1); imx_gpc_set_arm_power_down_timing(1, 1);
return cpuidle_register(&imx6sx_cpuidle_driver, NULL); return cpuidle_register(&imx6sx_cpuidle_driver, NULL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment