diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2014-02-20 19:55:27 -0500 |
---|---|---|
committer | Chris Ball <chris@printf.net> | 2014-02-22 13:03:33 -0500 |
commit | 423f6c2e977de73b8723e73d8cc585de40893f5b (patch) | |
tree | 4e3e70349e210f488227ceb3d1e2d28694515cef | |
parent | 81bbbc7278fa109fb691446a521dcfc18b87e57d (diff) |
mmc: sdhi: update sh_mobile_sdhi_of_data for r8a7790
This patch updates r8a7790 DT data to have SoC specific settings.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Chris Ball <chris@printf.net>
-rw-r--r-- | drivers/mmc/host/sh_mobile_sdhi.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/mmc/host/sh_mobile_sdhi.c b/drivers/mmc/host/sh_mobile_sdhi.c index 38acf2665bdf..cfc37ec26458 100644 --- a/drivers/mmc/host/sh_mobile_sdhi.c +++ b/drivers/mmc/host/sh_mobile_sdhi.c | |||
@@ -38,6 +38,7 @@ | |||
38 | struct sh_mobile_sdhi_of_data { | 38 | struct sh_mobile_sdhi_of_data { |
39 | unsigned long tmio_flags; | 39 | unsigned long tmio_flags; |
40 | unsigned long capabilities; | 40 | unsigned long capabilities; |
41 | unsigned long capabilities2; | ||
41 | }; | 42 | }; |
42 | 43 | ||
43 | static const struct sh_mobile_sdhi_of_data sh_mobile_sdhi_of_cfg[] = { | 44 | static const struct sh_mobile_sdhi_of_data sh_mobile_sdhi_of_cfg[] = { |
@@ -51,6 +52,12 @@ static const struct sh_mobile_sdhi_of_data of_rcar_gen1_compatible = { | |||
51 | .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ, | 52 | .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ, |
52 | }; | 53 | }; |
53 | 54 | ||
55 | static const struct sh_mobile_sdhi_of_data of_rcar_gen2_compatible = { | ||
56 | .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE, | ||
57 | .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ, | ||
58 | .capabilities2 = MMC_CAP2_NO_MULTI_READ, | ||
59 | }; | ||
60 | |||
54 | static const struct of_device_id sh_mobile_sdhi_of_match[] = { | 61 | static const struct of_device_id sh_mobile_sdhi_of_match[] = { |
55 | { .compatible = "renesas,sdhi-shmobile" }, | 62 | { .compatible = "renesas,sdhi-shmobile" }, |
56 | { .compatible = "renesas,sdhi-sh7372" }, | 63 | { .compatible = "renesas,sdhi-sh7372" }, |
@@ -59,7 +66,7 @@ static const struct of_device_id sh_mobile_sdhi_of_match[] = { | |||
59 | { .compatible = "renesas,sdhi-r8a7740", .data = &sh_mobile_sdhi_of_cfg[0], }, | 66 | { .compatible = "renesas,sdhi-r8a7740", .data = &sh_mobile_sdhi_of_cfg[0], }, |
60 | { .compatible = "renesas,sdhi-r8a7778", .data = &of_rcar_gen1_compatible, }, | 67 | { .compatible = "renesas,sdhi-r8a7778", .data = &of_rcar_gen1_compatible, }, |
61 | { .compatible = "renesas,sdhi-r8a7779", .data = &of_rcar_gen1_compatible, }, | 68 | { .compatible = "renesas,sdhi-r8a7779", .data = &of_rcar_gen1_compatible, }, |
62 | { .compatible = "renesas,sdhi-r8a7790", .data = &sh_mobile_sdhi_of_cfg[0], }, | 69 | { .compatible = "renesas,sdhi-r8a7790", .data = &of_rcar_gen2_compatible, }, |
63 | {}, | 70 | {}, |
64 | }; | 71 | }; |
65 | MODULE_DEVICE_TABLE(of, sh_mobile_sdhi_of_match); | 72 | MODULE_DEVICE_TABLE(of, sh_mobile_sdhi_of_match); |
@@ -219,6 +226,7 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev) | |||
219 | const struct sh_mobile_sdhi_of_data *of_data = of_id->data; | 226 | const struct sh_mobile_sdhi_of_data *of_data = of_id->data; |
220 | mmc_data->flags |= of_data->tmio_flags; | 227 | mmc_data->flags |= of_data->tmio_flags; |
221 | mmc_data->capabilities |= of_data->capabilities; | 228 | mmc_data->capabilities |= of_data->capabilities; |
229 | mmc_data->capabilities2 |= of_data->capabilities2; | ||
222 | } | 230 | } |
223 | 231 | ||
224 | /* SD control register space size is 0x100, 0x200 for bus_shift=1 */ | 232 | /* SD control register space size is 0x100, 0x200 for bus_shift=1 */ |