aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/Kconfig5
-rw-r--r--drivers/video/imxfb.c28
2 files changed, 7 insertions, 26 deletions
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index e6a8d8c0101d..62f337ab52bc 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -8,9 +8,6 @@ menu "Graphics support"
8config HAVE_FB_ATMEL 8config HAVE_FB_ATMEL
9 bool 9 bool
10 10
11config HAVE_FB_IMX
12 bool
13
14config SH_MIPI_DSI 11config SH_MIPI_DSI
15 tristate 12 tristate
16 depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK 13 depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK
@@ -359,7 +356,7 @@ config FB_SA1100
359 356
360config FB_IMX 357config FB_IMX
361 tristate "Freescale i.MX LCD support" 358 tristate "Freescale i.MX LCD support"
362 depends on FB && (HAVE_FB_IMX || ARCH_MX1 || ARCH_MX2) 359 depends on FB && IMX_HAVE_PLATFORM_IMX_FB
363 select FB_CFB_FILLRECT 360 select FB_CFB_FILLRECT
364 select FB_CFB_COPYAREA 361 select FB_CFB_COPYAREA
365 select FB_CFB_IMAGEBLIT 362 select FB_CFB_IMAGEBLIT
diff --git a/drivers/video/imxfb.c b/drivers/video/imxfb.c
index ef72cb483834..d2ccfd6e662c 100644
--- a/drivers/video/imxfb.c
+++ b/drivers/video/imxfb.c
@@ -65,12 +65,6 @@
65#define CPOS_OP (1<<28) 65#define CPOS_OP (1<<28)
66#define CPOS_CXP(x) (((x) & 3ff) << 16) 66#define CPOS_CXP(x) (((x) & 3ff) << 16)
67 67
68#ifdef CONFIG_ARCH_MX1
69#define CPOS_CYP(y) ((y) & 0x1ff)
70#else
71#define CPOS_CYP(y) ((y) & 0x3ff)
72#endif
73
74#define LCDC_LCWHB 0x10 68#define LCDC_LCWHB 0x10
75#define LCWHB_BK_EN (1<<31) 69#define LCWHB_BK_EN (1<<31)
76#define LCWHB_CW(w) (((w) & 0x1f) << 24) 70#define LCWHB_CW(w) (((w) & 0x1f) << 24)
@@ -79,16 +73,6 @@
79 73
80#define LCDC_LCHCC 0x14 74#define LCDC_LCHCC 0x14
81 75
82#ifdef CONFIG_ARCH_MX1
83#define LCHCC_CUR_COL_R(r) (((r) & 0x1f) << 11)
84#define LCHCC_CUR_COL_G(g) (((g) & 0x3f) << 5)
85#define LCHCC_CUR_COL_B(b) ((b) & 0x1f)
86#else
87#define LCHCC_CUR_COL_R(r) (((r) & 0x3f) << 12)
88#define LCHCC_CUR_COL_G(g) (((g) & 0x3f) << 6)
89#define LCHCC_CUR_COL_B(b) ((b) & 0x3f)
90#endif
91
92#define LCDC_PCR 0x18 76#define LCDC_PCR 0x18
93 77
94#define LCDC_HCR 0x1C 78#define LCDC_HCR 0x1C
@@ -115,11 +99,7 @@
115 99
116#define LCDC_RMCR 0x34 100#define LCDC_RMCR 0x34
117 101
118#ifdef CONFIG_ARCH_MX1 102#define RMCR_LCDC_EN_MX1 (1<<1)
119#define RMCR_LCDC_EN (1<<1)
120#else
121#define RMCR_LCDC_EN 0
122#endif
123 103
124#define RMCR_SELF_REF (1<<0) 104#define RMCR_SELF_REF (1<<0)
125 105
@@ -536,7 +516,11 @@ static void imxfb_enable_controller(struct imxfb_info *fbi)
536 writel(readl(fbi->regs + LCDC_CPOS) & ~(CPOS_CC0 | CPOS_CC1), 516 writel(readl(fbi->regs + LCDC_CPOS) & ~(CPOS_CC0 | CPOS_CC1),
537 fbi->regs + LCDC_CPOS); 517 fbi->regs + LCDC_CPOS);
538 518
539 writel(RMCR_LCDC_EN, fbi->regs + LCDC_RMCR); 519 /*
520 * RMCR_LCDC_EN_MX1 is present on i.MX1 only, but doesn't hurt
521 * on other SoCs
522 */
523 writel(RMCR_LCDC_EN_MX1, fbi->regs + LCDC_RMCR);
540 524
541 clk_enable(fbi->clk); 525 clk_enable(fbi->clk);
542 526