mmc.h 667 B

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * Board-specific MMC configuration
  3. */
  4. #ifndef _DAVINCI_MMC_H
  5. #define _DAVINCI_MMC_H
  6. #include <linux/types.h>
  7. #include <linux/mmc/host.h>
  8. struct davinci_mmc_config {
  9. /* get_cd()/get_wp() may sleep */
  10. int (*get_cd)(int module);
  11. int (*get_ro)(int module);
  12. /* wires == 0 is equivalent to wires == 4 (4-bit parallel) */
  13. u8 wires;
  14. u32 max_freq;
  15. /* any additional host capabilities: OR'd in to mmc->f_caps */
  16. u32 caps;
  17. /* Version of the MMC/SD controller */
  18. u8 version;
  19. };
  20. void davinci_setup_mmc(int module, struct davinci_mmc_config *config);
  21. enum {
  22. MMC_CTLR_VERSION_1 = 0, /* DM644x and DM355 */
  23. MMC_CTLR_VERSION_2, /* DA830 */
  24. };
  25. #endif