Blame view
include/linux/amba/mmci.h
2.28 KB
1da177e4c
|
1 |
/* |
6ef297f86
|
2 |
* include/linux/amba/mmci.h |
1da177e4c
|
3 |
*/ |
6ef297f86
|
4 5 |
#ifndef AMBA_MMCI_H #define AMBA_MMCI_H |
1da177e4c
|
6 |
|
f74d132ce
|
7 |
#include <linux/mmc/host.h> |
1da177e4c
|
8 |
|
c8ebae370
|
9 10 |
/* Just some dummy forwarding */ struct dma_chan; |
808d97ccb
|
11 12 13 14 15 16 17 18 19 |
/** * struct mmci_platform_data - platform configuration for the MMCI * (also known as PL180) block. * @f_max: the maximum operational frequency for this host in this * platform configuration. When this is specified it takes precedence * over the module parameter for the same frequency. * @ocr_mask: available voltages on the 4 pins from the block, this * is ignored if a regulator is used, see the MMC_VDD_* masks in * mmc/host.h |
bb8f563c8
|
20 21 22 23 |
* @vdd_handler: a callback function to translate a MMC_VDD_* * mask into a value to be binary (or set some other custom bits * in MMCIPWR) or:ed and written into the MMCIPWR register of the * block. May also control external power based on the power_mode. |
808d97ccb
|
24 25 26 27 28 |
* @status: if no GPIO read function was given to the block in * gpio_wp (below) this function will be called to determine * whether a card is present in the MMC slot or not * @gpio_wp: read this GPIO pin to see if the card is write protected * @gpio_cd: read this GPIO pin to detect card insertion |
297194458
|
29 |
* @cd_invert: true if the gpio_cd pin value is active low |
808d97ccb
|
30 31 |
* @capabilities: the capabilities of the block as implemented in * this platform, signify anything MMC_CAP_* from mmc/host.h |
25985edce
|
32 |
* @dma_filter: function used to select an appropriate RX and TX |
c8ebae370
|
33 34 35 |
* DMA channel to be used for DMA, if and only if you're deploying the * generic DMA engine * @dma_rx_param: parameter passed to the DMA allocation |
25985edce
|
36 |
* filter in order to select an appropriate RX channel. If |
c8ebae370
|
37 38 39 |
* there is a bidirectional RX+TX channel, then just specify * this and leave dma_tx_param set to NULL * @dma_tx_param: parameter passed to the DMA allocation |
25985edce
|
40 |
* filter in order to select an appropriate TX channel. If this |
c8ebae370
|
41 42 |
* is NULL the driver will attempt to use the RX channel as a * bidirectional channel |
808d97ccb
|
43 |
*/ |
6ef297f86
|
44 |
struct mmci_platform_data { |
808d97ccb
|
45 46 |
unsigned int f_max; unsigned int ocr_mask; |
bb8f563c8
|
47 48 |
u32 (*vdd_handler)(struct device *, unsigned int vdd, unsigned char power_mode); |
1da177e4c
|
49 |
unsigned int (*status)(struct device *); |
7fb2bbf4d
|
50 51 |
int gpio_wp; int gpio_cd; |
297194458
|
52 |
bool cd_invert; |
9e6c82cd3
|
53 |
unsigned long capabilities; |
c8ebae370
|
54 55 56 |
bool (*dma_filter)(struct dma_chan *chan, void *filter_param); void *dma_rx_param; void *dma_tx_param; |
1da177e4c
|
57 58 59 |
}; #endif |