42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
From c7ce3c5e9f7e28900b8ea9c3e1afe41dcdc0863d Mon Sep 17 00:00:00 2001
|
|
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
|
Date: Thu, 23 Apr 2009 10:46:53 +0300
|
|
Subject: [PATCH] DSS2: disable LCD & DIGIT before resetting DSS
|
|
|
|
This seems to fix the synclost problem that we get, if the bootloader
|
|
starts the DSS and the kernel resets it.
|
|
---
|
|
drivers/video/omap2/dss/dss.c | 8 +++++---
|
|
1 files changed, 5 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
|
|
index adc1f34..aab9758 100644
|
|
--- a/drivers/video/omap2/dss/dss.c
|
|
+++ b/drivers/video/omap2/dss/dss.c
|
|
@@ -285,6 +285,11 @@ int dss_init(bool skip_init)
|
|
}
|
|
|
|
if (!skip_init) {
|
|
+ /* disable LCD and DIGIT output. This seems to fix the synclost
|
|
+ * problem that we get, if the bootloader starts the DSS and
|
|
+ * the kernel resets it */
|
|
+ omap_writel(omap_readl(0x48050440) & ~0x3, 0x48050440);
|
|
+
|
|
/* We need to wait here a bit, otherwise we sometimes start to
|
|
* get synclost errors, and after that only power cycle will
|
|
* restore DSS functionality. I have no idea why this happens.
|
|
@@ -294,10 +299,7 @@ int dss_init(bool skip_init)
|
|
msleep(50);
|
|
|
|
_omap_dss_reset();
|
|
-
|
|
}
|
|
- else
|
|
- printk("DSS SKIP RESET\n");
|
|
|
|
/* autoidle */
|
|
REG_FLD_MOD(DSS_SYSCONFIG, 1, 0, 0);
|
|
--
|
|
1.5.6.5
|
|
|