diff options
Diffstat (limited to 'drivers/mmc/host/sdhci.h')
-rw-r--r-- | drivers/mmc/host/sdhci.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h index c8468134adc9..036cfae76368 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h | |||
@@ -72,6 +72,7 @@ | |||
72 | #define SDHCI_CTRL_ADMA1 0x08 | 72 | #define SDHCI_CTRL_ADMA1 0x08 |
73 | #define SDHCI_CTRL_ADMA32 0x10 | 73 | #define SDHCI_CTRL_ADMA32 0x10 |
74 | #define SDHCI_CTRL_ADMA64 0x18 | 74 | #define SDHCI_CTRL_ADMA64 0x18 |
75 | #define SDHCI_CTRL_8BITBUS 0x20 | ||
75 | 76 | ||
76 | #define SDHCI_POWER_CONTROL 0x29 | 77 | #define SDHCI_POWER_CONTROL 0x29 |
77 | #define SDHCI_POWER_ON 0x01 | 78 | #define SDHCI_POWER_ON 0x01 |
@@ -240,12 +241,18 @@ struct sdhci_host { | |||
240 | #define SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN (1<<25) | 241 | #define SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN (1<<25) |
241 | /* Controller cannot support End Attribute in NOP ADMA descriptor */ | 242 | /* Controller cannot support End Attribute in NOP ADMA descriptor */ |
242 | #define SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC (1<<26) | 243 | #define SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC (1<<26) |
244 | /* Controller is missing device caps. Use caps provided by host */ | ||
245 | #define SDHCI_QUIRK_MISSING_CAPS (1<<27) | ||
246 | /* Controller uses Auto CMD12 command to stop the transfer */ | ||
247 | #define SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 (1<<28) | ||
243 | 248 | ||
244 | int irq; /* Device IRQ */ | 249 | int irq; /* Device IRQ */ |
245 | void __iomem * ioaddr; /* Mapped address */ | 250 | void __iomem * ioaddr; /* Mapped address */ |
246 | 251 | ||
247 | const struct sdhci_ops *ops; /* Low level hw interface */ | 252 | const struct sdhci_ops *ops; /* Low level hw interface */ |
248 | 253 | ||
254 | struct regulator *vmmc; /* Power regulator */ | ||
255 | |||
249 | /* Internal data */ | 256 | /* Internal data */ |
250 | struct mmc_host *mmc; /* MMC structure */ | 257 | struct mmc_host *mmc; /* MMC structure */ |
251 | u64 dma_mask; /* custom DMA mask */ | 258 | u64 dma_mask; /* custom DMA mask */ |
@@ -292,6 +299,8 @@ struct sdhci_host { | |||
292 | 299 | ||
293 | struct timer_list timer; /* Timer for timeouts */ | 300 | struct timer_list timer; /* Timer for timeouts */ |
294 | 301 | ||
302 | unsigned int caps; /* Alternative capabilities */ | ||
303 | |||
295 | unsigned long private[0] ____cacheline_aligned; | 304 | unsigned long private[0] ____cacheline_aligned; |
296 | }; | 305 | }; |
297 | 306 | ||
@@ -407,6 +416,7 @@ static inline void *sdhci_priv(struct sdhci_host *host) | |||
407 | return (void *)host->private; | 416 | return (void *)host->private; |
408 | } | 417 | } |
409 | 418 | ||
419 | extern void sdhci_card_detect(struct sdhci_host *host); | ||
410 | extern int sdhci_add_host(struct sdhci_host *host); | 420 | extern int sdhci_add_host(struct sdhci_host *host); |
411 | extern void sdhci_remove_host(struct sdhci_host *host, int dead); | 421 | extern void sdhci_remove_host(struct sdhci_host *host, int dead); |
412 | 422 | ||