diff options
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch')
-rw-r--r-- | meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch new file mode 100644 index 0000000000..f591fb700a --- /dev/null +++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch | |||
@@ -0,0 +1,41 @@ | |||
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] 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.5.6.5 | ||
41 | |||