DSS2: disable LCD & DIGIT before resetting DSS
authorTomi Valkeinen <tomi.valkeinen@nokia.com>
Thu, 23 Apr 2009 07:46:53 +0000 (10:46 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Fri, 1 May 2009 16:45:13 +0000 (19:45 +0300)
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

index adc1f34..aab9758 100644 (file)
@@ -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);