diff options
Diffstat (limited to 'arch/avr32/include/asm/atmel-mci.h')
| -rw-r--r-- | arch/avr32/include/asm/atmel-mci.h | 32 | 
1 files changed, 31 insertions, 1 deletions
diff --git a/arch/avr32/include/asm/atmel-mci.h b/arch/avr32/include/asm/atmel-mci.h index c2ea6e1c9aa..59f3fadd0b6 100644 --- a/arch/avr32/include/asm/atmel-mci.h +++ b/arch/avr32/include/asm/atmel-mci.h @@ -1,9 +1,39 @@  #ifndef __ASM_AVR32_ATMEL_MCI_H  #define __ASM_AVR32_ATMEL_MCI_H -struct mci_platform_data { +#define ATMEL_MCI_MAX_NR_SLOTS	2 + +struct dma_slave; + +/** + * struct mci_slot_pdata - board-specific per-slot configuration + * @bus_width: Number of data lines wired up the slot + * @detect_pin: GPIO pin wired to the card detect switch + * @wp_pin: GPIO pin wired to the write protect sensor + * + * If a given slot is not present on the board, @bus_width should be + * set to 0. The other fields are ignored in this case. + * + * Any pins that aren't available should be set to a negative value. + * + * Note that support for multiple slots is experimental -- some cards + * might get upset if we don't get the clock management exactly right. + * But in most cases, it should work just fine. + */ +struct mci_slot_pdata { +	unsigned int		bus_width;  	int			detect_pin;  	int			wp_pin;  }; +/** + * struct mci_platform_data - board-specific MMC/SDcard configuration + * @dma_slave: DMA slave interface to use in data transfers, or NULL. + * @slot: Per-slot configuration data. + */ +struct mci_platform_data { +	struct dma_slave	*dma_slave; +	struct mci_slot_pdata	slot[ATMEL_MCI_MAX_NR_SLOTS]; +}; +  #endif /* __ASM_AVR32_ATMEL_MCI_H */  | 
