2008-12-10 17:37:17 -08: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-10 18:01:52 -07:00
struct mmc_card ;
2010-02-15 10:03:34 -08:00
struct omap2_hsmmc_info {
2008-12-10 17:37:17 -08:00
u8 mmc ; /* controller 1/2/3 */
2010-09-15 14:49:23 +00:00
u32 caps ; /* 4/8 wires and any additional host
* capabilities OR ' d ( ref . linux / mmc / host . h ) */
2009-03-23 18:23:47 -07:00
bool transceiver ; /* MMC-2 option */
bool ext_clock ; /* use external pin for input clock */
2009-03-23 18:23:48 -07:00
bool cover_only ; /* No card detect - just cover switch */
2009-09-22 16:44:48 -07:00
bool nonremovable ; /* Nonremovable e.g. eMMC */
2012-02-20 09:43:29 -08:00
bool deferred ; /* mmc needs a deferred probe */
2008-12-10 17:37:17 -08:00
int gpio_cd ; /* or -EINVAL */
int gpio_wp ; /* or -EINVAL */
2009-03-23 18:23:48 -07:00
char * name ; /* or NULL for default */
2012-02-20 09:43:29 -08:00
struct platform_device * pdev ; /* mmc controller instance */
2009-05-28 14:04:03 -07:00
int ocr_mask ; /* temporary HACK */
2010-09-23 11:46:48 +02:00
/* Remux (pad configuration) when powering on/off */
2014-11-08 15:33:17 +01:00
void ( * remux ) ( struct device * dev , int power_on ) ;
2010-08-10 18:01:52 -07:00
/* init some special card */
void ( * init_card ) ( struct mmc_card * card ) ;
2008-12-10 17:37:17 -08:00
} ;
2010-02-15 10:03:34 -08:00
# if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
2008-12-10 17:37:17 -08:00
2012-02-20 09:43:29 -08:00
void omap_hsmmc_init ( struct omap2_hsmmc_info * ) ;
void omap_hsmmc_late_init ( struct omap2_hsmmc_info * ) ;
2008-12-10 17:37:17 -08:00
# else
2012-02-20 09:43:29 -08: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-10 17:37:17 -08:00
{
}
# endif