Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/tegra: hdmi - Disable LVDS mode

Disable LVDS mode according to register documentation. It seems like
this has no effect on the operation of HDMI, but it's probably a good
idea to do this anyway.

Signed-off-by: Thierry Reding <treding@nvidia.com>

+10 -1
+5 -1
drivers/gpu/drm/tegra/hdmi.c
··· 846 846 tegra_hdmi_writel(hdmi, value, HDMI_NV_PDISP_SOR_SEQ_INST(0)); 847 847 tegra_hdmi_writel(hdmi, value, HDMI_NV_PDISP_SOR_SEQ_INST(8)); 848 848 849 - value = 0x1c800; 849 + value = tegra_hdmi_readl(hdmi, HDMI_NV_PDISP_SOR_CSTM); 850 850 value &= ~SOR_CSTM_ROTCLK(~0); 851 851 value |= SOR_CSTM_ROTCLK(2); 852 + value |= SOR_CSTM_PLLDIV; 853 + value &= ~SOR_CSTM_LVDS_ENABLE; 854 + value &= ~SOR_CSTM_MODE_MASK; 855 + value |= SOR_CSTM_MODE_TMDS; 852 856 tegra_hdmi_writel(hdmi, value, HDMI_NV_PDISP_SOR_CSTM); 853 857 854 858 /* start SOR */
+5
drivers/gpu/drm/tegra/hdmi.h
··· 190 190 191 191 #define HDMI_NV_PDISP_SOR_CSTM 0x5a 192 192 #define SOR_CSTM_ROTCLK(x) (((x) & 0xf) << 24) 193 + #define SOR_CSTM_PLLDIV (1 << 21) 194 + #define SOR_CSTM_LVDS_ENABLE (1 << 16) 195 + #define SOR_CSTM_MODE_LVDS (0 << 12) 196 + #define SOR_CSTM_MODE_TMDS (1 << 12) 197 + #define SOR_CSTM_MODE_MASK (3 << 12) 193 198 194 199 #define HDMI_NV_PDISP_SOR_LVDS 0x5b 195 200 #define HDMI_NV_PDISP_SOR_CRCA 0x5c