2011-05-28 04:04:03 +08:00
|
|
|
#ifndef LINUX_MMC_SH_MOBILE_SDHI_H
|
|
|
|
#define LINUX_MMC_SH_MOBILE_SDHI_H
|
2011-03-14 16:52:33 +08:00
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
|
2011-05-12 00:51:15 +08:00
|
|
|
struct platform_device;
|
|
|
|
struct tmio_mmc_data;
|
|
|
|
|
2011-08-26 16:42:39 +08:00
|
|
|
#define SH_MOBILE_SDHI_IRQ_CARD_DETECT "card_detect"
|
|
|
|
#define SH_MOBILE_SDHI_IRQ_SDCARD "sdcard"
|
|
|
|
#define SH_MOBILE_SDHI_IRQ_SDIO "sdio"
|
|
|
|
|
2012-03-09 17:16:00 +08:00
|
|
|
/**
|
|
|
|
* struct sh_mobile_sdhi_ops - SDHI driver callbacks
|
|
|
|
* @cd_wakeup: trigger a card-detection run
|
|
|
|
*/
|
|
|
|
struct sh_mobile_sdhi_ops {
|
|
|
|
void (*cd_wakeup)(const struct platform_device *pdev);
|
|
|
|
};
|
|
|
|
|
2011-03-14 16:52:33 +08:00
|
|
|
struct sh_mobile_sdhi_info {
|
|
|
|
int dma_slave_tx;
|
|
|
|
int dma_slave_rx;
|
|
|
|
unsigned long tmio_flags;
|
|
|
|
unsigned long tmio_caps;
|
2012-05-23 17:05:33 +08:00
|
|
|
unsigned long tmio_caps2;
|
2011-03-14 16:52:33 +08:00
|
|
|
u32 tmio_ocr_mask; /* available MMC voltages */
|
2012-02-10 05:57:10 +08:00
|
|
|
unsigned int cd_gpio;
|
2011-05-12 00:51:15 +08:00
|
|
|
struct tmio_mmc_data *pdata;
|
2011-03-14 16:52:33 +08:00
|
|
|
void (*set_pwr)(struct platform_device *pdev, int state);
|
|
|
|
int (*get_cd)(struct platform_device *pdev);
|
2012-03-17 00:19:29 +08:00
|
|
|
|
|
|
|
/* callbacks for board specific setup code */
|
2012-03-09 17:16:00 +08:00
|
|
|
int (*init)(struct platform_device *pdev,
|
|
|
|
const struct sh_mobile_sdhi_ops *ops);
|
2012-03-17 00:19:29 +08:00
|
|
|
void (*cleanup)(struct platform_device *pdev);
|
2011-03-14 16:52:33 +08:00
|
|
|
};
|
|
|
|
|
2011-05-28 04:04:03 +08:00
|
|
|
#endif /* LINUX_MMC_SH_MOBILE_SDHI_H */
|