summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/dc/sor.c
diff options
context:
space:
mode:
authorDominik Sliwa <dominik.sliwa@toradex.com>2018-11-16 16:25:42 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2018-11-29 10:35:26 +0100
commitd41e30fc1d8d1e35eb3abfa0e60084cd93624735 (patch)
tree00093ceb27438b9377970c6705c1586bc1598e3e /drivers/video/tegra/dc/sor.c
parent364dc45a769467959e48df215a55677d6f8f01e3 (diff)
apalis-tk1: lvds: fix dts and allow setting lane4 drive strength
Previously, lvds-drive-strength was located in a wrong node and there was no control of the 5th lane. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Diffstat (limited to 'drivers/video/tegra/dc/sor.c')
-rw-r--r--drivers/video/tegra/dc/sor.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/video/tegra/dc/sor.c b/drivers/video/tegra/dc/sor.c
index f80d9e8f7ac0..77cbcbd72441 100644
--- a/drivers/video/tegra/dc/sor.c
+++ b/drivers/video/tegra/dc/sor.c
@@ -1277,9 +1277,9 @@ void tegra_dc_sor_enable_lvds(struct tegra_dc_sor_data *sor,
reg_val |= (NV_SOR_LVDS_PD_TXDA_3_DISABLE);
tegra_sor_writel(sor, NV_SOR_LVDS, reg_val);
- if (sor->dc->pdata->default_out->lvds_drive_strength > 0 ) {
+ if (sor->dc->pdata->default_out->lvds_lane_drive_str > 0 ) {
tegra_sor_writel(sor, NV_SOR_LANE_DRIVE_CURRENT(sor->portnum),
- sor->dc->pdata->default_out->lvds_drive_strength);
+ sor->dc->pdata->default_out->lvds_lane_drive_str);
} else {
tegra_sor_writel(sor, NV_SOR_LANE_DRIVE_CURRENT(sor->portnum),
0x40404040);
@@ -1292,8 +1292,14 @@ void tegra_dc_sor_enable_lvds(struct tegra_dc_sor_data *sor,
TEGRA_DC_LVDS_24_1 ?
6 << NV_SOR_LVDS_ROTDAT_SHIFT:
0 << NV_SOR_LVDS_ROTDAT_SHIFT);
+ if (sor->dc->pdata->default_out->lvds_lane4_drive_str > 0 ) {
+ tegra_sor_writel(sor,
+ NV_SOR_LANE4_DRIVE_CURRENT(sor->portnum),
+ sor->dc->pdata->default_out->lvds_lane4_drive_str);
+ } else {
tegra_sor_writel(sor, NV_SOR_LANE4_DRIVE_CURRENT(sor->portnum),
0x40);
+ }
}
#if 0