diff options
author | Eric Bénard <eric@eukrea.com> | 2010-06-24 17:03:04 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-06-30 09:10:35 +0200 |
commit | c26f09b2c1a7f1ed2d712dc7994f244d2a8be799 (patch) | |
tree | a9bad15267c32e6375f78a52de9d81338bc5ca77 | |
parent | 38d862f68731ef204aaad906cecb049882db7c05 (diff) | |
download | barebox-c26f09b2c1a7f1ed2d712dc7994f244d2a8be799.tar.gz barebox-c26f09b2c1a7f1ed2d712dc7994f244d2a8be799.tar.xz |
imx-ipu-fb: Add board specific hook to enable display
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/mach-imx/include/mach/imx-ipu-fb.h | 2 | ||||
-rw-r--r-- | drivers/video/imx-ipu-fb.c | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/include/mach/imx-ipu-fb.h b/arch/arm/mach-imx/include/mach/imx-ipu-fb.h index 53c6d2652b..dd65b04c58 100644 --- a/arch/arm/mach-imx/include/mach/imx-ipu-fb.h +++ b/arch/arm/mach-imx/include/mach/imx-ipu-fb.h @@ -28,6 +28,8 @@ struct imx_ipu_fb_platform_data { const struct fb_videomode *mode; unsigned char bpp; void __iomem *framebuffer; + /** hook to enable backlight and stuff */ + void (*enable)(int enable); }; #endif /* __MACH_IMX_IPU_FB_H__ */ diff --git a/drivers/video/imx-ipu-fb.c b/drivers/video/imx-ipu-fb.c index 0bd86b286d..bfdc3a59d0 100644 --- a/drivers/video/imx-ipu-fb.c +++ b/drivers/video/imx-ipu-fb.c @@ -36,6 +36,8 @@ struct ipu_fb_info { void __iomem *regs; + void (*enable)(int enable); + struct fb_info info; struct device_d *dev; }; @@ -828,6 +830,8 @@ static void ipu_fb_enable(struct fb_info *info) * Linux driver calls sdc_set_brightness() here again, * once is enough for us */ + if (fbi->enable) + fbi->enable(1); } static void ipu_fb_disable(struct fb_info *info) @@ -837,6 +841,9 @@ static void ipu_fb_disable(struct fb_info *info) printf("%s\n", __func__); + if (fbi->enable) + fbi->enable(0); + reg = reg_read(fbi, SDC_COM_CONF); reg &= ~SDC_COM_BG_EN; reg_write(fbi, reg, SDC_COM_CONF); @@ -868,6 +875,7 @@ static int imxfb_probe(struct device_d *dev) info->yres = pdata->mode->yres; info->bits_per_pixel = pdata->bpp; info->fbops = &imxfb_ops; + fbi->enable = pdata->enable; dev_info(dev, "i.MX Framebuffer driver\n"); |