diff options
Diffstat (limited to 'arch/arm/plat-mxc/devices')
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-mxc-mmc.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/arch/arm/plat-mxc/devices/platform-mxc-mmc.c b/arch/arm/plat-mxc/devices/platform-mxc-mmc.c index 953319e4d874..90d762f6f93b 100644 --- a/arch/arm/plat-mxc/devices/platform-mxc-mmc.c +++ b/arch/arm/plat-mxc/devices/platform-mxc-mmc.c | |||
@@ -9,20 +9,21 @@ | |||
9 | #include <mach/hardware.h> | 9 | #include <mach/hardware.h> |
10 | #include <mach/devices-common.h> | 10 | #include <mach/devices-common.h> |
11 | 11 | ||
12 | #define imx_mxc_mmc_data_entry_single(soc, _id, _hwid) \ | 12 | #define imx_mxc_mmc_data_entry_single(soc, _id, _hwid, _size) \ |
13 | { \ | 13 | { \ |
14 | .id = _id, \ | 14 | .id = _id, \ |
15 | .iobase = soc ## _SDHC ## _hwid ## _BASE_ADDR, \ | 15 | .iobase = soc ## _SDHC ## _hwid ## _BASE_ADDR, \ |
16 | .iosize = _size, \ | ||
16 | .irq = soc ## _INT_SDHC ## _hwid, \ | 17 | .irq = soc ## _INT_SDHC ## _hwid, \ |
17 | .dmareq = soc ## _DMA_REQ_SDHC ## _hwid, \ | 18 | .dmareq = soc ## _DMA_REQ_SDHC ## _hwid, \ |
18 | } | 19 | } |
19 | #define imx_mxc_mmc_data_entry(soc, _id, _hwid) \ | 20 | #define imx_mxc_mmc_data_entry(soc, _id, _hwid, _size) \ |
20 | [_id] = imx_mxc_mmc_data_entry_single(soc, _id, _hwid) | 21 | [_id] = imx_mxc_mmc_data_entry_single(soc, _id, _hwid, _size) |
21 | 22 | ||
22 | #ifdef CONFIG_SOC_IMX21 | 23 | #ifdef CONFIG_SOC_IMX21 |
23 | const struct imx_mxc_mmc_data imx21_mxc_mmc_data[] __initconst = { | 24 | const struct imx_mxc_mmc_data imx21_mxc_mmc_data[] __initconst = { |
24 | #define imx21_mxc_mmc_data_entry(_id, _hwid) \ | 25 | #define imx21_mxc_mmc_data_entry(_id, _hwid) \ |
25 | imx_mxc_mmc_data_entry(MX21, _id, _hwid) | 26 | imx_mxc_mmc_data_entry(MX21, _id, _hwid, SZ_4K) |
26 | imx21_mxc_mmc_data_entry(0, 1), | 27 | imx21_mxc_mmc_data_entry(0, 1), |
27 | imx21_mxc_mmc_data_entry(1, 2), | 28 | imx21_mxc_mmc_data_entry(1, 2), |
28 | }; | 29 | }; |
@@ -31,12 +32,21 @@ const struct imx_mxc_mmc_data imx21_mxc_mmc_data[] __initconst = { | |||
31 | #ifdef CONFIG_SOC_IMX27 | 32 | #ifdef CONFIG_SOC_IMX27 |
32 | const struct imx_mxc_mmc_data imx27_mxc_mmc_data[] __initconst = { | 33 | const struct imx_mxc_mmc_data imx27_mxc_mmc_data[] __initconst = { |
33 | #define imx27_mxc_mmc_data_entry(_id, _hwid) \ | 34 | #define imx27_mxc_mmc_data_entry(_id, _hwid) \ |
34 | imx_mxc_mmc_data_entry(MX27, _id, _hwid) | 35 | imx_mxc_mmc_data_entry(MX27, _id, _hwid, SZ_4K) |
35 | imx27_mxc_mmc_data_entry(0, 1), | 36 | imx27_mxc_mmc_data_entry(0, 1), |
36 | imx27_mxc_mmc_data_entry(1, 2), | 37 | imx27_mxc_mmc_data_entry(1, 2), |
37 | }; | 38 | }; |
38 | #endif /* ifdef CONFIG_SOC_IMX27 */ | 39 | #endif /* ifdef CONFIG_SOC_IMX27 */ |
39 | 40 | ||
41 | #ifdef CONFIG_SOC_IMX31 | ||
42 | const struct imx_mxc_mmc_data imx31_mxc_mmc_data[] __initconst = { | ||
43 | #define imx31_mxc_mmc_data_entry(_id, _hwid) \ | ||
44 | imx_mxc_mmc_data_entry(MX31, _id, _hwid, SZ_16K) | ||
45 | imx31_mxc_mmc_data_entry(0, 1), | ||
46 | imx31_mxc_mmc_data_entry(1, 2), | ||
47 | }; | ||
48 | #endif /* ifdef CONFIG_SOC_IMX31 */ | ||
49 | |||
40 | struct platform_device *__init imx_add_mxc_mmc( | 50 | struct platform_device *__init imx_add_mxc_mmc( |
41 | const struct imx_mxc_mmc_data *data, | 51 | const struct imx_mxc_mmc_data *data, |
42 | const struct imxmmc_platform_data *pdata) | 52 | const struct imxmmc_platform_data *pdata) |