diff options
author | Pete Popov <ppopov@embeddedalley.com> | 2005-09-21 02:18:27 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-10-29 14:32:26 -0400 |
commit | ba264b340396b8dd7348ef8531e5ac003a34ff4e (patch) | |
tree | f6edffeb3a615c3191109adef2151f358f377802 /arch | |
parent | bab056aafe428b326f7ee72db453c3b8947c7339 (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')
-rw-r--r-- | arch/mips/au1000/common/platform.c | 34 |
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 | ||
118 | static 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 | |||
117 | static u64 udc_dmamask = ~(u32)0; | 136 | static u64 udc_dmamask = ~(u32)0; |
118 | 137 | ||
119 | static struct platform_device au1xxx_usb_gdt_device = { | 138 | static 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 | ||
229 | static u64 au1xxx_mmc_dmamask = ~(u32)0; | ||
230 | |||
231 | static 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 | |||
210 | static struct platform_device au1x00_pcmcia_device = { | 243 | static 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 | ||