1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * include/linux/amba/mmci.h 4 */ 5 #ifndef AMBA_MMCI_H 6 #define AMBA_MMCI_H 7 8 #include <linux/mmc/host.h> 9 10 /** 11 * struct mmci_platform_data - platform configuration for the MMCI 12 * (also known as PL180) block. 13 * @ocr_mask: available voltages on the 4 pins from the block, this 14 * is ignored if a regulator is used, see the MMC_VDD_* masks in 15 * mmc/host.h 16 * @ios_handler: a callback function to act on specfic ios changes, 17 * used for example to control a levelshifter 18 * mask into a value to be binary (or set some other custom bits 19 * in MMCIPWR) or:ed and written into the MMCIPWR register of the 20 * block. May also control external power based on the power_mode. 21 * @status: if no GPIO line was given to the block in this function will 22 * be called to determine whether a card is present in the MMC slot or not 23 */ 24 struct mmci_platform_data { 25 unsigned int ocr_mask; 26 int (*ios_handler)(struct device *, struct mmc_ios *); 27 unsigned int (*status)(struct device *); 28 }; 29 30 #endif 31