38d162d024fd172b85ab9f0982b664d498775f1c
[openembedded.git] /
1 From c7ce3c5e9f7e28900b8ea9c3e1afe41dcdc0863d Mon Sep 17 00:00:00 2001
2 From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
3 Date: Thu, 23 Apr 2009 10:46:53 +0300
4 Subject: [PATCH 53/69] DSS2: disable LCD & DIGIT before resetting DSS
5
6 This seems to fix the synclost problem that we get, if the bootloader
7 starts the DSS and the kernel resets it.
8 ---
9  drivers/video/omap2/dss/dss.c |    8 +++++---
10  1 files changed, 5 insertions(+), 3 deletions(-)
11
12 diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
13 index adc1f34..aab9758 100644
14 --- a/drivers/video/omap2/dss/dss.c
15 +++ b/drivers/video/omap2/dss/dss.c
16 @@ -285,6 +285,11 @@ int dss_init(bool skip_init)
17         }
18  
19         if (!skip_init) {
20 +               /* disable LCD and DIGIT output. This seems to fix the synclost
21 +                * problem that we get, if the bootloader starts the DSS and
22 +                * the kernel resets it */
23 +               omap_writel(omap_readl(0x48050440) & ~0x3, 0x48050440);
24 +
25                 /* We need to wait here a bit, otherwise we sometimes start to
26                  * get synclost errors, and after that only power cycle will
27                  * restore DSS functionality. I have no idea why this happens.
28 @@ -294,10 +299,7 @@ int dss_init(bool skip_init)
29                 msleep(50);
30  
31                 _omap_dss_reset();
32 -
33         }
34 -       else
35 -               printk("DSS SKIP RESET\n");
36  
37         /* autoidle */
38         REG_FLD_MOD(DSS_SYSCONFIG, 1, 0, 0);
39 -- 
40 1.6.2.4
41