imxfb: add mx27 support
authorSascha Hauer <s.hauer@pengutronix.de>
Mon, 26 Jan 2009 16:29:10 +0000 (17:29 +0100)
committerSascha Hauer <s.hauer@pengutronix.de>
Fri, 13 Mar 2009 09:34:23 +0000 (10:34 +0100)
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
drivers/video/imxfb.c

index 5c61286..9dd2757 100644 (file)
 
 #define LCDC_SIZE      0x04
 #define SIZE_XMAX(x)   ((((x) >> 4) & 0x3f) << 20)
+
+#ifdef CONFIG_ARCH_MX1
 #define SIZE_YMAX(y)   ((y) & 0x1ff)
+#else
+#define SIZE_YMAX(y)   ((y) & 0x3ff)
+#endif
 
 #define LCDC_VPW       0x08
 #define VPW_VPW(x)     ((x) & 0x3ff)
 #define CPOS_CC0       (1<<30)
 #define CPOS_OP                (1<<28)
 #define CPOS_CXP(x)    (((x) & 3ff) << 16)
+
+#ifdef CONFIG_ARCH_MX1
 #define CPOS_CYP(y)    ((y) & 0x1ff)
+#else
+#define CPOS_CYP(y)    ((y) & 0x3ff)
+#endif
 
 #define LCDC_LCWHB     0x10
 #define LCWHB_BK_EN    (1<<31)
 #define LCWHB_BD(x)    ((x) & 0xff)
 
 #define LCDC_LCHCC     0x14
+
+#ifdef CONFIG_ARCH_MX1
 #define LCHCC_CUR_COL_R(r) (((r) & 0x1f) << 11)
 #define LCHCC_CUR_COL_G(g) (((g) & 0x3f) << 5)
 #define LCHCC_CUR_COL_B(b) ((b) & 0x1f)
+#else
+#define LCHCC_CUR_COL_R(r) (((r) & 0x3f) << 12)
+#define LCHCC_CUR_COL_G(g) (((g) & 0x3f) << 6)
+#define LCHCC_CUR_COL_B(b) ((b) & 0x3f)
+#endif
 
 #define LCDC_PCR       0x18
 
 /* bit fields in imxfb.h */
 
 #define LCDC_RMCR      0x34
+
+#ifdef CONFIG_ARCH_MX1
 #define RMCR_LCDC_EN   (1<<1)
+#else
+#define RMCR_LCDC_EN   0
+#endif
+
 #define RMCR_SELF_REF  (1<<0)
 
 #define LCDC_LCDICR    0x38
@@ -365,10 +388,6 @@ static void imxfb_enable_controller(struct imxfb_info *fbi)
 {
        pr_debug("Enabling LCD controller\n");
 
-       /* initialize LCDC */
-       writel(readl(fbi->regs + LCDC_RMCR) & ~RMCR_LCDC_EN,
-               fbi->regs + LCDC_RMCR); /* just to be safe... */
-
        writel(fbi->screen_dma, fbi->regs + LCDC_SSA);
 
        /* physical screen start address            */