video: tegra: dsi: Update DSI pad register.
Kevin Huang [Tue, 21 Jun 2011 22:24:03 +0000 (15:24 -0700)]
Bug 829327

Original-Change-Id: If17ec2aafccdfad1834f3fc914398cbd3babba01
Reviewed-on: http://git-master/r/36818
Reviewed-by: Niket Sirsi <nsirsi@nvidia.com>
Tested-by: Niket Sirsi <nsirsi@nvidia.com>

Rebase-Id: R32a6361714d6352fe1ae938ac11dc0ea6eca07ce

drivers/video/tegra/dc/dsi.c
drivers/video/tegra/dc/dsi_regs.h

index 3f4aa94..33bad83 100755 (executable)
@@ -1071,17 +1071,22 @@ static int tegra_dsi_init_hw(struct tegra_dc *dc,
        }
        tegra_dsi_writel(dsi, dsi->dsi_control_val, DSI_CONTROL);
 
+       /* Initialize DSI_PAD_CONTROL register. */
+       val =   DSI_PAD_CONTROL_PAD_LPUPADJ(0x1) |
+               DSI_PAD_CONTROL_PAD_LPDNADJ(0x1) |
+               DSI_PAD_CONTROL_PAD_PREEMP_EN(0x1) |
+               DSI_PAD_CONTROL_PAD_SLEWDNADJ(0x6) |
+               DSI_PAD_CONTROL_PAD_SLEWUPADJ(0x6);
        if (!dsi->ulpm) {
-               val = DSI_PAD_CONTROL_PAD_PDIO(0) |
+               val |=  DSI_PAD_CONTROL_PAD_PDIO(0) |
                        DSI_PAD_CONTROL_PAD_PDIO_CLK(0) |
                        DSI_PAD_CONTROL_PAD_PULLDN_ENAB(TEGRA_DSI_DISABLE);
-               tegra_dsi_writel(dsi, val, DSI_PAD_CONTROL);
        } else {
-               val = DSI_PAD_CONTROL_PAD_PDIO(0x3) |
+               val |=  DSI_PAD_CONTROL_PAD_PDIO(0x3) |
                        DSI_PAD_CONTROL_PAD_PDIO_CLK(0x1) |
                        DSI_PAD_CONTROL_PAD_PULLDN_ENAB(TEGRA_DSI_ENABLE);
-               tegra_dsi_writel(dsi, val, DSI_PAD_CONTROL);
        }
+       tegra_dsi_writel(dsi, val, DSI_PAD_CONTROL);
 
        val = DSI_POWER_CONTROL_LEG_DSI_ENABLE(TEGRA_DSI_ENABLE);
        tegra_dsi_writel(dsi, val, DSI_POWER_CONTROL);
index 1f7aba6..9fde767 100644 (file)
@@ -331,8 +331,13 @@ enum {
 
 #define DSI_PAD_CONTROL 0x4b
 #define DSI_PAD_CONTROL_PAD_PULLDN_ENAB(x)     (((x) & 0x1) << 28)
+#define DSI_PAD_CONTROL_PAD_SLEWUPADJ(x)       (((x) & 0x7) << 24)
+#define DSI_PAD_CONTROL_PAD_SLEWDNADJ(x)       (((x) & 0x7) << 20)
+#define DSI_PAD_CONTROL_PAD_PREEMP_EN(x)       (((x) & 0x1) << 19)
 #define DSI_PAD_CONTROL_PAD_PDIO_CLK(x)                (((x) & 0x1) << 18)
 #define DSI_PAD_CONTROL_PAD_PDIO(x)            (((x) & 0x3) << 16)
+#define DSI_PAD_CONTROL_PAD_LPUPADJ(x)         (((x) & 0x3) << 14)
+#define DSI_PAD_CONTROL_PAD_LPDNADJ(x)         (((x) & 0x3) << 12)
 
 #define DSI_PAD_CONTROL_CD 0x4c
 #define DSI_PAD_CD_STATUS 0x4d