]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
ARM: OMAP: Sleep is prevented when no LCD is attached
authorImre Deak <imre.deak@solidboot.com>
Fri, 4 Aug 2006 12:53:55 +0000 (15:53 +0300)
committerJuha Yrjola <juha.yrjola@solidboot.com>
Mon, 7 Aug 2006 10:59:52 +0000 (13:59 +0300)
We have to make sure that the LCD DMA external destination bit is
cleared by default, otherwise OMAP won't sleep.

Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
arch/arm/plat-omap/dma.c

index ab0eff0466be18aae7099335d51482c97896a1f5..88eb556166ff3ebd19d9b79fe93f9a46eb4f49d6 100644 (file)
@@ -1378,6 +1378,14 @@ static int __init omap_init_dma(void)
                        dma_chan_count = 16;
                } else
                        dma_chan_count = 9;
+               if (cpu_is_omap16xx()) {
+                       u16 w;
+
+                       /* this would prevent OMAP sleep */
+                       w = omap_readw(OMAP1610_DMA_LCD_CTRL);
+                       w &= ~(1 << 8);
+                       omap_writew(w, OMAP1610_DMA_LCD_CTRL);
+               }
        } else if (cpu_is_omap24xx()) {
                u8 revision = omap_readb(OMAP_DMA4_REVISION);
                printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n",