summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/armv7/ls102xa/cpu.c
diff options
context:
space:
mode:
authorchenhui zhao <chenhui.zhao@freescale.com>2014-10-22 18:20:22 +0800
committerYork Sun <yorksun@freescale.com>2014-12-11 09:35:42 -0800
commit306fa012794e68e568bd51b829d1754323e0b8aa (patch)
tree322f9e01223b76dbf67f779cbbd0982e2054f31d /arch/arm/cpu/armv7/ls102xa/cpu.c
parentb699b01e5cf0f74f123dcc7090df232214dddf93 (diff)
downloadblackbird-obmc-uboot-306fa012794e68e568bd51b829d1754323e0b8aa.tar.gz
blackbird-obmc-uboot-306fa012794e68e568bd51b829d1754323e0b8aa.zip
arm: ls102xa: clear EPU registers for deep sleep
After wakeup from deep sleep, Clear EPU registers as early as possible to prevent from possible issue. It's also safe to clear at normal boot. Signed-off-by: Chenhui Zhao <chenhui.zhao@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'arch/arm/cpu/armv7/ls102xa/cpu.c')
-rw-r--r--arch/arm/cpu/armv7/ls102xa/cpu.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/ls102xa/cpu.c b/arch/arm/cpu/armv7/ls102xa/cpu.c
index b7dde45ed3..fae6c68efc 100644
--- a/arch/arm/cpu/armv7/ls102xa/cpu.c
+++ b/arch/arm/cpu/armv7/ls102xa/cpu.c
@@ -12,6 +12,8 @@
#include <netdev.h>
#include <fsl_esdhc.h>
+#include "fsl_epu.h"
+
DECLARE_GLOBAL_DATA_PTR;
#if defined(CONFIG_DISPLAY_CPUINFO)
@@ -101,3 +103,17 @@ int cpu_eth_init(bd_t *bis)
return 0;
}
+
+int arch_cpu_init(void)
+{
+ void *epu_base = (void *)(CONFIG_SYS_DCSRBAR + EPU_BLOCK_OFFSET);
+
+ /*
+ * After wakeup from deep sleep, Clear EPU registers
+ * as early as possible to prevent from possible issue.
+ * It's also safe to clear at normal boot.
+ */
+ fsl_epu_clean(epu_base);
+
+ return 0;
+}
OpenPOWER on IntegriCloud