diff options
| author | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-12-13 10:57:07 -0500 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-19 19:00:56 -0500 |
| commit | 4d1a3a0dc551cfa7304ca46e014231500f3b81a6 (patch) | |
| tree | 6ff7bfe536c5335b4821a2100d898861284ae8b2 /include/linux/amba | |
| parent | 7d72a1d48af95211677ea83157945a8ef76b0751 (diff) | |
ARM: 7218/1: mmc: mmci: Provide option to configure bus signal direction
The ST Micro variant supports bus signal direction indication. A new
member in the variant struct is added for this.
Moreover the actual signal direction configuration is board specific,
thus the amba mmci platform data is extended with a new member to be
able provide mmci with these specific board configurations.
This patch is based upon a patch from Sebastian Rasmussen.
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sebastian Rasmussen <sebastian.rasmussen@stericsson.com>
Signed-off-by: Ulf Hansson <ulf.hansson@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/linux/amba')
| -rw-r--r-- | include/linux/amba/mmci.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/amba/mmci.h b/include/linux/amba/mmci.h index 0101e9c17fa1..b51bf5fa85f8 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 | ||
| @@ -31,6 +44,8 @@ struct dma_chan; | |||
| 31 | * @capabilities: the capabilities of the block as implemented in | 44 | * @capabilities: the capabilities of the block as implemented in |
| 32 | * this platform, signify anything MMC_CAP_* from mmc/host.h | 45 | * this platform, signify anything MMC_CAP_* from mmc/host.h |
| 33 | * @capabilities2: more capabilities, MMC_CAP2_* from mmc/host.h | 46 | * @capabilities2: more capabilities, MMC_CAP2_* from mmc/host.h |
| 47 | * @sigdir: a bit field indicating for what bits in the MMC bus the host | ||
| 48 | * should enable signal direction indication. | ||
| 34 | * @dma_filter: function used to select an appropriate RX and TX | 49 | * @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 | 50 | * DMA channel to be used for DMA, if and only if you're deploying the |
| 36 | * generic DMA engine | 51 | * generic DMA engine |
| @@ -54,6 +69,7 @@ struct mmci_platform_data { | |||
| 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; |
