aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Reding <treding@nvidia.com>2015-04-08 10:56:22 -0400
committerThierry Reding <treding@nvidia.com>2015-08-13 07:47:45 -0400
commitddfb406b2f9f83e85734e43d043cdd1b2519df13 (patch)
tree9beb327415605c30fedb774f83d4e614b92db30b
parentc06c793084ecf62e77361e671465214a196a2f55 (diff)
drm/tegra: dsi: Add Tegra210 support
The DSI host controller hasn't changed from Tegra132 to Tegra210, but different characterization parameters may be required. Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r--drivers/gpu/drm/tegra/drm.c1
-rw-r--r--drivers/gpu/drm/tegra/dsi.c5
-rw-r--r--drivers/gpu/drm/tegra/dsi.h4
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index 3b8988258188..1993ab90226a 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -1059,6 +1059,7 @@ static const struct of_device_id host1x_drm_subdevs[] = {
1059 { .compatible = "nvidia,tegra124-dsi", }, 1059 { .compatible = "nvidia,tegra124-dsi", },
1060 { .compatible = "nvidia,tegra132-dsi", }, 1060 { .compatible = "nvidia,tegra132-dsi", },
1061 { .compatible = "nvidia,tegra210-dc", }, 1061 { .compatible = "nvidia,tegra210-dc", },
1062 { .compatible = "nvidia,tegra210-dsi", },
1062 { /* sentinel */ } 1063 { /* sentinel */ }
1063}; 1064};
1064 1065
diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c
index bc0dbf4dc776..eced05f09edc 100644
--- a/drivers/gpu/drm/tegra/dsi.c
+++ b/drivers/gpu/drm/tegra/dsi.c
@@ -997,6 +997,10 @@ static int tegra_dsi_pad_calibrate(struct tegra_dsi *dsi)
997 DSI_PAD_OUT_CLK(0x0); 997 DSI_PAD_OUT_CLK(0x0);
998 tegra_dsi_writel(dsi, value, DSI_PAD_CONTROL_2); 998 tegra_dsi_writel(dsi, value, DSI_PAD_CONTROL_2);
999 999
1000 value = DSI_PAD_PREEMP_PD_CLK(0x3) | DSI_PAD_PREEMP_PU_CLK(0x3) |
1001 DSI_PAD_PREEMP_PD(0x03) | DSI_PAD_PREEMP_PU(0x3);
1002 tegra_dsi_writel(dsi, value, DSI_PAD_CONTROL_3);
1003
1000 return tegra_mipi_calibrate(dsi->mipi); 1004 return tegra_mipi_calibrate(dsi->mipi);
1001} 1005}
1002 1006
@@ -1626,6 +1630,7 @@ static int tegra_dsi_remove(struct platform_device *pdev)
1626} 1630}
1627 1631
1628static const struct of_device_id tegra_dsi_of_match[] = { 1632static const struct of_device_id tegra_dsi_of_match[] = {
1633 { .compatible = "nvidia,tegra210-dsi", },
1629 { .compatible = "nvidia,tegra132-dsi", }, 1634 { .compatible = "nvidia,tegra132-dsi", },
1630 { .compatible = "nvidia,tegra124-dsi", }, 1635 { .compatible = "nvidia,tegra124-dsi", },
1631 { .compatible = "nvidia,tegra114-dsi", }, 1636 { .compatible = "nvidia,tegra114-dsi", },
diff --git a/drivers/gpu/drm/tegra/dsi.h b/drivers/gpu/drm/tegra/dsi.h
index bad1006a5150..219263615399 100644
--- a/drivers/gpu/drm/tegra/dsi.h
+++ b/drivers/gpu/drm/tegra/dsi.h
@@ -113,6 +113,10 @@
113#define DSI_PAD_SLEW_DN(x) (((x) & 0x7) << 12) 113#define DSI_PAD_SLEW_DN(x) (((x) & 0x7) << 12)
114#define DSI_PAD_SLEW_UP(x) (((x) & 0x7) << 16) 114#define DSI_PAD_SLEW_UP(x) (((x) & 0x7) << 16)
115#define DSI_PAD_CONTROL_3 0x51 115#define DSI_PAD_CONTROL_3 0x51
116#define DSI_PAD_PREEMP_PD_CLK(x) (((x) & 0x3) << 12)
117#define DSI_PAD_PREEMP_PU_CLK(x) (((x) & 0x3) << 8)
118#define DSI_PAD_PREEMP_PD(x) (((x) & 0x3) << 4)
119#define DSI_PAD_PREEMP_PU(x) (((x) & 0x3) << 0)
116#define DSI_PAD_CONTROL_4 0x52 120#define DSI_PAD_CONTROL_4 0x52
117#define DSI_GANGED_MODE_CONTROL 0x53 121#define DSI_GANGED_MODE_CONTROL 0x53
118#define DSI_GANGED_MODE_CONTROL_ENABLE (1 << 0) 122#define DSI_GANGED_MODE_CONTROL_ENABLE (1 << 0)