1 #ifndef ASMARM_ARCH_MMC_H 2 #define ASMARM_ARCH_MMC_H 3 4 #include <linux/mmc/host.h> 5 #include <linux/interrupt.h> 6 7 struct device; 8 struct mmc_host; 9 10 struct pxamci_platform_data { 11 unsigned int ocr_mask; /* available voltages */ 12 unsigned long detect_delay_ms; /* delay in millisecond before detecting cards after interrupt */ 13 int (*init)(struct device *, irq_handler_t , void *); 14 int (*get_ro)(struct device *); 15 void (*setpower)(struct device *, unsigned int); 16 void (*exit)(struct device *, void *); 17 int gpio_card_detect; /* gpio detecting card insertion */ 18 int gpio_card_ro; /* gpio detecting read only toggle */ 19 bool gpio_card_ro_invert; /* gpio ro is inverted */ 20 int gpio_power; /* gpio powering up MMC bus */ 21 bool gpio_power_invert; /* gpio power is inverted */ 22 }; 23 24 extern void pxa_set_mci_info(struct pxamci_platform_data *info); 25 extern void pxa3xx_set_mci2_info(struct pxamci_platform_data *info); 26 extern void pxa3xx_set_mci3_info(struct pxamci_platform_data *info); 27 28 #endif 29