[U-Boot] [PATCH 1/2] Revert "sunxi: video: HDMI: split VSYNC and HSYNC polarity settings"

Vasily Khoruzhick anarsoul at gmail.com
Sat Apr 28 21:57:28 UTC 2018


This reverts commit 64089178219371a512ddca8016d78bfdbe84565d.

Signed-off-by: Vasily Khoruzhick <anarsoul at gmail.com>
---
 drivers/video/sunxi/sunxi_dw_hdmi.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/video/sunxi/sunxi_dw_hdmi.c b/drivers/video/sunxi/sunxi_dw_hdmi.c
index 4f01d1bded..33920a2b67 100644
--- a/drivers/video/sunxi/sunxi_dw_hdmi.c
+++ b/drivers/video/sunxi/sunxi_dw_hdmi.c
@@ -304,11 +304,15 @@ static int sunxi_dw_hdmi_enable(struct udevice *dev, int panel_bpp,
 
 	sunxi_dw_hdmi_lcdc_init(priv->mux, edid, panel_bpp);
 
-	if (edid->flags & DISPLAY_FLAGS_HSYNC_LOW)
-		setbits_le32(&phy->pol, 0x200);
-
-	if (edid->flags & DISPLAY_FLAGS_VSYNC_LOW)
-		setbits_le32(&phy->pol, 0x100);
+	/*
+	 * Condition in original code is a bit weird. This is attempt
+	 * to make it more reasonable and it works. It could be that
+	 * bits and conditions are related and should be separated.
+	 */
+	if (!((edid->flags & DISPLAY_FLAGS_HSYNC_HIGH) &&
+	      (edid->flags & DISPLAY_FLAGS_VSYNC_HIGH))) {
+		setbits_le32(&phy->pol, 0x300);
+	}
 
 	setbits_le32(&phy->ctrl, 0xf << 12);
 
-- 
2.17.0



More information about the U-Boot mailing list