[ARM] 4400/1: S3C24XX: Add high-speed MMC device definition
authorBen Dooks <ben@trinity.fluff.org>
Sun, 20 May 2007 17:13:32 +0000 (18:13 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 20 May 2007 19:03:31 +0000 (20:03 +0100)
Add definition for high-speed MMC/SD device and add to SMDK2443
device list.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-s3c2443/mach-smdk2443.c
arch/arm/plat-s3c24xx/devs.c
include/asm-arm/plat-s3c24xx/devs.h

index b71ee53..b1eb709 100644 (file)
@@ -104,6 +104,7 @@ static struct s3c2410_uartcfg smdk2443_uartcfgs[] __initdata = {
 static struct platform_device *smdk2443_devices[] __initdata = {
        &s3c_device_wdt,
        &s3c_device_i2c,
+       &s3c_device_hsmmc,
 };
 
 static void __init smdk2443_map_io(void)
index 8eca959..5875da0 100644 (file)
@@ -403,6 +403,36 @@ struct platform_device s3c_device_sdi = {
 
 EXPORT_SYMBOL(s3c_device_sdi);
 
+/* High-speed MMC/SD */
+
+static struct resource s3c_hsmmc_resource[] = {
+       [0] = {
+               .start = S3C2443_PA_HSMMC,
+               .end   = S3C2443_PA_HSMMC + S3C2443_SZ_HSMMC - 1,
+               .flags = IORESOURCE_MEM,
+       },
+       [1] = {
+               .start = IRQ_S3C2443_HSMMC,
+               .end   = IRQ_S3C2443_HSMMC,
+               .flags = IORESOURCE_IRQ,
+       }
+};
+
+static u64 s3c_device_hsmmc_dmamask = 0xffffffffUL;
+
+struct platform_device s3c_device_hsmmc = {
+       .name             = "s3c-sdhci",
+       .id               = -1,
+       .num_resources    = ARRAY_SIZE(s3c_hsmmc_resource),
+       .resource         = s3c_hsmmc_resource,
+       .dev              = {
+               .dma_mask = &s3c_device_hsmmc_dmamask,
+               .coherent_dma_mask = 0xffffffffUL
+       }
+};
+
+
+
 /* SPI (0) */
 
 static struct resource s3c_spi0_resource[] = {
index dddf485..f9d6f03 100644 (file)
@@ -29,6 +29,7 @@ extern struct platform_device s3c_device_iis;
 extern struct platform_device s3c_device_rtc;
 extern struct platform_device s3c_device_adc;
 extern struct platform_device s3c_device_sdi;
+extern struct platform_device s3c_device_hsmmc;
 
 extern struct platform_device s3c_device_spi0;
 extern struct platform_device s3c_device_spi1;