Merge remote-tracking branch 'arm-soc/imx/multiplatform' into imx25-dt
authorSascha Hauer <s.hauer@pengutronix.de>
Mon, 12 Nov 2012 11:08:12 +0000 (12:08 +0100)
committerSascha Hauer <s.hauer@pengutronix.de>
Mon, 12 Nov 2012 11:08:12 +0000 (12:08 +0100)
1  2 
MAINTAINERS
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/configs/imx_v6_v7_defconfig
arch/arm/mach-imx/clk-imx25.c
arch/arm/mach-imx/clk-imx27.c
arch/arm/mach-imx/devices/platform-mxc-mmc.c
arch/arm/mach-imx/mm-imx3.c
drivers/dma/imx-dma.c
drivers/mmc/host/mxcmmc.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 0000000000000000000000000000000000000000,7da19afa1bba75d56ee06b175c119d3109a15cdb..b8203c760c8f5a58c6e4a5b917bd5512b417d7ee
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,75 +1,75 @@@
 -                      .end = data->iobase + SZ_4K - 1,
+ /*
+  * Copyright (C) 2010 Pengutronix
+  * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
+  *
+  * This program is free software; you can redistribute it and/or modify it under
+  * the terms of the GNU General Public License version 2 as published by the
+  * Free Software Foundation.
+  */
+ #include <linux/dma-mapping.h>
+ #include "../hardware.h"
+ #include "devices-common.h"
+ #define imx_mxc_mmc_data_entry_single(soc, _devid, _id, _hwid, _size) \
+       {                                                               \
+               .devid = _devid,                                        \
+               .id = _id,                                              \
+               .iobase = soc ## _SDHC ## _hwid ## _BASE_ADDR,          \
+               .iosize = _size,                                        \
+               .irq = soc ## _INT_SDHC ## _hwid,                       \
+               .dmareq = soc ## _DMA_REQ_SDHC ## _hwid,                \
+       }
+ #define imx_mxc_mmc_data_entry(soc, _devid, _id, _hwid, _size)                \
+       [_id] = imx_mxc_mmc_data_entry_single(soc, _devid, _id, _hwid, _size)
+ #ifdef CONFIG_SOC_IMX21
+ const struct imx_mxc_mmc_data imx21_mxc_mmc_data[] __initconst = {
+ #define imx21_mxc_mmc_data_entry(_id, _hwid)                          \
+       imx_mxc_mmc_data_entry(MX21, "imx21-mmc", _id, _hwid, SZ_4K)
+       imx21_mxc_mmc_data_entry(0, 1),
+       imx21_mxc_mmc_data_entry(1, 2),
+ };
+ #endif /* ifdef CONFIG_SOC_IMX21 */
+ #ifdef CONFIG_SOC_IMX27
+ const struct imx_mxc_mmc_data imx27_mxc_mmc_data[] __initconst = {
+ #define imx27_mxc_mmc_data_entry(_id, _hwid)                          \
+       imx_mxc_mmc_data_entry(MX27, "imx21-mmc", _id, _hwid, SZ_4K)
+       imx27_mxc_mmc_data_entry(0, 1),
+       imx27_mxc_mmc_data_entry(1, 2),
+ };
+ #endif /* ifdef CONFIG_SOC_IMX27 */
+ #ifdef CONFIG_SOC_IMX31
+ const struct imx_mxc_mmc_data imx31_mxc_mmc_data[] __initconst = {
+ #define imx31_mxc_mmc_data_entry(_id, _hwid)                          \
+       imx_mxc_mmc_data_entry(MX31, "imx31-mmc", _id, _hwid, SZ_16K)
+       imx31_mxc_mmc_data_entry(0, 1),
+       imx31_mxc_mmc_data_entry(1, 2),
+ };
+ #endif /* ifdef CONFIG_SOC_IMX31 */
+ struct platform_device *__init imx_add_mxc_mmc(
+               const struct imx_mxc_mmc_data *data,
+               const struct imxmmc_platform_data *pdata)
+ {
+       struct resource res[] = {
+               {
+                       .start = data->iobase,
++                      .end = data->iobase + data->iosize - 1,
+                       .flags = IORESOURCE_MEM,
+               }, {
+                       .start = data->irq,
+                       .end = data->irq,
+                       .flags = IORESOURCE_IRQ,
+               }, {
+                       .start = data->dmareq,
+                       .end = data->dmareq,
+                       .flags = IORESOURCE_DMA,
+               },
+       };
+       return imx_add_platform_device_dmamask(data->devid, data->id,
+                       res, ARRAY_SIZE(res),
+                       pdata, sizeof(*pdata), DMA_BIT_MASK(32));
+ }
Simple merge
Simple merge
Simple merge