summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeresa Gámez <t.gamez@phytec.de>2012-01-19 09:23:12 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-01-23 09:38:26 +0100
commit7d61b585968129b2c7cd632777812890e4caee1b (patch)
tree5a5b17622c35546a2e5a5f45bd0ee8f15be6e505
parent21d2470471c9b355cfbb4f3fe514a7485f39691c (diff)
downloadbarebox-7d61b585968129b2c7cd632777812890e4caee1b.tar.gz
barebox-7d61b585968129b2c7cd632777812890e4caee1b.tar.xz
imx-ipu-fb: Add support for multiple video modes
Make support of multiple video modes possible for i.MX3 boards. Signed-off-by: Teresa Gámez <t.gamez@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/mach-imx/include/mach/imx-ipu-fb.h1
-rw-r--r--drivers/video/imx-ipu-fb.c10
2 files changed, 10 insertions, 1 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 8e1cc87ea4..5d583e8e15 100644
--- a/arch/arm/mach-imx/include/mach/imx-ipu-fb.h
+++ b/arch/arm/mach-imx/include/mach/imx-ipu-fb.h
@@ -27,6 +27,7 @@
struct imx_ipu_fb_platform_data {
struct fb_videomode *mode;
unsigned char bpp;
+ u_int num_modes;
void __iomem *framebuffer;
/** hook to enable backlight and stuff */
void (*enable)(int enable);
diff --git a/drivers/video/imx-ipu-fb.c b/drivers/video/imx-ipu-fb.c
index dce2a9e47c..a3fdb7691a 100644
--- a/drivers/video/imx-ipu-fb.c
+++ b/drivers/video/imx-ipu-fb.c
@@ -807,9 +807,15 @@ static void ipu_fb_disable(struct fb_info *info)
reg_write(fbi, reg, SDC_COM_CONF);
}
+static int ipu_fb_activate_var(struct fb_info *info)
+{
+ return 0;
+}
+
static struct fb_ops imxfb_ops = {
.fb_enable = ipu_fb_enable,
.fb_disable = ipu_fb_disable,
+ .fb_activate_var = ipu_fb_activate_var,
};
static void imxfb_init_info(struct fb_info *info, struct fb_videomode *mode,
@@ -860,9 +866,11 @@ static int imxfb_probe(struct device_d *dev)
fbi->regs = dev_request_mem_region(dev, 0);
fbi->dev = dev;
+ fbi->enable = pdata->enable;
info->priv = fbi;
info->fbops = &imxfb_ops;
- fbi->enable = pdata->enable;
+ info->num_modes = pdata->num_modes;
+ info->mode_list = pdata->mode;
imxfb_init_info(info, pdata->mode, pdata->bpp);