mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-19 13:41:31 +00:00
sandbox: Support changing the LCD colour depth
Add a new device-tree property to control the colour depth. At present we support 16bpp and 32bpp. While we are here, update the code to use livetree. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
parent
6be88c7282
commit
a466db5adb
3 changed files with 9 additions and 6 deletions
|
@ -83,6 +83,7 @@
|
||||||
compatible = "sandbox,lcd-sdl";
|
compatible = "sandbox,lcd-sdl";
|
||||||
xres = <1366>;
|
xres = <1366>;
|
||||||
yres = <768>;
|
yres = <768>;
|
||||||
|
log2-depth = <5>;
|
||||||
};
|
};
|
||||||
|
|
||||||
leds {
|
leds {
|
||||||
|
|
|
@ -2,7 +2,10 @@ Sandbox LCD
|
||||||
===========
|
===========
|
||||||
|
|
||||||
This uses the displaymode.txt binding except that only xres and yres are
|
This uses the displaymode.txt binding except that only xres and yres are
|
||||||
required properties.
|
required properties. Also an additional optional property is defined:
|
||||||
|
|
||||||
|
log2-depth: Log base 2 of the U-Boot display buffer depth (4=16bpp, 5=32bpp).
|
||||||
|
If not provided, a value of 4 is used.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
@ -10,4 +13,5 @@ Example:
|
||||||
compatible = "sandbox,lcd-sdl";
|
compatible = "sandbox,lcd-sdl";
|
||||||
xres = <800>;
|
xres = <800>;
|
||||||
yres = <600>;
|
yres = <600>;
|
||||||
|
log2-depth = <5>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -47,13 +47,11 @@ static int sandbox_sdl_bind(struct udevice *dev)
|
||||||
{
|
{
|
||||||
struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
|
struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
|
||||||
struct sandbox_sdl_plat *plat = dev_get_platdata(dev);
|
struct sandbox_sdl_plat *plat = dev_get_platdata(dev);
|
||||||
const void *blob = gd->fdt_blob;
|
|
||||||
int node = dev_of_offset(dev);
|
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
plat->xres = fdtdec_get_int(blob, node, "xres", LCD_MAX_WIDTH);
|
plat->xres = dev_read_u32_default(dev, "xres", LCD_MAX_WIDTH);
|
||||||
plat->yres = fdtdec_get_int(blob, node, "yres", LCD_MAX_HEIGHT);
|
plat->yres = dev_read_u32_default(dev, "yres", LCD_MAX_HEIGHT);
|
||||||
plat->bpix = VIDEO_BPP16;
|
plat->bpix = dev_read_u32_default(dev, "log2-depth", VIDEO_BPP16);
|
||||||
uc_plat->size = plat->xres * plat->yres * (1 << plat->bpix) / 8;
|
uc_plat->size = plat->xres * plat->yres * (1 << plat->bpix) / 8;
|
||||||
debug("%s: Frame buffer size %x\n", __func__, uc_plat->size);
|
debug("%s: Frame buffer size %x\n", __func__, uc_plat->size);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue