summaryrefslogtreecommitdiffstats
path: root/drivers/video/tegra/dc/dsi.c
diff options
context:
space:
mode:
authorVineel Kumar Reddy Kovvuri <vineelkumarr@nvidia.com>2013-10-29 02:55:47 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:06:52 -0400
commitd975917b922a801b0459e958d38d14c0b6e21f6f (patch)
tree4bd603cd39897c1a620a00d6d4491e7494f2e985 /drivers/video/tegra/dc/dsi.c
parent9b1f410251e0d96c43d7439d0a76abf077d2cf7d (diff)
video: tegra: dsi: Fix slow slew rate
Programmed the recommended register sequence to improve signal swing Bug 1393348 Change-Id: Ic851ddbdf6ce52c5d378420ecda698334ae2e947 Signed-off-by: Vineel Kumar Reddy Kovvuri <vineelkumarr@nvidia.com> Reviewed-on: http://git-master/r/304629 Reviewed-by: Animesh Kishore <ankishore@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/dc/dsi.c')
-rw-r--r--drivers/video/tegra/dc/dsi.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dsi.c b/drivers/video/tegra/dc/dsi.c
index 37d9f8caf..6edcb554b 100644
--- a/drivers/video/tegra/dc/dsi.c
+++ b/drivers/video/tegra/dc/dsi.c
@@ -2074,11 +2074,23 @@ static void tegra_dsi_mipi_calibration_12x(struct tegra_dc_dsi_data *dsi)
2074 clk_prepare_enable(clk72mhz); 2074 clk_prepare_enable(clk72mhz);
2075 2075
2076 /* Calibration settings begin */ 2076 /* Calibration settings begin */
2077 val = tegra_mipi_cal_read(dsi->mipi_cal,
2078 MIPI_CAL_MIPI_BIAS_PAD_CFG1_0);
2079 val &= ~PAD_DRIV_UP_REF(0x7);
2080 val |= PAD_DRIV_UP_REF(0x3);
2081 tegra_mipi_cal_write(dsi->mipi_cal, val,
2082 MIPI_CAL_MIPI_BIAS_PAD_CFG1_0);
2083
2077 val = (DSI_PAD_SLEWUPADJ(0x7) | DSI_PAD_SLEWDNADJ(0x7) | 2084 val = (DSI_PAD_SLEWUPADJ(0x7) | DSI_PAD_SLEWDNADJ(0x7) |
2078 DSI_PAD_LPUPADJ(0x1) | DSI_PAD_LPDNADJ(0x1) | 2085 DSI_PAD_LPUPADJ(0x1) | DSI_PAD_LPDNADJ(0x1) |
2079 DSI_PAD_OUTADJCLK(0x0)); 2086 DSI_PAD_OUTADJCLK(0x0));
2080 tegra_dsi_writel(dsi, val, DSI_PAD_CONTROL_2_VS1); 2087 tegra_dsi_writel(dsi, val, DSI_PAD_CONTROL_2_VS1);
2081 2088
2089 val = tegra_dsi_readl(dsi, DSI_PAD_CONTROL_3_VS1);
2090 val |= (DSI_PAD_PREEMP_PU_CLK(0x3) |
2091 DSI_PAD_PREEMP_PD(0x3) | DSI_PAD_PREEMP_PU(0x3));
2092 tegra_dsi_writel(dsi, val, DSI_PAD_CONTROL_3_VS1);
2093
2082 /* Calibrate DSI 0 */ 2094 /* Calibrate DSI 0 */
2083 if (dsi->info.ganged_type || 2095 if (dsi->info.ganged_type ||
2084 dsi->info.dsi_instance == DSI_INSTANCE_0) { 2096 dsi->info.dsi_instance == DSI_INSTANCE_0) {