diff options
author | Robin Gong <b38343@freescale.com> | 2014-10-31 09:36:28 +0800 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2015-04-14 14:01:25 -0500 |
commit | df46c4ad9453b1489615d7949162b9da65a5cb45 (patch) | |
tree | e199283426fa69e84360c39c2bef293e9c76c942 /arch/arm/mach-imx/system.c | |
parent | 2b26f84b39fed3b701879b467e86f23874286293 (diff) |
MLK-9819 ARM: imx6sx: Add WDOG_B reset for i.mx6sx boards.
QSPI-NOR reboot failed in case of larger flash size such as 256M used, because
kernel QSPI-NOR flash use 4-bytes-address mode to visit 16MB+ area but ROM code
use 3-bytes-address mode to access QSPI-NOR. Thus, we have to use WDOG_B to
reset QSPI-NOR flash to workaround this.
Note:
Please update the u-boot with the below u-boot patch, otherwise system will
reboot endless while kernel boot:
"MLK-9819: ARM: mx6sx: clear WDOG3 Power Down Enable bit for i.mx6sx"
Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 89b88be2a870124d58080970b37f93d868093e9a)
(cherry picked from commit d86a750522b354537f91a4403e349849c5dfcf3d)
Diffstat (limited to 'arch/arm/mach-imx/system.c')
-rw-r--r-- | arch/arm/mach-imx/system.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/mach-imx/system.c b/arch/arm/mach-imx/system.c index b8be9f2906e3..2e3d6a8adac8 100644 --- a/arch/arm/mach-imx/system.c +++ b/arch/arm/mach-imx/system.c @@ -1,7 +1,7 @@ /* * Copyright (C) 1999 ARM Limited * Copyright (C) 2000 Deep Blue Solutions Ltd - * Copyright 2006-2014 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright 2006-2015 Freescale Semiconductor, Inc. All Rights Reserved. * Copyright 2008 Juergen Beisert, kernel@pengutronix.de * Copyright 2009 Ilya Yanok, Emcraft Systems Ltd, yanok@emcraft.com * @@ -53,9 +53,11 @@ void mxc_restart(enum reboot_mode mode, const char *cmd) * so do WDOG2 reset here. Do not set SRS, since we will * trigger external POR later. Use WDOG1 to reset in ldo-enable * mode. You can set it by "fsl,wdog-reset" in dts. + * For i.MX6SX we have to trigger wdog-reset to reset QSPI-NOR flash to + * workaround qspi-nor reboot issue whatever ldo-bypass or not. */ - else if (wdog_source == 2 && (cpu_is_imx6q() || cpu_is_imx6dl() || - cpu_is_imx6sl())) + else if ((wdog_source == 2 && (cpu_is_imx6q() || cpu_is_imx6dl() || + cpu_is_imx6sl())) || cpu_is_imx6sx()) wcr_enable = 0x14; else wcr_enable = (1 << 2); |