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