blob: ffcd9e3a6a7e81578f22624d839278c4906f3a99 [file] [log] [blame]
Pavel Machek3989d172009-12-08 11:11:36 -08001/*
2 * arch/arm/include/asm/mach/mmc.h
3 */
4#ifndef ASMARM_MACH_MMC_H
5#define ASMARM_MACH_MMC_H
6
7#include <linux/mmc/host.h>
8#include <linux/mmc/card.h>
9#include <linux/mmc/sdio_func.h>
10
Sahitya Tummala7a892482011-01-18 11:22:49 +053011struct msm_mmc_gpio {
12 unsigned no;
13 const char *name;
14};
15
16struct msm_mmc_gpio_data {
17 struct msm_mmc_gpio *gpio;
18 u8 size;
19};
20
Sahitya Tummalab5d643d2010-07-29 16:55:34 +053021struct msm_mmc_platform_data {
Pavel Machek3989d172009-12-08 11:11:36 -080022 unsigned int ocr_mask; /* available voltages */
23 u32 (*translate_vdd)(struct device *, unsigned int);
24 unsigned int (*status)(struct device *);
Pavel Machek3989d172009-12-08 11:11:36 -080025 int (*register_status_notify)(void (*callback)(int card_present, void *dev_id), void *dev_id);
Sahitya Tummala7a892482011-01-18 11:22:49 +053026 struct msm_mmc_gpio_data *gpio_data;
Alexander Tarasikove91957e2011-08-21 15:52:44 +040027 void (*init_card)(struct mmc_card *card);
Pavel Machek3989d172009-12-08 11:11:36 -080028};
29
30#endif