[PATCH v3 4/7] bcm2835: brcm, bcm2708-fb device is using r5g6b5 format

Ivan T. Ivanov iivanov at suse.de
Mon Dec 18 22:03:38 CET 2023


brcm,bcm2708-fb device provided by firmware on RPi5 uses
16 bits per pixel. Update driver to properly handle this.

Signed-off-by: Ivan T. Ivanov <iivanov at suse.de>
---
 drivers/video/bcm2835.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c
index 14942526f1..245c958b6e 100644
--- a/drivers/video/bcm2835.c
+++ b/drivers/video/bcm2835.c
@@ -43,7 +43,7 @@ static int bcm2835_video_probe(struct udevice *dev)
 
 	uc_priv->xsize = w;
 	uc_priv->ysize = h;
-	uc_priv->bpix = VIDEO_BPP32;
+	uc_priv->bpix = dev_get_driver_data(dev);
 	plat->base = fb_base;
 	plat->size = fb_size;
 
@@ -51,11 +51,11 @@ static int bcm2835_video_probe(struct udevice *dev)
 }
 
 static const struct udevice_id bcm2835_video_ids[] = {
-	{ .compatible = "brcm,bcm2835-hdmi" },
-	{ .compatible = "brcm,bcm2711-hdmi0" },
-	{ .compatible = "brcm,bcm2708-fb" },
+	{ .compatible = "brcm,bcm2835-hdmi",  .data = VIDEO_BPP32},
+	{ .compatible = "brcm,bcm2711-hdmi0", .data = VIDEO_BPP32},
+	{ .compatible = "brcm,bcm2708-fb",    .data = VIDEO_BPP16 },
 #if !IS_ENABLED(CONFIG_VIDEO_DT_SIMPLEFB)
-	{ .compatible = "simple-framebuffer" },
+	{ .compatible = "simple-framebuffer", .data = VIDEO_BPP32},
 #endif
 	{ }
 };
-- 
2.35.3



More information about the U-Boot mailing list