[PATCH 2/3] video: rockchip: rk3328: filter unsupported modes

Vasily Khoruzhick anarsoul at gmail.com
Tue Jan 14 06:24:20 CET 2025


While RK3328 is capable of 4K resolution, dw-hdmi driver in u-boot
seems to have some issue with 4K. 1440p or lower works fine.

Limit max resolution by 2560x1440x60Hz, by filtering the modes with
pixel clock > 297MHz

Fixes: f3ea872970d603 ("video: rockchip: Add rk3328 hdmi support")
Signed-off-by: Vasily Khoruzhick <anarsoul at gmail.com>
---
 drivers/video/rockchip/rk3328_hdmi.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/video/rockchip/rk3328_hdmi.c b/drivers/video/rockchip/rk3328_hdmi.c
index 763669c09be..d02c58c44c5 100644
--- a/drivers/video/rockchip/rk3328_hdmi.c
+++ b/drivers/video/rockchip/rk3328_hdmi.c
@@ -105,9 +105,16 @@ static int rk3328_hdmi_probe(struct udevice *dev)
 	return 0;
 }
 
+static bool rk3328_hdmi_mode_valid(struct udevice *dev,
+				   const struct display_timing *timing)
+{
+	return timing->pixelclock.typ <= 297000000;
+}
+
 static const struct dm_display_ops rk3328_hdmi_ops = {
 	.read_edid = rk_hdmi_read_edid,
 	.enable = rk3328_hdmi_enable,
+	.mode_valid = rk3328_hdmi_mode_valid,
 };
 
 static const struct udevice_id rk3328_hdmi_ids[] = {
-- 
2.47.1



More information about the U-Boot mailing list