summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/wbsd.h
diff options
context:
space:
mode:
authorPierre Ossman <drzeus-list@cx.rmk.(none)>2005-05-08 19:35:27 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-05-08 19:35:27 +0100
commit85bcc13072c54592596c5b41d40d1c6a18b04e19 (patch)
tree1f3fe7a88f37ed72f6cdaf6117f0299caf4ab59a /drivers/mmc/wbsd.h
parent88d7bd8cb9eb8d64bf7997600b0d64f7834047c5 (diff)
downloadlinux-stable-85bcc13072c54592596c5b41d40d1c6a18b04e19.tar.gz
linux-stable-85bcc13072c54592596c5b41d40d1c6a18b04e19.tar.bz2
linux-stable-85bcc13072c54592596c5b41d40d1c6a18b04e19.zip
[PATCH] MMC: wbsd update
Updates to the wbsd driver. * Fix to handle DAT3 card detection. * Fixed bug which could cause large writes to stall in FIFO mode. * Plug 'n Play support. In most cases you need ACPI PNP for this to work. * Uses generic DMA API (ISA dependency removed).
Diffstat (limited to 'drivers/mmc/wbsd.h')
-rw-r--r--drivers/mmc/wbsd.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/mmc/wbsd.h b/drivers/mmc/wbsd.h
index fdc03b56a81f..864f30828d01 100644
--- a/drivers/mmc/wbsd.h
+++ b/drivers/mmc/wbsd.h
@@ -35,6 +35,12 @@ const int valid_ids[] = {
#define DEVICE_SD 0x03
+#define WBSD_PINS_DAT3_HI 0x20
+#define WBSD_PINS_DAT3_OUT 0x10
+#define WBSD_PINS_GP11_HI 0x04
+#define WBSD_PINS_DETECT_GP11 0x02
+#define WBSD_PINS_DETECT_DAT3 0x01
+
#define WBSD_CMDR 0x00
#define WBSD_DFR 0x01
#define WBSD_EIR 0x02
@@ -133,6 +139,7 @@ const int valid_ids[] = {
#define WBSD_CRC_OK 0x05 /* S010E (00101) */
#define WBSD_CRC_FAIL 0x0B /* S101E (01011) */
+#define WBSD_DMA_SIZE 65536
struct wbsd_host
{
@@ -140,6 +147,11 @@ struct wbsd_host
spinlock_t lock; /* Mutex */
+ int flags; /* Driver states */
+
+#define WBSD_FCARD_PRESENT (1<<0) /* Card is present */
+#define WBSD_FIGNORE_DETECT (1<<1) /* Ignore card detection */
+
struct mmc_request* mrq; /* Current request */
u8 isr; /* Accumulated ISR */