Commit 0c747469 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Neil Armstrong
Browse files

drm/bridge: lt9611: fix sync polarity for DVI output



Attaching DVI sink to the lt9611 requires different setup. Fix the
register write to make the DVI displays sync onto the correct sync
pulse.

Reviewed-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230118081658.2198520-10-dmitry.baryshkov@linaro.org
parent 0c3997b0
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -353,13 +353,16 @@ static int lt9611_video_check(struct lt9611 *lt9611)
	return temp;
}

static void lt9611_hdmi_tx_digital(struct lt9611 *lt9611)
static void lt9611_hdmi_tx_digital(struct lt9611 *lt9611, bool is_hdmi)
{
	regmap_write(lt9611->regmap, 0x8443, 0x46 - lt9611->vic);
	regmap_write(lt9611->regmap, 0x8447, lt9611->vic);
	regmap_write(lt9611->regmap, 0x843d, 0x0a); /* UD1 infoframe */

	if (is_hdmi)
		regmap_write(lt9611->regmap, 0x82d6, 0x8c);
	else
		regmap_write(lt9611->regmap, 0x82d6, 0x0c);
	regmap_write(lt9611->regmap, 0x82d7, 0x04);
}

@@ -720,7 +723,7 @@ lt9611_bridge_atomic_enable(struct drm_bridge *bridge,
	}

	lt9611_mipi_input_analog(lt9611);
	lt9611_hdmi_tx_digital(lt9611);
	lt9611_hdmi_tx_digital(lt9611, connector->display_info.is_hdmi);
	lt9611_hdmi_tx_phy(lt9611);

	msleep(500);