drm/tegra: dsi: Add Tegra210 support
authorThierry Reding <treding@nvidia.com>
Wed, 8 Apr 2015 14:56:22 +0000 (16:56 +0200)
committerThierry Reding <treding@nvidia.com>
Thu, 13 Aug 2015 11:47:45 +0000 (13:47 +0200)
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>
drivers/gpu/drm/tegra/drm.c
drivers/gpu/drm/tegra/dsi.c
drivers/gpu/drm/tegra/dsi.h

index 3b898825818834ced2f2ba47449c17646c8886ad..1993ab90226a515d3037d56020da52861fa0bc96 100644 (file)
@@ -1059,6 +1059,7 @@ static const struct of_device_id host1x_drm_subdevs[] = {
        { .compatible = "nvidia,tegra124-dsi", },
        { .compatible = "nvidia,tegra132-dsi", },
        { .compatible = "nvidia,tegra210-dc", },
+       { .compatible = "nvidia,tegra210-dsi", },
        { /* sentinel */ }
 };
 
index bc0dbf4dc776e7b6cfd6affb4fbe529aee4bf37f..eced05f09edc7fe1055d014ca24670cb401fee13 100644 (file)
@@ -997,6 +997,10 @@ static int tegra_dsi_pad_calibrate(struct tegra_dsi *dsi)
                DSI_PAD_OUT_CLK(0x0);
        tegra_dsi_writel(dsi, value, DSI_PAD_CONTROL_2);
 
+       value = DSI_PAD_PREEMP_PD_CLK(0x3) | DSI_PAD_PREEMP_PU_CLK(0x3) |
+               DSI_PAD_PREEMP_PD(0x03) | DSI_PAD_PREEMP_PU(0x3);
+       tegra_dsi_writel(dsi, value, DSI_PAD_CONTROL_3);
+
        return tegra_mipi_calibrate(dsi->mipi);
 }
 
@@ -1626,6 +1630,7 @@ static int tegra_dsi_remove(struct platform_device *pdev)
 }
 
 static const struct of_device_id tegra_dsi_of_match[] = {
+       { .compatible = "nvidia,tegra210-dsi", },
        { .compatible = "nvidia,tegra132-dsi", },
        { .compatible = "nvidia,tegra124-dsi", },
        { .compatible = "nvidia,tegra114-dsi", },
index bad1006a51509da2868d83115245cb742ec29385..2192636153991fbcd554d1a1125862e81cfcbbe7 100644 (file)
 #define DSI_PAD_SLEW_DN(x)             (((x) & 0x7) << 12)
 #define DSI_PAD_SLEW_UP(x)             (((x) & 0x7) << 16)
 #define DSI_PAD_CONTROL_3              0x51
+#define  DSI_PAD_PREEMP_PD_CLK(x)      (((x) & 0x3) << 12)
+#define  DSI_PAD_PREEMP_PU_CLK(x)      (((x) & 0x3) << 8)
+#define  DSI_PAD_PREEMP_PD(x)          (((x) & 0x3) << 4)
+#define  DSI_PAD_PREEMP_PU(x)          (((x) & 0x3) << 0)
 #define DSI_PAD_CONTROL_4              0x52
 #define DSI_GANGED_MODE_CONTROL                0x53
 #define DSI_GANGED_MODE_CONTROL_ENABLE (1 << 0)