2008-12-11 04:37:17 +03:00
/*
* MMC definitions for OMAP2
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*/
2010-08-11 05:01:52 +04:00
struct mmc_card ;
2010-02-15 21:03:34 +03:00
struct omap2_hsmmc_info {
2008-12-11 04:37:17 +03:00
u8 mmc ; /* controller 1/2/3 */
2010-09-15 18:49:23 +04:00
u32 caps ; /* 4/8 wires and any additional host
* capabilities OR ' d ( ref . linux / mmc / host . h ) */
2009-03-24 04:23:47 +03:00
bool transceiver ; /* MMC-2 option */
bool ext_clock ; /* use external pin for input clock */
2009-03-24 04:23:48 +03:00
bool cover_only ; /* No card detect - just cover switch */
2009-09-23 03:44:48 +04:00
bool nonremovable ; /* Nonremovable e.g. eMMC */
2012-02-20 21:43:29 +04:00
bool deferred ; /* mmc needs a deferred probe */
2008-12-11 04:37:17 +03:00
int gpio_cd ; /* or -EINVAL */
int gpio_wp ; /* or -EINVAL */
2009-03-24 04:23:48 +03:00
char * name ; /* or NULL for default */
2012-02-20 21:43:29 +04:00
struct platform_device * pdev ; /* mmc controller instance */
2009-05-29 01:04:03 +04:00
int ocr_mask ; /* temporary HACK */
2010-09-23 13:46:48 +04:00
/* Remux (pad configuration) when powering on/off */
2014-11-08 17:33:17 +03:00
void ( * remux ) ( struct device * dev , int power_on ) ;
2010-08-11 05:01:52 +04:00
/* init some special card */
void ( * init_card ) ( struct mmc_card * card ) ;
2008-12-11 04:37:17 +03:00
} ;
2010-02-15 21:03:34 +03:00
# if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
2008-12-11 04:37:17 +03:00
2012-02-20 21:43:29 +04:00
void omap_hsmmc_init ( struct omap2_hsmmc_info * ) ;
void omap_hsmmc_late_init ( struct omap2_hsmmc_info * ) ;
2008-12-11 04:37:17 +03:00
# else
2012-02-20 21:43:29 +04:00
static inline void omap_hsmmc_init ( struct omap2_hsmmc_info * info )
{
}
static inline void omap_hsmmc_late_init ( struct omap2_hsmmc_info * info )
2008-12-11 04:37:17 +03:00
{
}
# endif