home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / avr32 / include / asm / atmel-mci.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.1 KB  |  40 lines

  1. #ifndef __ASM_AVR32_ATMEL_MCI_H
  2. #define __ASM_AVR32_ATMEL_MCI_H
  3.  
  4. #define ATMEL_MCI_MAX_NR_SLOTS    2
  5.  
  6. struct dma_slave;
  7.  
  8. /**
  9.  * struct mci_slot_pdata - board-specific per-slot configuration
  10.  * @bus_width: Number of data lines wired up the slot
  11.  * @detect_pin: GPIO pin wired to the card detect switch
  12.  * @wp_pin: GPIO pin wired to the write protect sensor
  13.  *
  14.  * If a given slot is not present on the board, @bus_width should be
  15.  * set to 0. The other fields are ignored in this case.
  16.  *
  17.  * Any pins that aren't available should be set to a negative value.
  18.  *
  19.  * Note that support for multiple slots is experimental -- some cards
  20.  * might get upset if we don't get the clock management exactly right.
  21.  * But in most cases, it should work just fine.
  22.  */
  23. struct mci_slot_pdata {
  24.     unsigned int        bus_width;
  25.     int            detect_pin;
  26.     int            wp_pin;
  27. };
  28.  
  29. /**
  30.  * struct mci_platform_data - board-specific MMC/SDcard configuration
  31.  * @dma_slave: DMA slave interface to use in data transfers, or NULL.
  32.  * @slot: Per-slot configuration data.
  33.  */
  34. struct mci_platform_data {
  35.     struct dma_slave    *dma_slave;
  36.     struct mci_slot_pdata    slot[ATMEL_MCI_MAX_NR_SLOTS];
  37. };
  38.  
  39. #endif /* __ASM_AVR32_ATMEL_MCI_H */
  40.