summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorDominik Sliwa <dominik.sliwa@toradex.com>2018-03-21 17:29:05 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2018-03-28 18:34:12 +0200
commitd29859e6cf92a866470da451c4d815556ce99188 (patch)
tree0382f216cf409ae9a9b5649a040d9c3bbbff5d49 /drivers/video
parent722035cfcd7e238000eafa5803e26072433371c8 (diff)
apalis-tk1:lvds: add option to select 24-bit lvds mode
Add ability to switch between 24.1 and 24.0 lvds modes. Mode description can be found in "Using 24-bpp LVDS Panels with IntelĀ® Mobile Chipsets for Embedded Applications". Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/tegra/dc/of_dc.c6
-rw-r--r--drivers/video/tegra/dc/sor.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/drivers/video/tegra/dc/of_dc.c b/drivers/video/tegra/dc/of_dc.c
index 0f047f6388bc..ee1dc1f81f87 100644
--- a/drivers/video/tegra/dc/of_dc.c
+++ b/drivers/video/tegra/dc/of_dc.c
@@ -465,6 +465,12 @@ static int parse_disp_default_out(struct platform_device *ndev,
}
}
+ if (!of_property_read_u32(np, "nvidia,out-lvds-mode", &temp)) {
+ default_out->lvds_mode = temp;
+ OF_DC_LOG("lvds mode %s\n",
+ default_out->lvds_mode);
+ } else
+ default_out->lvds_mode = TEGRA_DC_LVDS_24_1;
/*
* construct fb
*/
diff --git a/drivers/video/tegra/dc/sor.c b/drivers/video/tegra/dc/sor.c
index 65708cffd82f..1326155cd183 100644
--- a/drivers/video/tegra/dc/sor.c
+++ b/drivers/video/tegra/dc/sor.c
@@ -1282,7 +1282,10 @@ void tegra_dc_sor_enable_lvds(struct tegra_dc_sor_data *sor,
if (!conforming && (sor->dc->pdata->default_out->depth == 24)) {
tegra_sor_write_field(sor, NV_SOR_LVDS,
NV_SOR_LVDS_ROTDAT_DEFAULT_MASK,
- 6 << NV_SOR_LVDS_ROTDAT_SHIFT);
+ sor->dc->pdata->default_out->lvds_mode ==
+ TEGRA_DC_LVDS_24_1 ?
+ 6 << NV_SOR_LVDS_ROTDAT_SHIFT:
+ 0 << NV_SOR_LVDS_ROTDAT_SHIFT);
tegra_sor_writel(sor, NV_SOR_LANE4_DRIVE_CURRENT(sor->portnum),
0x40);
}