aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorPete Popov <ppopov@embeddedalley.com>2005-09-21 02:18:27 -0400
committerRalf Baechle <ralf@linux-mips.org>2005-10-29 14:32:26 -0400
commitba264b340396b8dd7348ef8531e5ac003a34ff4e (patch)
treef6edffeb3a615c3191109adef2151f358f377802 /arch/mips
parentbab056aafe428b326f7ee72db453c3b8947c7339 (diff)
Au1[12]00 mmc driver. Only tested on the Au1200 at this point though
it should work on the Au1100 as well. Updated defconfig to include driver. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/au1000/common/platform.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/mips/au1000/common/platform.c b/arch/mips/au1000/common/platform.c
index 0f29815003fa..efb00fc5640e 100644
--- a/arch/mips/au1000/common/platform.c
+++ b/arch/mips/au1000/common/platform.c
@@ -7,6 +7,7 @@
7 * License version 2. This program is licensed "as is" without any 7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied. 8 * warranty of any kind, whether express or implied.
9 */ 9 */
10#include <linux/config.h>
10#include <linux/device.h> 11#include <linux/device.h>
11#include <linux/kernel.h> 12#include <linux/kernel.h>
12#include <linux/init.h> 13#include <linux/init.h>
@@ -114,6 +115,24 @@ static struct resource au1xxx_usb_gdt_resources[] = {
114 }, 115 },
115}; 116};
116 117
118static struct resource au1xxx_mmc_resources[] = {
119 [0] = {
120 .start = SD0_PHYS_ADDR,
121 .end = SD0_PHYS_ADDR + 0x40,
122 .flags = IORESOURCE_MEM,
123 },
124 [1] = {
125 .start = SD1_PHYS_ADDR,
126 .end = SD1_PHYS_ADDR + 0x40,
127 .flags = IORESOURCE_MEM,
128 },
129 [2] = {
130 .start = AU1200_SD_INT,
131 .end = AU1200_SD_INT,
132 .flags = IORESOURCE_IRQ,
133 }
134};
135
117static u64 udc_dmamask = ~(u32)0; 136static u64 udc_dmamask = ~(u32)0;
118 137
119static struct platform_device au1xxx_usb_gdt_device = { 138static struct platform_device au1xxx_usb_gdt_device = {
@@ -207,6 +226,20 @@ static struct platform_device au1200_ide0_device = {
207 .resource = au1200_ide0_resources, 226 .resource = au1200_ide0_resources,
208}; 227};
209 228
229static u64 au1xxx_mmc_dmamask = ~(u32)0;
230
231static struct platform_device au1xxx_mmc_device = {
232 .name = "au1xxx-mmc",
233 .id = 0,
234 .dev = {
235 .dma_mask = &au1xxx_mmc_dmamask,
236 .coherent_dma_mask = 0xffffffff,
237 },
238 .num_resources = ARRAY_SIZE(au1xxx_mmc_resources),
239 .resource = au1xxx_mmc_resources,
240};
241#endif /* #ifdef CONFIG_SOC_AU1200 */
242
210static struct platform_device au1x00_pcmcia_device = { 243static struct platform_device au1x00_pcmcia_device = {
211 .name = "au1x00-pcmcia", 244 .name = "au1x00-pcmcia",
212 .id = 0, 245 .id = 0,
@@ -226,6 +259,7 @@ static struct platform_device *au1xxx_platform_devices[] __initdata = {
226 &au1xxx_usb_otg_device, 259 &au1xxx_usb_otg_device,
227 &au1200_lcd_device, 260 &au1200_lcd_device,
228 &au1200_ide0_device, 261 &au1200_ide0_device,
262 &au1xxx_mmc_device,
229#endif 263#endif
230}; 264};
231 265