| 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 |