diff options
author | Thierry Reding <treding@nvidia.com> | 2015-04-08 10:56:22 -0400 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2015-08-13 07:47:45 -0400 |
commit | ddfb406b2f9f83e85734e43d043cdd1b2519df13 (patch) | |
tree | 9beb327415605c30fedb774f83d4e614b92db30b | |
parent | c06c793084ecf62e77361e671465214a196a2f55 (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.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/tegra/dsi.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/tegra/dsi.h | 4 |
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 | ||
1628 | static const struct of_device_id tegra_dsi_of_match[] = { | 1632 | static 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) |