|
|
|
@ -8,9 +8,11 @@ |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
#include <common.h> |
|
|
|
|
#include <dm.h> |
|
|
|
|
#include <lcd.h> |
|
|
|
|
#include <fdt_support.h> |
|
|
|
|
#include <libfdt.h> |
|
|
|
|
#include <video.h> |
|
|
|
|
|
|
|
|
|
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"; |
|
|
|
|