[PATCH 1/3] i.MX25 : add Framebuffer support
Eric Benard
eric at eukrea.com
Thu May 13 08:36:45 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 87c08d3..67cae34 100644
--- a/drivers/video/imx.c
+++ b/drivers/video/imx.c
@@ -258,7 +258,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)
@@ -273,6 +278,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
}
/*
@@ -518,6 +529,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