summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/system.c
diff options
context:
space:
mode:
authorRobin Gong <b38343@freescale.com>2014-10-31 09:36:28 +0800
committerNitin Garg <nitin.garg@freescale.com>2015-04-14 14:01:25 -0500
commitdf46c4ad9453b1489615d7949162b9da65a5cb45 (patch)
treee199283426fa69e84360c39c2bef293e9c76c942 /arch/arm/mach-imx/system.c
parent2b26f84b39fed3b701879b467e86f23874286293 (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.c8
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);