Commit 85bcc130 authored by Pierre Ossman's avatar Pierre Ossman Committed by Russell King

[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).
parent 88d7bd8c
...@@ -51,7 +51,7 @@ config MMC_PXA ...@@ -51,7 +51,7 @@ config MMC_PXA
config MMC_WBSD config MMC_WBSD
tristate "Winbond W83L51xD SD/MMC Card Interface support" tristate "Winbond W83L51xD SD/MMC Card Interface support"
depends on MMC && ISA && ISA_DMA_API depends on MMC && ISA_DMA_API
help help
This selects the Winbond(R) W83L51xD Secure digital and This selects the Winbond(R) W83L51xD Secure digital and
Multimedia card Interface. Multimedia card Interface.
......
This diff is collapsed.
...@@ -35,6 +35,12 @@ const int valid_ids[] = { ...@@ -35,6 +35,12 @@ const int valid_ids[] = {
#define DEVICE_SD 0x03 #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_CMDR 0x00
#define WBSD_DFR 0x01 #define WBSD_DFR 0x01
#define WBSD_EIR 0x02 #define WBSD_EIR 0x02
...@@ -133,6 +139,7 @@ const int valid_ids[] = { ...@@ -133,6 +139,7 @@ const int valid_ids[] = {
#define WBSD_CRC_OK 0x05 /* S010E (00101) */ #define WBSD_CRC_OK 0x05 /* S010E (00101) */
#define WBSD_CRC_FAIL 0x0B /* S101E (01011) */ #define WBSD_CRC_FAIL 0x0B /* S101E (01011) */
#define WBSD_DMA_SIZE 65536
struct wbsd_host struct wbsd_host
{ {
...@@ -140,6 +147,11 @@ struct wbsd_host ...@@ -140,6 +147,11 @@ struct wbsd_host
spinlock_t lock; /* Mutex */ 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 */ struct mmc_request* mrq; /* Current request */
u8 isr; /* Accumulated ISR */ u8 isr; /* Accumulated ISR */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment