1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef ASMARM_ARCH_MMC_H 3*4882a593Smuzhiyun #define ASMARM_ARCH_MMC_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/mmc/host.h> 6*4882a593Smuzhiyun #include <linux/interrupt.h> 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun struct device; 9*4882a593Smuzhiyun struct mmc_host; 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun struct pxamci_platform_data { 12*4882a593Smuzhiyun unsigned int ocr_mask; /* available voltages */ 13*4882a593Smuzhiyun unsigned long detect_delay_ms; /* delay in millisecond before detecting cards after interrupt */ 14*4882a593Smuzhiyun int (*init)(struct device *, irq_handler_t , void *); 15*4882a593Smuzhiyun int (*get_ro)(struct device *); 16*4882a593Smuzhiyun int (*setpower)(struct device *, unsigned int); 17*4882a593Smuzhiyun void (*exit)(struct device *, void *); 18*4882a593Smuzhiyun bool gpio_card_ro_invert; /* gpio ro is inverted */ 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun extern void pxa_set_mci_info(struct pxamci_platform_data *info); 22*4882a593Smuzhiyun extern void pxa3xx_set_mci2_info(struct pxamci_platform_data *info); 23*4882a593Smuzhiyun extern void pxa3xx_set_mci3_info(struct pxamci_platform_data *info); 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun #endif 26