diff options
author | Peng Fan <Peng.Fan@freescale.com> | 2015-05-22 13:09:58 +0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2016-03-25 16:30:32 +0800 |
commit | 2abbb4b768e19c59dcfa80f60d987bdb5ca5e5e8 (patch) | |
tree | bdacf6538b3ff0f4669542cfa7b7417c375e8dd5 /arch | |
parent | 1a90b60731cd60feba1ef7a11ede2613283bb4a8 (diff) | |
download | u-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, ®s->hw_lcdif_ctrl1_clr);
while (--timeout) {
if (readl(®s->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.c | 9 |
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) /* |