summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2010-06-16 14:49:33 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2010-06-24 11:36:17 +0200
commit695a4247aa32367f112042cbd67e10500d74b1d9 (patch)
tree65157e680402459ed8a8894dd11ed0b51cd241d2 /drivers
parent6c5f1c0fdfa52fc76dfb392aa13d6059c75f1843 (diff)
downloadbarebox-695a4247aa32367f112042cbd67e10500d74b1d9.tar.gz
barebox-695a4247aa32367f112042cbd67e10500d74b1d9.tar.xz
imxfb: Add board specific hook to enable display
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/imx.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/video/imx.c b/drivers/video/imx.c
index d9ba643acb..3a4f938f4c 100644
--- a/drivers/video/imx.c
+++ b/drivers/video/imx.c
@@ -152,6 +152,7 @@ struct imxfb_info {
struct fb_info info;
struct device_d *dev;
+ void (*enable)(int enable);
struct fb_info overlay;
};
@@ -262,12 +263,17 @@ static void imxfb_enable_controller(struct fb_info *info)
writel(readl(IMX_CCM_BASE + CCM_CGCR1) | (1 << 29),
IMX_CCM_BASE + CCM_CGCR1);
#endif
+ if (fbi->enable)
+ fbi->enable(1);
}
static void imxfb_disable_controller(struct fb_info *info)
{
struct imxfb_info *fbi = info->priv;
+ if (fbi->enable)
+ fbi->enable(0);
+
writel(0, fbi->regs + LCDC_RMCR);
#ifdef CONFIG_ARCH_IMX21
PCCR0 &= ~(PCCR0_PERCLK3_EN | PCCR0_HCLK_LCDC_EN);
@@ -546,6 +552,7 @@ static int imxfb_probe(struct device_d *dev)
fbi->pwmr = pdata->pwmr;
fbi->lscr1 = pdata->lscr1;
fbi->dmacr = pdata->dmacr;
+ fbi->enable = pdata->enable;
fbi->dev = dev;
info->priv = fbi;
info->mode = &pdata->mode->mode;