lin
2025-03-21 36aaa54056c4f4e150f6ee0636610d9a68470a08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
 * 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.
 */
 
struct mmc_card;
 
struct omap2_hsmmc_info {
   u8    mmc;        /* controller 1/2/3 */
   u32    caps;        /* 4/8 wires and any additional host
                * capabilities OR'd (ref. linux/mmc/host.h) */
   bool    transceiver;    /* MMC-2 option */
   bool    ext_clock;    /* use external pin for input clock */
   bool    cover_only;    /* No card detect - just cover switch */
   bool    nonremovable;    /* Nonremovable e.g. eMMC */
   bool    deferred;    /* mmc needs a deferred probe */
   int    gpio_cd;    /* or -EINVAL */
   int    gpio_wp;    /* or -EINVAL */
   char    *name;        /* or NULL for default */
   struct platform_device *pdev;    /* mmc controller instance */
   int    ocr_mask;    /* temporary HACK */
   /* Remux (pad configuration) when powering on/off */
   void (*remux)(struct device *dev, int power_on);
   /* init some special card */
   void (*init_card)(struct mmc_card *card);
};
 
#if IS_ENABLED(CONFIG_MMC_OMAP_HS)
 
void omap_hsmmc_init(struct omap2_hsmmc_info *);
void omap_hsmmc_late_init(struct omap2_hsmmc_info *);
 
#else
 
static inline void omap_hsmmc_init(struct omap2_hsmmc_info *info)
{
}
 
static inline void omap_hsmmc_late_init(struct omap2_hsmmc_info *info)
{
}
 
#endif