diff options
| author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-03-23 20:10:36 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-03-23 20:10:36 -0400 |
| commit | bba1594d348b59d6172e02bf74fba837c8273989 (patch) | |
| tree | 223e67a4ad043d4ec9361e89c59592ea60e7ddff /include/linux/amba | |
| parent | 9e5ed094c89e55fbf11d2e81d60be98eb12346c0 (diff) | |
| parent | 7437cfa532842ce75189826742bddf1ba137f58e (diff) | |
Merge branch 'mmci' into amba
Diffstat (limited to 'include/linux/amba')
| -rw-r--r-- | include/linux/amba/mmci.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/include/linux/amba/mmci.h b/include/linux/amba/mmci.h index 0101e9c17fa1..32a89cf5ec45 100644 --- a/include/linux/amba/mmci.h +++ b/include/linux/amba/mmci.h | |||
| @@ -6,6 +6,19 @@ | |||
| 6 | 6 | ||
| 7 | #include <linux/mmc/host.h> | 7 | #include <linux/mmc/host.h> |
| 8 | 8 | ||
| 9 | |||
| 10 | /* | ||
| 11 | * These defines is places here due to access is needed from machine | ||
| 12 | * configuration files. The ST Micro version does not have ROD and | ||
| 13 | * reuse the voltage registers for direction settings. | ||
| 14 | */ | ||
| 15 | #define MCI_ST_DATA2DIREN (1 << 2) | ||
| 16 | #define MCI_ST_CMDDIREN (1 << 3) | ||
| 17 | #define MCI_ST_DATA0DIREN (1 << 4) | ||
| 18 | #define MCI_ST_DATA31DIREN (1 << 5) | ||
| 19 | #define MCI_ST_FBCLKEN (1 << 7) | ||
| 20 | #define MCI_ST_DATA74DIREN (1 << 8) | ||
| 21 | |||
| 9 | /* Just some dummy forwarding */ | 22 | /* Just some dummy forwarding */ |
| 10 | struct dma_chan; | 23 | struct dma_chan; |
| 11 | 24 | ||
| @@ -18,7 +31,8 @@ struct dma_chan; | |||
| 18 | * @ocr_mask: available voltages on the 4 pins from the block, this | 31 | * @ocr_mask: available voltages on the 4 pins from the block, this |
| 19 | * is ignored if a regulator is used, see the MMC_VDD_* masks in | 32 | * is ignored if a regulator is used, see the MMC_VDD_* masks in |
| 20 | * mmc/host.h | 33 | * mmc/host.h |
| 21 | * @vdd_handler: a callback function to translate a MMC_VDD_* | 34 | * @ios_handler: a callback function to act on specfic ios changes, |
| 35 | * used for example to control a levelshifter | ||
| 22 | * mask into a value to be binary (or set some other custom bits | 36 | * mask into a value to be binary (or set some other custom bits |
| 23 | * in MMCIPWR) or:ed and written into the MMCIPWR register of the | 37 | * in MMCIPWR) or:ed and written into the MMCIPWR register of the |
| 24 | * block. May also control external power based on the power_mode. | 38 | * block. May also control external power based on the power_mode. |
| @@ -31,6 +45,8 @@ struct dma_chan; | |||
| 31 | * @capabilities: the capabilities of the block as implemented in | 45 | * @capabilities: the capabilities of the block as implemented in |
| 32 | * this platform, signify anything MMC_CAP_* from mmc/host.h | 46 | * this platform, signify anything MMC_CAP_* from mmc/host.h |
| 33 | * @capabilities2: more capabilities, MMC_CAP2_* from mmc/host.h | 47 | * @capabilities2: more capabilities, MMC_CAP2_* from mmc/host.h |
| 48 | * @sigdir: a bit field indicating for what bits in the MMC bus the host | ||
| 49 | * should enable signal direction indication. | ||
| 34 | * @dma_filter: function used to select an appropriate RX and TX | 50 | * @dma_filter: function used to select an appropriate RX and TX |
| 35 | * DMA channel to be used for DMA, if and only if you're deploying the | 51 | * DMA channel to be used for DMA, if and only if you're deploying the |
| 36 | * generic DMA engine | 52 | * generic DMA engine |
| @@ -46,14 +62,14 @@ struct dma_chan; | |||
| 46 | struct mmci_platform_data { | 62 | struct mmci_platform_data { |
| 47 | unsigned int f_max; | 63 | unsigned int f_max; |
| 48 | unsigned int ocr_mask; | 64 | unsigned int ocr_mask; |
| 49 | u32 (*vdd_handler)(struct device *, unsigned int vdd, | 65 | int (*ios_handler)(struct device *, struct mmc_ios *); |
| 50 | unsigned char power_mode); | ||
| 51 | unsigned int (*status)(struct device *); | 66 | unsigned int (*status)(struct device *); |
| 52 | int gpio_wp; | 67 | int gpio_wp; |
| 53 | int gpio_cd; | 68 | int gpio_cd; |
| 54 | bool cd_invert; | 69 | bool cd_invert; |
| 55 | unsigned long capabilities; | 70 | unsigned long capabilities; |
| 56 | unsigned long capabilities2; | 71 | unsigned long capabilities2; |
| 72 | u32 sigdir; | ||
| 57 | bool (*dma_filter)(struct dma_chan *chan, void *filter_param); | 73 | bool (*dma_filter)(struct dma_chan *chan, void *filter_param); |
| 58 | void *dma_rx_param; | 74 | void *dma_rx_param; |
| 59 | void *dma_tx_param; | 75 | void *dma_tx_param; |
