From: Fabio Estevam <festevam@xxxxxxxxx> Sent: Thursday 2nd May 2019 13:30 > Since commit 1e434b703248 ("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@xxxxxxxxxxxxxxx > Fixes: 1e434b703248 ("ARM: imx: update the cpu power up timing setting on > i.mx6sx") > Reported-by: Christoph Niedermaier <cniedermaier@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Fabio Estevam <festevam@xxxxxxxxx> > --- > arch/arm/mach-imx/cpuidle-imx6sx.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/mach-imx/cpuidle-imx6sx.c b/arch/arm/mach-imx/cpuidle-imx6sx.c > index fd0053e47a15..57cb9c763222 100644 > --- a/arch/arm/mach-imx/cpuidle-imx6sx.c > +++ b/arch/arm/mach-imx/cpuidle-imx6sx.c > @@ -15,6 +15,7 @@ > > #include "common.h" > #include "cpuidle.h" > +#include "hardware.h" > > static int imx6sx_idle_finish(unsigned long val) > { > @@ -99,8 +100,12 @@ static struct cpuidle_driver imx6sx_cpuidle_driver = { > .safe_state_index = 0, > }; > > +#define SW2ISO_ORIGINAL 0x2 > +#define SW2ISO_IMX6SX 0xf > int __init imx6sx_cpuidle_init(void) > { > + u32 sw2iso = SW2ISO_ORIGINAL; > + > imx6_set_int_mem_clk_lpm(true); > imx6_enable_rbc(false); > imx_gpc_set_l2_mem_power_in_lpm(false); > @@ -110,7 +115,9 @@ int __init imx6sx_cpuidle_init(void) > * except for power up sw2iso which need to be > * larger than LDO ramp up time. > */ > - imx_gpc_set_arm_power_up_timing(0xf, 1); > + if (cpu_is_imx6sx()) > + sw2iso = SW2ISO_IMX6SX; > + imx_gpc_set_arm_power_up_timing(sw2iso, 1); > imx_gpc_set_arm_power_down_timing(1, 1); > > return cpuidle_register(&imx6sx_cpuidle_driver, NULL); > Tested-by: Christoph Niedermaier <cniedermaier@xxxxxxxxxxxxxxxxxx> Best regards,