diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2009-08-19 17:30:03 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-10-13 11:02:15 +0200 |
commit | 1d73a42006b0ae3d81a901778b0fb12d85406bbd (patch) | |
tree | 1c706ec74e55aaf855cc90dfbc378064e0ef461f /drivers | |
parent | 4ad31ee437288a03225415c76065033c1490bf77 (diff) | |
download | barebox-1d73a42006b0ae3d81a901778b0fb12d85406bbd.tar.gz barebox-1d73a42006b0ae3d81a901778b0fb12d85406bbd.tar.xz |
imxfb: make framebuffer base address configurable
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/imx.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/video/imx.c b/drivers/video/imx.c index cf18ed0eb0..10aaa80cf3 100644 --- a/drivers/video/imx.c +++ b/drivers/video/imx.c @@ -425,7 +425,7 @@ static int imxfb_alpha_set(struct device_d *dev, struct param_d *param, return 0; } -static int imxfb_register_overlay(struct imxfb_info *fbi) +static int imxfb_register_overlay(struct imxfb_info *fbi, void *fb) { struct fb_info *overlay; struct imxfb_rgb *rgb; @@ -440,7 +440,10 @@ static int imxfb_register_overlay(struct imxfb_info *fbi) overlay->bits_per_pixel = fbi->info.bits_per_pixel; overlay->fbops = &imxfb_overlay_ops; - overlay->screen_base = xzalloc(overlay->xres * overlay->yres * + if (fb) + overlay->screen_base = fb; + else + overlay->screen_base = xzalloc(overlay->xres * overlay->yres * (overlay->bits_per_pixel >> 3)); writel((unsigned long)overlay->screen_base, fbi->regs + LCDC_LGWSAR); @@ -526,7 +529,10 @@ static int imxfb_probe(struct device_d *dev) dev_info(dev, "i.MX Framebuffer driver\n"); - fbi->info.screen_base = xzalloc(info->xres * info->yres * + if (pdata->framebuffer) + fbi->info.screen_base = pdata->framebuffer; + else + fbi->info.screen_base = xzalloc(info->xres * info->yres * (info->bits_per_pixel >> 3)); imxfb_activate_var(&fbi->info); @@ -537,7 +543,7 @@ static int imxfb_probe(struct device_d *dev) return ret; } #ifdef CONFIG_IMXFB_DRIVER_VIDEO_IMX_OVERLAY - imxfb_register_overlay(fbi); + imxfb_register_overlay(fbi, pdata->framebuffer_ovl); #endif imxfb_enable_controller(info); |