Skip to contentSkip to conversation

mmc: USB SD Host Controller (USHC) driver

PATCH Applied David Vrabel 2 participants 2 messages Sep 2, 2010 – Sep 10, 2010 MMC, SD and SDIO

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 mmc: USB SD Host Controller (USHC) driver

Add a driver for USB SD Host Controller devices. These devices are Cypress Astoria chips with firmware compliant with issue 2 of CSR's USHC specification.

---
Changes since v1:
- Clarified Kconfig help text.
- mmc->f_min is 400 kHz.

Andrew, please queue for 2.6.37.

---
 drivers/mmc/host/Kconfig  |   14 ++
 drivers/mmc/host/Makefile |    1 +
 drivers/mmc/host/ushc.c   |  567 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 582 insertions(+), 0 deletions(-)
 create mode 100644 drivers/mmc/host/ushc.c
drivers/mmc/host/Kconfig +14 -0
index 68d1279..8de7b9e 100644
@@ -451,3 +451,17 @@ config MMC_JZ4740
 	  SoCs.
 	  If you have a board based on such a SoC and with a SD/MMC slot,
 	  say Y or M here.
+
+config MMC_USHC
+	tristate "USB SD Host Controller (USHC) support"
+	depends on USB
+	help
+	  This selects support for USB SD Host Controllers based on
+	  the Cypress Astoria chip with firmware compliant with CSR's
+	  USB SD Host Controller specification (CS-118793-SP).
+
+	  CSR boards with this device include: USB<>SDIO (M1985v2),
+	  and Ultrasira.
+
+	  Note: These controllers only support SDIO cards and do not
+	  support MMC or SD memory cards.
drivers/mmc/host/Makefile +1 -0
index 840bcb5..f7fb7eb 100644
@@ -36,6 +36,7 @@ obj-$(CONFIG_MMC_VIA_SDMMC)	+= via-sdmmc.o
 obj-$(CONFIG_SDH_BFIN)		+= bfin_sdh.o
 obj-$(CONFIG_MMC_SH_MMCIF)	+= sh_mmcif.o
 obj-$(CONFIG_MMC_JZ4740)	+= jz4740_mmc.o
+obj-$(CONFIG_MMC_USHC)		+= ushc.o
 
 obj-$(CONFIG_MMC_SDHCI_PLTFM)			+= sdhci-platform.o
 sdhci-platform-y				:= sdhci-pltfm.o
drivers/mmc/host/ushc.c new file +567 -0

567 lines not on this page · raw message

Signature · 1 line
1.6.3.3
Applied
#1 lore raw

Hi David,

Quoted 11 lines · David Vrabel

Add a driver for USB SD Host Controller devices. These devices are Cypress Astoria chips with firmware compliant with issue 2 of CSR's USHC specification.

---
Changes since v1:
- Clarified Kconfig help text.
- mmc->f_min is 400 kHz.

Andrew, please queue for 2.6.37.

Thanks, applied to mmc-next with the following change as per "mmc: Remove distinction between hw and phys segments". Would you like to submit a MAINTAINERS entry for this driver?

drivers/mmc/host/ushc.c +1 -2
index 2d0cc2c..b4ead4a 100644
@@ -456,8 +456,7 @@ static int ushc_probe(struct usb_interface *intf, const struct usb_device_id *id
 	mmc->caps |= (ushc->caps & USHC_GET_CAPS_HIGH_SPD) ? MMC_CAP_SD_HIGHSPEED : 0;
 
 	mmc->max_seg_size  = 512*511;
-	mmc->max_hw_segs   = 1;
-	mmc->max_phys_segs = 1;
+	mmc->max_segs      = 1;
 	mmc->max_req_size  = 512*511;
 	mmc->max_blk_size  = 512;
 	mmc->max_blk_count = 511;
Signature · 2 lines
Chris Ball   <[email protected]>   <http://printf.net/>
One Laptop Per Child