hsmmc.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. struct mmc_card;
  9. struct omap2_hsmmc_info {
  10. u8 mmc; /* controller 1/2/3 */
  11. u8 wires; /* 1/4/8 wires */
  12. bool transceiver; /* MMC-2 option */
  13. bool ext_clock; /* use external pin for input clock */
  14. bool cover_only; /* No card detect - just cover switch */
  15. bool nonremovable; /* Nonremovable e.g. eMMC */
  16. bool power_saving; /* Try to sleep or power off when possible */
  17. bool no_off; /* power_saving and power is not to go off */
  18. bool vcc_aux_disable_is_sleep; /* Regulator off remapped to sleep */
  19. int gpio_cd; /* or -EINVAL */
  20. int gpio_wp; /* or -EINVAL */
  21. char *name; /* or NULL for default */
  22. struct device *dev; /* returned: pointer to mmc adapter */
  23. int ocr_mask; /* temporary HACK */
  24. /* Remux (pad configuation) when powering on/off */
  25. void (*remux)(struct device *dev, int slot, int power_on);
  26. /* init some special card */
  27. void (*init_card)(struct mmc_card *card);
  28. };
  29. #if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
  30. void omap2_hsmmc_init(struct omap2_hsmmc_info *);
  31. #else
  32. static inline void omap2_hsmmc_init(struct omap2_hsmmc_info *info)
  33. {
  34. }
  35. #endif