X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=common%2Flcd_simplefb.c;h=fca600691e9aa7a9dba1fe8887f99f0e73a61351;hb=dd5b0fad8f295c6e786f1528d09f03fa546289cd;hp=e479b492b887ded7806e3b2fad5247044c7ffd2c;hpb=452614556c44d4dc508c3a9f3aff544334fce875;p=oweals%2Fu-boot.git diff --git a/common/lcd_simplefb.c b/common/lcd_simplefb.c index e479b492b8..fca600691e 100644 --- a/common/lcd_simplefb.c +++ b/common/lcd_simplefb.c @@ -1,16 +1,17 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * Simplefb device tree support * * (C) Copyright 2015 * Stephen Warren - * - * SPDX-License-Identifier: GPL-2.0+ */ #include +#include #include #include -#include +#include +#include DECLARE_GLOBAL_DATA_PTR; @@ -20,11 +21,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";