CVSROOT: /home/cvs
Module name: linux
Changes by: ppopov@ftp.linux-mips.org 05/09/21 07:18:28
Modified files:
arch/mips/au1000/common: platform.c
arch/mips/configs: db1200_defconfig
drivers/mmc : Kconfig Makefile
Log message:
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.
diff -urN linux/arch/mips/au1000/common/platform.c
linux/arch/mips/au1000/common/platform.c
--- linux/arch/mips/au1000/common/platform.c 2005/09/15 23:42:27 1.9
+++ linux/arch/mips/au1000/common/platform.c 2005/09/21 06:18:27 1.10
@@ -115,6 +115,24 @@
},
};
+static struct resource au1xxx_mmc_resources[] = {
+ [0] = {
+ .start = SD0_PHYS_ADDR,
+ .end = SD0_PHYS_ADDR + 0x40,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = SD1_PHYS_ADDR,
+ .end = SD1_PHYS_ADDR + 0x40,
+ .flags = IORESOURCE_MEM,
+ },
+ [2] = {
+ .start = AU1200_SD_INT,
+ .end = AU1200_SD_INT,
+ .flags = IORESOURCE_IRQ,
+ }
+};
+
static u64 udc_dmamask = ~(u32)0;
static struct platform_device au1xxx_usb_gdt_device = {
@@ -208,7 +226,19 @@
.resource = au1200_ide0_resources,
};
-#endif
+static u64 au1xxx_mmc_dmamask = ~(u32)0;
+
+static struct platform_device au1xxx_mmc_device = {
+ .name = "au1xxx-mmc",
+ .id = 0,
+ .dev = {
+ .dma_mask = &au1xxx_mmc_dmamask,
+ .coherent_dma_mask = 0xffffffff,
+ },
+ .num_resources = ARRAY_SIZE(au1xxx_mmc_resources),
+ .resource = au1xxx_mmc_resources,
+};
+#endif /* #ifdef CONFIG_SOC_AU1200 */
static struct platform_device au1x00_pcmcia_device = {
.name = "au1x00-pcmcia",
@@ -230,6 +260,7 @@
&au1xxx_usb_otg_device,
&au1200_lcd_device,
&au1200_ide0_device,
+ &au1xxx_mmc_device,
#endif
};
diff -urN linux/arch/mips/configs/db1200_defconfig
linux/arch/mips/configs/db1200_defconfig
--- linux/arch/mips/configs/db1200_defconfig 2005/09/20 00:20:09 1.6
+++ linux/arch/mips/configs/db1200_defconfig 2005/09/21 06:18:27 1.7
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.14-rc1
-# Mon Sep 19 16:50:06 2005
+# Tue Sep 20 16:13:54 2005
#
CONFIG_MIPS=y
@@ -434,7 +434,7 @@
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
-# CONFIG_BLK_DEV_IDECS is not set
+CONFIG_BLK_DEV_IDECS=m
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
@@ -768,7 +768,10 @@
#
# MMC/SD Card support
#
-# CONFIG_MMC is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_AU1X=y
#
# InfiniBand support
diff -urN linux/drivers/mmc/Kconfig linux/drivers/mmc/Kconfig
--- linux/drivers/mmc/Kconfig 2005/05/26 09:12:44 1.5
+++ linux/drivers/mmc/Kconfig 2005/09/21 06:18:27 1.6
@@ -60,4 +60,13 @@
If unsure, say N.
+config MMC_AU1X
+ tristate "Alchemy AU1XX0 MMC Card Interface support"
+ depends on SOC_AU1X00 && MMC
+ help
+ This selects the AMD Alchemy(R) Multimedia card interface.
+ iIf you have a Alchemy platform with a MMC slot, say Y or M here.
+
+ If unsure, say N.
+
endmenu
diff -urN linux/drivers/mmc/Makefile linux/drivers/mmc/Makefile
--- linux/drivers/mmc/Makefile 2004/12/27 02:15:58 1.2
+++ linux/drivers/mmc/Makefile 2005/09/21 06:18:27 1.3
@@ -18,5 +18,6 @@
obj-$(CONFIG_MMC_ARMMMCI) += mmci.o
obj-$(CONFIG_MMC_PXA) += pxamci.o
obj-$(CONFIG_MMC_WBSD) += wbsd.o
+obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
mmc_core-y := mmc.o mmc_queue.o mmc_sysfs.o
|