diff options
Diffstat (limited to 'include/linux/mmc/dw_mmc.h')
-rw-r--r-- | include/linux/mmc/dw_mmc.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h index 16b0261763ed..bdd7ceeb99e4 100644 --- a/include/linux/mmc/dw_mmc.h +++ b/include/linux/mmc/dw_mmc.h | |||
@@ -98,7 +98,7 @@ struct mmc_data; | |||
98 | * EVENT_DATA_COMPLETE is set in @pending_events, all data-related | 98 | * EVENT_DATA_COMPLETE is set in @pending_events, all data-related |
99 | * interrupts must be disabled and @data_status updated with a | 99 | * interrupts must be disabled and @data_status updated with a |
100 | * snapshot of SR. Similarly, before EVENT_CMD_COMPLETE is set, the | 100 | * snapshot of SR. Similarly, before EVENT_CMD_COMPLETE is set, the |
101 | * CMDRDY interupt must be disabled and @cmd_status updated with a | 101 | * CMDRDY interrupt must be disabled and @cmd_status updated with a |
102 | * snapshot of SR, and before EVENT_XFER_COMPLETE can be set, the | 102 | * snapshot of SR, and before EVENT_XFER_COMPLETE can be set, the |
103 | * bytes_xfered field of @data must be written. This is ensured by | 103 | * bytes_xfered field of @data must be written. This is ensured by |
104 | * using barriers. | 104 | * using barriers. |
@@ -140,6 +140,7 @@ struct dw_mci { | |||
140 | u32 bus_hz; | 140 | u32 bus_hz; |
141 | u32 current_speed; | 141 | u32 current_speed; |
142 | u32 num_slots; | 142 | u32 num_slots; |
143 | u32 fifoth_val; | ||
143 | struct platform_device *pdev; | 144 | struct platform_device *pdev; |
144 | struct dw_mci_board *pdata; | 145 | struct dw_mci_board *pdata; |
145 | struct dw_mci_slot *slot[MAX_MCI_SLOTS]; | 146 | struct dw_mci_slot *slot[MAX_MCI_SLOTS]; |
@@ -151,6 +152,8 @@ struct dw_mci { | |||
151 | 152 | ||
152 | /* Workaround flags */ | 153 | /* Workaround flags */ |
153 | u32 quirks; | 154 | u32 quirks; |
155 | |||
156 | struct regulator *vmmc; /* Power regulator */ | ||
154 | }; | 157 | }; |
155 | 158 | ||
156 | /* DMA ops for Internal/External DMAC interface */ | 159 | /* DMA ops for Internal/External DMAC interface */ |
@@ -165,14 +168,14 @@ struct dw_mci_dma_ops { | |||
165 | }; | 168 | }; |
166 | 169 | ||
167 | /* IP Quirks/flags. */ | 170 | /* IP Quirks/flags. */ |
168 | /* No special quirks or flags to cater for */ | ||
169 | #define DW_MCI_QUIRK_NONE 0 | ||
170 | /* DTO fix for command transmission with IDMAC configured */ | 171 | /* DTO fix for command transmission with IDMAC configured */ |
171 | #define DW_MCI_QUIRK_IDMAC_DTO 1 | 172 | #define DW_MCI_QUIRK_IDMAC_DTO BIT(0) |
172 | /* delay needed between retries on some 2.11a implementations */ | 173 | /* delay needed between retries on some 2.11a implementations */ |
173 | #define DW_MCI_QUIRK_RETRY_DELAY 2 | 174 | #define DW_MCI_QUIRK_RETRY_DELAY BIT(1) |
174 | /* High Speed Capable - Supports HS cards (upto 50MHz) */ | 175 | /* High Speed Capable - Supports HS cards (up to 50MHz) */ |
175 | #define DW_MCI_QUIRK_HIGHSPEED 4 | 176 | #define DW_MCI_QUIRK_HIGHSPEED BIT(2) |
177 | /* Unreliable card detection */ | ||
178 | #define DW_MCI_QUIRK_BROKEN_CARD_DETECTION BIT(3) | ||
176 | 179 | ||
177 | 180 | ||
178 | struct dma_pdata; | 181 | struct dma_pdata; |
@@ -192,6 +195,8 @@ struct dw_mci_board { | |||
192 | u32 quirks; /* Workaround / Quirk flags */ | 195 | u32 quirks; /* Workaround / Quirk flags */ |
193 | unsigned int bus_hz; /* Bus speed */ | 196 | unsigned int bus_hz; /* Bus speed */ |
194 | 197 | ||
198 | unsigned int caps; /* Capabilities */ | ||
199 | |||
195 | /* delay in mS before detecting cards after interrupt */ | 200 | /* delay in mS before detecting cards after interrupt */ |
196 | u32 detect_delay_ms; | 201 | u32 detect_delay_ms; |
197 | 202 | ||