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 <[email protected]>
---
 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

Reply via email to