]> code.ossystems Code Review - meta-freescale.git/blob
724477fa231e374b4804e73f887f50a54e12596a
[meta-freescale.git] /
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
5
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
8 controller down.
9
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>
15 ---
16  arch/arm/cpu/arm926ejs/mx28/mx28.c |    9 ++++++++-
17  1 file changed, 8 insertions(+), 1 deletion(-)
18
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));
24  
25  void reset_cpu(ulong ignored)
26  {
27 -
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;
32 +
33 +       /*
34 +        * Shut down the LCD controller as it interferes with BootROM boot mode
35 +        * pads sampling.
36 +        */
37 +       writel(LCDIF_CTRL_RUN, &lcdif_regs->hw_lcdif_ctrl_clr);
38  
39         /* Wait 1 uS before doing the actual watchdog reset */
40         writel(1, &rtc_regs->hw_rtc_watchdog);
41 -- 
42 1.7.10
43