summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPeng Fan <Peng.Fan@freescale.com>2015-05-22 13:09:58 +0800
committerYe Li <ye.li@nxp.com>2016-03-25 16:30:32 +0800
commit2abbb4b768e19c59dcfa80f60d987bdb5ca5e5e8 (patch)
treebdacf6538b3ff0f4669542cfa7b7417c375e8dd5 /arch
parent1a90b60731cd60feba1ef7a11ede2613283bb4a8 (diff)
downloadu-boot-imx-2abbb4b768e19c59dcfa80f60d987bdb5ca5e5e8.zip
u-boot-imx-2abbb4b768e19c59dcfa80f60d987bdb5ca5e5e8.tar.gz
u-boot-imx-2abbb4b768e19c59dcfa80f60d987bdb5ca5e5e8.tar.bz2
MLK-10546-2 imx: mx7 implement reset_misc
On mx7d 12x12 lpddr3 arm2 board, POR_B reset in uboot will fail stress reset test, and hangs in rom code. Rom log buffer show thats wrong hab_image_entry and runs into serial download mode. Also there is no time delay reset circuit for this board. We found when disable CONFIG_VIDEO, all seems fine. Actually, only the following piece of code can make stress reset ok, " writel(LCDIF_CTRL1_VSYNC_EDGE_IRQ, &regs->hw_lcdif_ctrl1_clr); while (--timeout) { if (readl(&regs->hw_lcdif_ctrl1) & LCDIF_CTRL1_VSYNC_EDGE_IRQ) break; udelay(1); } " Here we use lcdif_power_down API which is better to shutdown lcdif same as the way used in arch_preboot_os. Implement reset_misc for mx7, since it does not hurt for others boards. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> (cherry picked from commit cd1bd6ee94e720af911a2ce7db697af0df59c0a9)
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/cpu/armv7/mx7/soc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv7/mx7/soc.c b/arch/arm/cpu/armv7/mx7/soc.c
index ada40f4..9cf4c4e 100644
--- a/arch/arm/cpu/armv7/mx7/soc.c
+++ b/arch/arm/cpu/armv7/mx7/soc.c
@@ -17,6 +17,7 @@
#include <asm/arch/crm_regs.h>
#include <dm.h>
#include <imx_thermal.h>
+#include <mxsfb.h>
#if defined(CONFIG_FSL_FASTBOOT) && defined(CONFIG_ANDROID_RECOVERY)
#include <recovery.h>
#endif
@@ -459,8 +460,14 @@ void s_init(void)
return;
}
-#ifdef CONFIG_FSL_FASTBOOT
+void reset_misc(void)
+{
+#ifdef CONFIG_VIDEO_MXS
+ lcdif_power_down();
+#endif
+}
+#ifdef CONFIG_FSL_FASTBOOT
#ifdef CONFIG_ANDROID_RECOVERY
#define ANDROID_RECOVERY_BOOT (1 << 7)
/*