imxfb: add mx27 support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
ca489f8e4a
commit
1d0f987093
|
@ -43,7 +43,12 @@
|
||||||
|
|
||||||
#define LCDC_SIZE 0x04
|
#define LCDC_SIZE 0x04
|
||||||
#define SIZE_XMAX(x) ((((x) >> 4) & 0x3f) << 20)
|
#define SIZE_XMAX(x) ((((x) >> 4) & 0x3f) << 20)
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_MX1
|
||||||
#define SIZE_YMAX(y) ((y) & 0x1ff)
|
#define SIZE_YMAX(y) ((y) & 0x1ff)
|
||||||
|
#else
|
||||||
|
#define SIZE_YMAX(y) ((y) & 0x3ff)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LCDC_VPW 0x08
|
#define LCDC_VPW 0x08
|
||||||
#define VPW_VPW(x) ((x) & 0x3ff)
|
#define VPW_VPW(x) ((x) & 0x3ff)
|
||||||
|
@ -53,7 +58,12 @@
|
||||||
#define CPOS_CC0 (1<<30)
|
#define CPOS_CC0 (1<<30)
|
||||||
#define CPOS_OP (1<<28)
|
#define CPOS_OP (1<<28)
|
||||||
#define CPOS_CXP(x) (((x) & 3ff) << 16)
|
#define CPOS_CXP(x) (((x) & 3ff) << 16)
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_MX1
|
||||||
#define CPOS_CYP(y) ((y) & 0x1ff)
|
#define CPOS_CYP(y) ((y) & 0x1ff)
|
||||||
|
#else
|
||||||
|
#define CPOS_CYP(y) ((y) & 0x3ff)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LCDC_LCWHB 0x10
|
#define LCDC_LCWHB 0x10
|
||||||
#define LCWHB_BK_EN (1<<31)
|
#define LCWHB_BK_EN (1<<31)
|
||||||
|
@ -62,9 +72,16 @@
|
||||||
#define LCWHB_BD(x) ((x) & 0xff)
|
#define LCWHB_BD(x) ((x) & 0xff)
|
||||||
|
|
||||||
#define LCDC_LCHCC 0x14
|
#define LCDC_LCHCC 0x14
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_MX1
|
||||||
#define LCHCC_CUR_COL_R(r) (((r) & 0x1f) << 11)
|
#define LCHCC_CUR_COL_R(r) (((r) & 0x1f) << 11)
|
||||||
#define LCHCC_CUR_COL_G(g) (((g) & 0x3f) << 5)
|
#define LCHCC_CUR_COL_G(g) (((g) & 0x3f) << 5)
|
||||||
#define LCHCC_CUR_COL_B(b) ((b) & 0x1f)
|
#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
|
#define LCDC_PCR 0x18
|
||||||
|
|
||||||
|
@ -91,7 +108,13 @@
|
||||||
/* bit fields in imxfb.h */
|
/* bit fields in imxfb.h */
|
||||||
|
|
||||||
#define LCDC_RMCR 0x34
|
#define LCDC_RMCR 0x34
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_MX1
|
||||||
#define RMCR_LCDC_EN (1<<1)
|
#define RMCR_LCDC_EN (1<<1)
|
||||||
|
#else
|
||||||
|
#define RMCR_LCDC_EN 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#define RMCR_SELF_REF (1<<0)
|
#define RMCR_SELF_REF (1<<0)
|
||||||
|
|
||||||
#define LCDC_LCDICR 0x38
|
#define LCDC_LCDICR 0x38
|
||||||
|
@ -365,10 +388,6 @@ static void imxfb_enable_controller(struct imxfb_info *fbi)
|
||||||
{
|
{
|
||||||
pr_debug("Enabling LCD controller\n");
|
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);
|
writel(fbi->screen_dma, fbi->regs + LCDC_SSA);
|
||||||
|
|
||||||
/* physical screen start address */
|
/* physical screen start address */
|
||||||
|
|
Loading…
Reference in New Issue