OSDN Git Service

drm/sun4i: lvds: Invert the LVDS polarity
authorMaxime Ripard <maxime@cerno.tech>
Sat, 4 Jul 2020 13:38:03 +0000 (15:38 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Thu, 27 Aug 2020 15:55:50 +0000 (17:55 +0200)
The LVDS controller can invert the polarity / lanes of the LVDS output.
The default polarity causes some issues on some panels.

However, U-Boot has always used the opposite polarity without any reported
issue, and the only currently supported LVDS panel in-tree (the TBS A711)
seems to be able to work with both settings.

Let's just use the same polarity than U-Boot to be more consistent and
hopefully support all the panels.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Cc: Ondrej Jirman <megous@megous.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200704133803.37330-1-maxime@cerno.tech
drivers/gpu/drm/sun4i/sun4i_tcon.c

index ae177b2..09ad850 100644 (file)
@@ -474,9 +474,7 @@ static void sun4i_tcon0_mode_set_lvds(struct sun4i_tcon *tcon,
                     SUN4I_TCON0_BASIC2_V_TOTAL(mode->crtc_vtotal * 2) |
                     SUN4I_TCON0_BASIC2_V_BACKPORCH(bp));
 
-       reg = SUN4I_TCON0_LVDS_IF_CLK_SEL_TCON0 |
-               SUN4I_TCON0_LVDS_IF_DATA_POL_NORMAL |
-               SUN4I_TCON0_LVDS_IF_CLK_POL_NORMAL;
+       reg = SUN4I_TCON0_LVDS_IF_CLK_SEL_TCON0;
        if (sun4i_tcon_get_pixel_depth(encoder) == 24)
                reg |= SUN4I_TCON0_LVDS_IF_BITWIDTH_24BITS;
        else