rk29_fb: fix setup DMC AXI host priority
author黄涛 <huangtao@rock-chips.com>
Mon, 27 Dec 2010 05:48:34 +0000 (13:48 +0800)
committer黄涛 <huangtao@rock-chips.com>
Mon, 27 Dec 2010 05:48:34 +0000 (13:48 +0800)
drivers/video/rk29_fb.c

index 38a50cb9c7141ac11a73dc75c4fc31374e2f228e..3d3634d54b55b31bd0439c03b1bd9dac764cba84 100755 (executable)
@@ -1917,6 +1917,21 @@ static int __init rk29fb_probe (struct platform_device *pdev)
 
     fbprintk(">>>>>> %s : %s\n", __FILE__, __FUNCTION__);
 
+    /* Fix DMC AXI host priority. FIXME: Move to bootloader in the future? */
+    __raw_writel(0x7, RK29_DDRC_BASE+0x200);
+    __raw_writel(0x7, RK29_DDRC_BASE+0x204);
+    __raw_writel(0x7, RK29_DDRC_BASE+0x208);
+    __raw_writel(0x7, RK29_DDRC_BASE+0x20c);
+    __raw_writel(0x7, RK29_DDRC_BASE+0x210);
+    __raw_writel(0x1e007eff, RK29_DDRC_BASE+0x280);
+    __raw_writel(0x1e007eff, RK29_DDRC_BASE+0x284);
+    __raw_writel(0x1e007eff, RK29_DDRC_BASE+0x288);
+    __raw_writel(0x1e007eff, RK29_DDRC_BASE+0x28c);
+    __raw_writel(0x1e007eff, RK29_DDRC_BASE+0x290);
+    __raw_writel(0x1e007eff, RK29_DDRC_BASE+0x294);
+    __raw_writel(0x1e007eff, RK29_DDRC_BASE+0x298);
+    __raw_writel(0x1e007eff, RK29_DDRC_BASE+0x29c);
+    __raw_writel(0x2, RK29_DDRC_BASE+0x2a0);
     *(volatile u32 *)(RK29_GRF_BASE+0xac) = ((*(volatile u32 *)(RK29_GRF_BASE+0xac)) & ~0x3FF) | 0x246;
 
     /* Malloc rk29fb_inf and set it to pdev for drvdata */