diff options
Diffstat (limited to 'include/linux/mfd/tmio.h')
-rw-r--r-- | include/linux/mfd/tmio.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/linux/mfd/tmio.h b/include/linux/mfd/tmio.h index 8f6f2e91e7ae..57388171610d 100644 --- a/include/linux/mfd/tmio.h +++ b/include/linux/mfd/tmio.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #include <linux/fb.h> | 5 | #include <linux/fb.h> |
6 | #include <linux/io.h> | 6 | #include <linux/io.h> |
7 | #include <linux/jiffies.h> | 7 | #include <linux/jiffies.h> |
8 | #include <linux/mmc/card.h> | ||
8 | #include <linux/platform_device.h> | 9 | #include <linux/platform_device.h> |
9 | #include <linux/pm_runtime.h> | 10 | #include <linux/pm_runtime.h> |
10 | 11 | ||
@@ -83,6 +84,27 @@ | |||
83 | */ | 84 | */ |
84 | #define TMIO_MMC_HAVE_HIGH_REG (1 << 6) | 85 | #define TMIO_MMC_HAVE_HIGH_REG (1 << 6) |
85 | 86 | ||
87 | /* | ||
88 | * Some controllers have CMD12 automatically | ||
89 | * issue/non-issue register | ||
90 | */ | ||
91 | #define TMIO_MMC_HAVE_CMD12_CTRL (1 << 7) | ||
92 | |||
93 | /* | ||
94 | * Some controllers needs to set 1 on SDIO status reserved bits | ||
95 | */ | ||
96 | #define TMIO_MMC_SDIO_STATUS_QUIRK (1 << 8) | ||
97 | |||
98 | /* | ||
99 | * Some controllers have DMA enable/disable register | ||
100 | */ | ||
101 | #define TMIO_MMC_HAVE_CTL_DMA_REG (1 << 9) | ||
102 | |||
103 | /* | ||
104 | * Some controllers allows to set SDx actual clock | ||
105 | */ | ||
106 | #define TMIO_MMC_CLK_ACTUAL (1 << 10) | ||
107 | |||
86 | int tmio_core_mmc_enable(void __iomem *cnf, int shift, unsigned long base); | 108 | int tmio_core_mmc_enable(void __iomem *cnf, int shift, unsigned long base); |
87 | int tmio_core_mmc_resume(void __iomem *cnf, int shift, unsigned long base); | 109 | int tmio_core_mmc_resume(void __iomem *cnf, int shift, unsigned long base); |
88 | void tmio_core_mmc_pwr(void __iomem *cnf, int shift, int state); | 110 | void tmio_core_mmc_pwr(void __iomem *cnf, int shift, int state); |
@@ -96,6 +118,7 @@ struct tmio_mmc_dma { | |||
96 | int slave_id_tx; | 118 | int slave_id_tx; |
97 | int slave_id_rx; | 119 | int slave_id_rx; |
98 | int alignment_shift; | 120 | int alignment_shift; |
121 | dma_addr_t dma_rx_offset; | ||
99 | bool (*filter)(struct dma_chan *chan, void *arg); | 122 | bool (*filter)(struct dma_chan *chan, void *arg); |
100 | }; | 123 | }; |
101 | 124 | ||
@@ -120,6 +143,8 @@ struct tmio_mmc_data { | |||
120 | /* clock management callbacks */ | 143 | /* clock management callbacks */ |
121 | int (*clk_enable)(struct platform_device *pdev, unsigned int *f); | 144 | int (*clk_enable)(struct platform_device *pdev, unsigned int *f); |
122 | void (*clk_disable)(struct platform_device *pdev); | 145 | void (*clk_disable)(struct platform_device *pdev); |
146 | int (*multi_io_quirk)(struct mmc_card *card, | ||
147 | unsigned int direction, int blk_size); | ||
123 | }; | 148 | }; |
124 | 149 | ||
125 | /* | 150 | /* |