[PATCH 1/4] i.MX25 : add Framebuffer support
Eric Benard
eric at eukrea.com
Fri Mar 19 10:27:28 EDT 2010
Signed-off-by: Eric Benard <eric at eukrea.com>
---
drivers/video/Kconfig | 4 ++--
drivers/video/imx.c | 19 ++++++++++++++++++-
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index dbdc7e2..7a89a3f 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -7,11 +7,11 @@ if VIDEO
config DRIVER_VIDEO_IMX
bool "i.MX framebuffer driver"
- depends on ARCH_IMX1 || ARCH_IMX21 || ARCH_IMX27
+ depends on ARCH_IMX1 || ARCH_IMX21 || ARCH_IMX25 || ARCH_IMX27
config IMXFB_DRIVER_VIDEO_IMX_OVERLAY
bool "i.MX framebuffer overlay support"
- depends on DRIVER_VIDEO_IMX && (ARCH_IMX27 || ARCH_IMX21)
+ depends on DRIVER_VIDEO_IMX && (ARCH_IMX27 || ARCH_IMX25 || ARCH_IMX21)
config DRIVER_VIDEO_IMX_IPU
bool "i.MX31/35 framebuffer driver"
diff --git a/drivers/video/imx.c b/drivers/video/imx.c
index 9a30ca4..ef3f929 100644
--- a/drivers/video/imx.c
+++ b/drivers/video/imx.c
@@ -255,7 +255,12 @@ static void imxfb_enable_controller(struct fb_info *info)
PCCR0 |= PCCR0_LCDC_EN;
PCCR1 |= PCCR1_HCLK_LCDC;
#endif
-
+#ifdef CONFIG_ARCH_IMX25
+ writel(readl(IMX_CCM_BASE + CCM_CGCR0) | (1 << 24) | (1 << 7),
+ IMX_CCM_BASE + CCM_CGCR0);
+ writel(readl(IMX_CCM_BASE + CCM_CGCR1) | (1 << 29),
+ IMX_CCM_BASE + CCM_CGCR1);
+#endif
}
static void imxfb_disable_controller(struct fb_info *info)
@@ -267,6 +272,12 @@ static void imxfb_disable_controller(struct fb_info *info)
PCCR0 &= ~PCCR0_LCDC_EN;
PCCR1 &= ~PCCR1_HCLK_LCDC;
#endif
+#ifdef CONFIG_ARCH_IMX25
+ writel(readl(IMX_CCM_BASE + CCM_CGCR0) & ~((1 << 24) | (1 << 7)),
+ IMX_CCM_BASE + CCM_CGCR0);
+ writel(readl(IMX_CCM_BASE + CCM_CGCR1) & ~(1 << 29),
+ IMX_CCM_BASE + CCM_CGCR1);
+#endif
}
/*
@@ -509,6 +520,12 @@ static int imxfb_probe(struct device_d *dev)
PCCR0 &= ~PCCR0_LCDC_EN;
PCCR1 &= ~PCCR1_HCLK_LCDC;
#endif
+#ifdef CONFIG_ARCH_IMX25
+ writel(readl(IMX_CCM_BASE + CCM_CGCR0) & ~((1 << 24) | (1 << 7)),
+ IMX_CCM_BASE + CCM_CGCR0);
+ writel(readl(IMX_CCM_BASE + CCM_CGCR1) & ~(1 << 29),
+ IMX_CCM_BASE + CCM_CGCR1);
+#endif
fbi = xzalloc(sizeof(*fbi));
info = &fbi->info;
--
1.6.3.3
More information about the barebox
mailing list