root/include/linux/atmel-mci.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */