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: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230118081658.2198520-10-dmitry.baryshkov@linaro.org
This commit is contained in:
Dmitry Baryshkov
2023-01-18 10:16:54 +02:00
committed by Neil Armstrong
parent 0c3997b0fe
commit 0c74746948

View File

@@ -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 */
regmap_write(lt9611->regmap, 0x82d6, 0x8c);
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);