diff options
author | Inki Dae <inki.dae@samsung.com> | 2014-08-12 21:55:08 +0900 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2014-08-12 21:55:08 +0900 |
commit | 0397e615639aa6d70d7e196b944ddf58f0603c83 (patch) | |
tree | 3544b10ce21a31d7d59164ec5fd1ccb31b90a7ea | |
parent | 0a88cf3ec8b2c2600c8878a065d9dc32576cd5e6 (diff) | |
download | linux-3.10-0397e615639aa6d70d7e196b944ddf58f0603c83.tar.gz linux-3.10-0397e615639aa6d70d7e196b944ddf58f0603c83.tar.bz2 linux-3.10-0397e615639aa6d70d7e196b944ddf58f0603c83.zip |
drm/exynos: mipi-dsi: add exynos3250 SoC support.
Change-Id: I2b2618cba75472e07f32a873ec516103a9e2b9d8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_dsi.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index 03efe88d29f..ea3d7b78757 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -297,6 +297,11 @@ struct exynos_dsi { #define host_to_dsi(host) container_of(host, struct exynos_dsi, dsi_host) #define connector_to_dsi(c) container_of(c, struct exynos_dsi, connector) +static struct exynos_dsi_driver_data exynos3_dsi_driver_data = { + .plltmr_reg = 0x50, + .has_freqband = 1, +}; + static struct exynos_dsi_driver_data exynos4_dsi_driver_data = { .plltmr_reg = 0x50, .has_freqband = 1, @@ -307,6 +312,8 @@ static struct exynos_dsi_driver_data exynos5_dsi_driver_data = { }; static struct of_device_id exynos_dsi_of_match[] = { + { .compatible = "samsung,exynos3250-mipi-dsi", + .data = &exynos3_dsi_driver_data }, { .compatible = "samsung,exynos4210-mipi-dsi", .data = &exynos4_dsi_driver_data }, { .compatible = "samsung,exynos5420-mipi-dsi", @@ -1241,6 +1248,8 @@ static int exynos_dsi_enable(struct exynos_dsi *dsi) if (dsi->state & DSIM_STATE_ENABLED) return 0; + pm_runtime_get_sync(dsi->dev); + ret = exynos_dsi_poweron(dsi); if (ret < 0) return ret; @@ -1268,6 +1277,8 @@ static void exynos_dsi_disable(struct exynos_dsi *dsi) drm_panel_disable(dsi->panel); exynos_dsi_poweroff(dsi); + pm_runtime_put_sync(dsi->dev); + dsi->state &= ~DSIM_STATE_ENABLED; } @@ -1586,6 +1597,9 @@ static int exynos_dsi_probe(struct platform_device *pdev) exynos_dsi_display.ctx = dsi; + pm_runtime_enable(&pdev->dev); + pm_runtime_get_sync(&pdev->dev); + platform_set_drvdata(pdev, &exynos_dsi_display); exynos_drm_display_register(&exynos_dsi_display); |