diff options
author | Vineel Kumar Reddy Kovvuri <vineelkumarr@nvidia.com> | 2013-10-29 02:55:47 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:06:52 -0400 |
commit | d975917b922a801b0459e958d38d14c0b6e21f6f (patch) | |
tree | 4bd603cd39897c1a620a00d6d4491e7494f2e985 /drivers/video/tegra/dc/dsi.c | |
parent | 9b1f410251e0d96c43d7439d0a76abf077d2cf7d (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.c | 12 |
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) { |