| Tony Lindgren | 90c62bf | 2008-12-10 17:37:17 -0800 | [diff] [blame] | 1 | /* | 
|  | 2 | * MMC definitions for OMAP2 | 
|  | 3 | * | 
|  | 4 | * This program is free software; you can redistribute it and/or modify | 
|  | 5 | * it under the terms of the GNU General Public License version 2 as | 
|  | 6 | * published by the Free Software Foundation. | 
|  | 7 | */ | 
|  | 8 |  | 
| Grazvydas Ignotas | ed199f7 | 2010-08-10 18:01:52 -0700 | [diff] [blame] | 9 | struct mmc_card; | 
|  | 10 |  | 
| Adrian Hunter | 68ff042 | 2010-02-15 10:03:34 -0800 | [diff] [blame] | 11 | struct omap2_hsmmc_info { | 
| Tony Lindgren | 90c62bf | 2008-12-10 17:37:17 -0800 | [diff] [blame] | 12 | u8	mmc;		/* controller 1/2/3 */ | 
| Sukumar Ghorai | 3a63833 | 2010-09-15 14:49:23 +0000 | [diff] [blame] | 13 | u32	caps;		/* 4/8 wires and any additional host | 
|  | 14 | * capabilities OR'd (ref. linux/mmc/host.h) */ | 
| David Brownell | 0329c37 | 2009-03-23 18:23:47 -0700 | [diff] [blame] | 15 | bool	transceiver;	/* MMC-2 option */ | 
|  | 16 | bool	ext_clock;	/* use external pin for input clock */ | 
| Adrian Hunter | 8d75e98 | 2009-03-23 18:23:48 -0700 | [diff] [blame] | 17 | bool	cover_only;	/* No card detect - just cover switch */ | 
| Adrian Hunter | 23d99bb | 2009-09-22 16:44:48 -0700 | [diff] [blame] | 18 | bool	nonremovable;	/* Nonremovable e.g. eMMC */ | 
| Denis Karpov | dd498ef | 2009-09-22 16:44:49 -0700 | [diff] [blame] | 19 | bool	power_saving;	/* Try to sleep or power off when possible */ | 
| Adrian Hunter | 1df58db | 2010-02-15 10:03:34 -0800 | [diff] [blame] | 20 | bool	no_off;		/* power_saving and power is not to go off */ | 
| Balaji T K | b1c1df7 | 2011-05-30 19:55:34 +0530 | [diff] [blame] | 21 | bool	no_off_init;	/* no power off when not in MMC sleep state */ | 
| Adrian Hunter | e0eb242 | 2010-02-15 10:03:34 -0800 | [diff] [blame] | 22 | bool	vcc_aux_disable_is_sleep; /* Regulator off remapped to sleep */ | 
| Tony Lindgren | 90c62bf | 2008-12-10 17:37:17 -0800 | [diff] [blame] | 23 | int	gpio_cd;	/* or -EINVAL */ | 
|  | 24 | int	gpio_wp;	/* or -EINVAL */ | 
| Adrian Hunter | e51151a | 2009-03-23 18:23:48 -0700 | [diff] [blame] | 25 | char	*name;		/* or NULL for default */ | 
| David Brownell | 01971f6 | 2009-03-23 18:23:47 -0700 | [diff] [blame] | 26 | struct device *dev;	/* returned: pointer to mmc adapter */ | 
| David Brownell | b583f26 | 2009-05-28 14:04:03 -0700 | [diff] [blame] | 27 | int	ocr_mask;	/* temporary HACK */ | 
| Thomas Weber | 0b1974d | 2010-09-23 11:46:48 +0200 | [diff] [blame] | 28 | /* Remux (pad configuration) when powering on/off */ | 
| Adrian Hunter | ce6f001 | 2010-02-15 10:03:34 -0800 | [diff] [blame] | 29 | void (*remux)(struct device *dev, int slot, int power_on); | 
| Grazvydas Ignotas | ed199f7 | 2010-08-10 18:01:52 -0700 | [diff] [blame] | 30 | /* init some special card */ | 
|  | 31 | void (*init_card)(struct mmc_card *card); | 
| Tony Lindgren | 90c62bf | 2008-12-10 17:37:17 -0800 | [diff] [blame] | 32 | }; | 
|  | 33 |  | 
| Adrian Hunter | db0fefc | 2010-02-15 10:03:34 -0800 | [diff] [blame] | 34 | #if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE) | 
| Tony Lindgren | 90c62bf | 2008-12-10 17:37:17 -0800 | [diff] [blame] | 35 |  | 
| Adrian Hunter | 68ff042 | 2010-02-15 10:03:34 -0800 | [diff] [blame] | 36 | void omap2_hsmmc_init(struct omap2_hsmmc_info *); | 
| Tony Lindgren | 90c62bf | 2008-12-10 17:37:17 -0800 | [diff] [blame] | 37 |  | 
|  | 38 | #else | 
|  | 39 |  | 
| Adrian Hunter | 68ff042 | 2010-02-15 10:03:34 -0800 | [diff] [blame] | 40 | static inline void omap2_hsmmc_init(struct omap2_hsmmc_info *info) | 
| Tony Lindgren | 90c62bf | 2008-12-10 17:37:17 -0800 | [diff] [blame] | 41 | { | 
|  | 42 | } | 
|  | 43 |  | 
|  | 44 | #endif |