1 From 589511bd8e847c1990216aa89e56dca0fabac4e2 Mon Sep 17 00:00:00 2001
2 From: Marek Vasut <marex@denx.de>
3 Date: Tue, 1 May 2012 11:09:47 +0000
4 Subject: [PATCH 49/56] i.MX28: Shut down the LCD controller before reset
6 If the LCD controller is on before the CPU goes into reset, the traffic on LCDIF
7 data pins interferes with the BootROM's boot mode sampling. So shut the
10 Signed-off-by: Marek Vasut <marex@denx.de>
11 Cc: Detlev Zundel <dzu@denx.de>
12 Cc: Fabio Estevam <festevam@gmail.com>
13 Cc: Stefano Babic <sbabic@denx.de>
14 Cc: Wolfgang Denk <wd@denx.de>
16 arch/arm/cpu/arm926ejs/mx28/mx28.c | 9 ++++++++-
17 1 file changed, 8 insertions(+), 1 deletion(-)
19 diff --git a/arch/arm/cpu/arm926ejs/mx28/mx28.c b/arch/arm/cpu/arm926ejs/mx28/mx28.c
20 index 865dbb3..a82ff25 100644
21 --- a/arch/arm/cpu/arm926ejs/mx28/mx28.c
22 +++ b/arch/arm/cpu/arm926ejs/mx28/mx28.c
23 @@ -51,9 +51,16 @@ void reset_cpu(ulong ignored) __attribute__((noreturn));
25 void reset_cpu(ulong ignored)
28 struct mx28_rtc_regs *rtc_regs =
29 (struct mx28_rtc_regs *)MXS_RTC_BASE;
30 + struct mx28_lcdif_regs *lcdif_regs =
31 + (struct mx28_lcdif_regs *)MXS_LCDIF_BASE;
34 + * Shut down the LCD controller as it interferes with BootROM boot mode
37 + writel(LCDIF_CTRL_RUN, &lcdif_regs->hw_lcdif_ctrl_clr);
39 /* Wait 1 uS before doing the actual watchdog reset */
40 writel(1, &rtc_regs->hw_rtc_watchdog);