From d08e42a8cb2a68ed6cdb7c615472934ea674eb15 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 5 Apr 2017 16:23:43 -0600 Subject: dm: video: Add driver-model support to lcd_simplefb Allow this to work with CONFIG_DM_VIDEO enabled. Signed-off-by: Simon Glass Acked-by: Anatolij Gustschin --- common/lcd_simplefb.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'common/lcd_simplefb.c') diff --git a/common/lcd_simplefb.c b/common/lcd_simplefb.c index e479b492b8..d7e9fc9f65 100644 --- a/common/lcd_simplefb.c +++ b/common/lcd_simplefb.c @@ -8,9 +8,11 @@ */ #include +#include #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -20,11 +22,27 @@ static int lcd_dt_simplefb_configure_node(void *blob, int off) int bpix; /* log2 of bits per pixel */ const char *name; ulong fb_base; +#ifdef CONFIG_DM_VIDEO + struct video_uc_platdata *plat; + struct video_priv *uc_priv; + struct udevice *dev; + int ret; + ret = uclass_first_device_err(UCLASS_VIDEO, &dev); + if (ret) + return ret; + uc_priv = dev_get_uclass_priv(dev); + plat = dev_get_uclass_platdata(dev); + xsize = uc_priv->xsize; + ysize = uc_priv->ysize; + bpix = uc_priv->bpix; + fb_base = plat->base; +#else xsize = lcd_get_pixel_width(); ysize = lcd_get_pixel_height(); bpix = LCD_BPP; fb_base = gd->fb_base; +#endif switch (bpix) { case 4: /* VIDEO_BPP16 */ name = "r5g6b5"; -- cgit v1.2.3