summaryrefslogtreecommitdiff
path: root/arch/arm/plat-mxc/system.c
diff options
context:
space:
mode:
authorRanjani Vaidyanathan <ra5478@freescale.com>2010-09-15 11:20:22 -0500
committerRanjani Vaidyanathan <ra5478@freescale.com>2010-09-30 18:07:17 -0500
commit7d9b9adb47975c4ea80227ea0585e2353e33ea47 (patch)
tree51585f598dc05ce94c17afb56b7bfbdaab407ae1 /arch/arm/plat-mxc/system.c
parent3dda0bdcea9cedb4c6fa5aeb10363e51e6e5e854 (diff)
ENGR00126814 MX5: Reboot fails when dvfs-core is enabled.
Disable dvfs-core before the reboot process starts since its possible that the core voltage is at 0.85V when reboot command was issued. This will cause the reboot to fail since the ROM code does not set the core voltage. Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
Diffstat (limited to 'arch/arm/plat-mxc/system.c')
-rw-r--r--arch/arm/plat-mxc/system.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/plat-mxc/system.c b/arch/arm/plat-mxc/system.c
index 65e945a87e85..398b4e1e2e06 100644
--- a/arch/arm/plat-mxc/system.c
+++ b/arch/arm/plat-mxc/system.c
@@ -32,6 +32,8 @@
#include <asm/system.h>
static void __iomem *wdog_base;
+extern int dvfs_core_is_active;
+extern void stop_dvfs(void);
/*
* Reset the system. It is called by machine_restart().
@@ -55,6 +57,12 @@ void arch_reset(char mode, const char *cmd)
__raw_writel(0x20600, IO_ADDRESS(NFC_BASE_ADDR) + 0x28);
#endif
+#ifdef CONFIG_ARCH_MX5
+ /* Stop DVFS-CORE before reboot. */
+ if (dvfs_core_is_active)
+ stop_dvfs();
+#endif
+
if (cpu_is_mx1()) {
wcr_enable = (1 << 0);
} else {