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