blob: af9af5094ec33811e0fa5fba562e87a51e7568ff [file] [log] [blame]
Tony Lindgren90c62bf2008-12-10 17:37:17 -08001/*
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 Ignotased199f72010-08-10 18:01:52 -07009struct mmc_card;
10
Adrian Hunter68ff0422010-02-15 10:03:34 -080011struct omap2_hsmmc_info {
Tony Lindgren90c62bf2008-12-10 17:37:17 -080012 u8 mmc; /* controller 1/2/3 */
Sukumar Ghorai3a638332010-09-15 14:49:23 +000013 u32 caps; /* 4/8 wires and any additional host
14 * capabilities OR'd (ref. linux/mmc/host.h) */
Tony Lindgren90c62bf2008-12-10 17:37:17 -080015 int gpio_cd; /* or -EINVAL */
16 int gpio_wp; /* or -EINVAL */
Tony Lindgren3b972bf2012-02-20 09:43:29 -080017 struct platform_device *pdev; /* mmc controller instance */
Grazvydas Ignotased199f72010-08-10 18:01:52 -070018 /* init some special card */
19 void (*init_card)(struct mmc_card *card);
Tony Lindgren90c62bf2008-12-10 17:37:17 -080020};
21
Javier Martinez Canillas502ad2a2016-08-11 15:29:45 -040022#if IS_ENABLED(CONFIG_MMC_OMAP_HS)
Tony Lindgren90c62bf2008-12-10 17:37:17 -080023
Tony Lindgren3b972bf2012-02-20 09:43:29 -080024void omap_hsmmc_init(struct omap2_hsmmc_info *);
25void omap_hsmmc_late_init(struct omap2_hsmmc_info *);
Tony Lindgren90c62bf2008-12-10 17:37:17 -080026
27#else
28
Tony Lindgren3b972bf2012-02-20 09:43:29 -080029static inline void omap_hsmmc_init(struct omap2_hsmmc_info *info)
30{
31}
32
33static inline void omap_hsmmc_late_init(struct omap2_hsmmc_info *info)
Tony Lindgren90c62bf2008-12-10 17:37:17 -080034{
35}
36
37#endif