hsmmc.h 1.2 KB

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