blob: 5631b51cec465e78f90feec4cc52ae7a74d7b0be [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
11struct embedded_sdio_data {
12 struct sdio_cis cis;
13 struct sdio_cccr cccr;
14 struct sdio_embedded_func *funcs;
15 int num_funcs;
16};
17
Sahitya Tummala7a892482011-01-18 11:22:49 +053018struct msm_mmc_gpio {
19 unsigned no;
20 const char *name;
21};
22
23struct msm_mmc_gpio_data {
24 struct msm_mmc_gpio *gpio;
25 u8 size;
26};
27
Sahitya Tummalab5d643d2010-07-29 16:55:34 +053028struct msm_mmc_platform_data {
Pavel Machek3989d172009-12-08 11:11:36 -080029 unsigned int ocr_mask; /* available voltages */
30 u32 (*translate_vdd)(struct device *, unsigned int);
31 unsigned int (*status)(struct device *);
32 struct embedded_sdio_data *embedded_sdio;
33 int (*register_status_notify)(void (*callback)(int card_present, void *dev_id), void *dev_id);
Sahitya Tummala7a892482011-01-18 11:22:49 +053034 struct msm_mmc_gpio_data *gpio_data;
Pavel Machek3989d172009-12-08 11:11:36 -080035};
36
37#endif