aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorYuvaraj Kumar C D <yuvaraj.cd@gmail.com>2013-05-24 06:04:32 -0400
committerChris Ball <cjb@laptop.org>2013-08-25 00:21:42 -0400
commit00fd041b0c5265ca45e6f60f4d92234b9f37a064 (patch)
treeb6c0e3c82e2e0e4af9193d757e24b697c219bff4 /drivers/mmc
parent6d6fd3674259d16b735c961743ff28870c46cedc (diff)
mmc: dw_mmc: exynos: Add a new compatible string for exynos5420
The Exynos5420 has a DWMMC controller which is different from prior versions.This patch adds a new compatible string for Exynos5420. Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@samsung.com> Acked-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/dw_mmc-exynos.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c
index 866edef2e820..6a1fa2110a05 100644
--- a/drivers/mmc/host/dw_mmc-exynos.c
+++ b/drivers/mmc/host/dw_mmc-exynos.c
@@ -39,6 +39,7 @@ enum dw_mci_exynos_type {
39 DW_MCI_TYPE_EXYNOS4210, 39 DW_MCI_TYPE_EXYNOS4210,
40 DW_MCI_TYPE_EXYNOS4412, 40 DW_MCI_TYPE_EXYNOS4412,
41 DW_MCI_TYPE_EXYNOS5250, 41 DW_MCI_TYPE_EXYNOS5250,
42 DW_MCI_TYPE_EXYNOS5420,
42}; 43};
43 44
44/* Exynos implementation specific driver private data */ 45/* Exynos implementation specific driver private data */
@@ -62,6 +63,9 @@ static struct dw_mci_exynos_compatible {
62 }, { 63 }, {
63 .compatible = "samsung,exynos5250-dw-mshc", 64 .compatible = "samsung,exynos5250-dw-mshc",
64 .ctrl_type = DW_MCI_TYPE_EXYNOS5250, 65 .ctrl_type = DW_MCI_TYPE_EXYNOS5250,
66 }, {
67 .compatible = "samsung,exynos5420-dw-mshc",
68 .ctrl_type = DW_MCI_TYPE_EXYNOS5420,
65 }, 69 },
66}; 70};
67 71
@@ -90,7 +94,8 @@ static int dw_mci_exynos_setup_clock(struct dw_mci *host)
90{ 94{
91 struct dw_mci_exynos_priv_data *priv = host->priv; 95 struct dw_mci_exynos_priv_data *priv = host->priv;
92 96
93 if (priv->ctrl_type == DW_MCI_TYPE_EXYNOS5250) 97 if (priv->ctrl_type == DW_MCI_TYPE_EXYNOS5250 ||
98 priv->ctrl_type == DW_MCI_TYPE_EXYNOS5420)
94 host->bus_hz /= (priv->ciu_div + 1); 99 host->bus_hz /= (priv->ciu_div + 1);
95 else if (priv->ctrl_type == DW_MCI_TYPE_EXYNOS4412) 100 else if (priv->ctrl_type == DW_MCI_TYPE_EXYNOS4412)
96 host->bus_hz /= EXYNOS4412_FIXED_CIU_CLK_DIV; 101 host->bus_hz /= EXYNOS4412_FIXED_CIU_CLK_DIV;
@@ -173,6 +178,8 @@ static const struct of_device_id dw_mci_exynos_match[] = {
173 .data = &exynos_drv_data, }, 178 .data = &exynos_drv_data, },
174 { .compatible = "samsung,exynos5250-dw-mshc", 179 { .compatible = "samsung,exynos5250-dw-mshc",
175 .data = &exynos_drv_data, }, 180 .data = &exynos_drv_data, },
181 { .compatible = "samsung,exynos5420-dw-mshc",
182 .data = &exynos_drv_data, },
176 {}, 183 {},
177}; 184};
178MODULE_DEVICE_TABLE(of, dw_mci_exynos_match); 185MODULE_DEVICE_TABLE(of, dw_mci_exynos_match);