From c7ce3c5e9f7e28900b8ea9c3e1afe41dcdc0863d Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen 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