mmc-mxcmmc.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef ASMARM_ARCH_MMC_H
  2. #define ASMARM_ARCH_MMC_H
  3. #include <linux/mmc/host.h>
  4. struct device;
  5. /* board specific SDHC data, optional.
  6. * If not present, a writable card with 3,3V is assumed.
  7. */
  8. struct imxmmc_platform_data {
  9. /* Return values for the get_ro callback should be:
  10. * 0 for a read/write card
  11. * 1 for a read-only card
  12. * -ENOSYS when not supported (equal to NULL callback)
  13. * or a negative errno value when something bad happened
  14. */
  15. int (*get_ro)(struct device *);
  16. /* board specific hook to (de)initialize the SD slot.
  17. * The board code can call 'handler' on a card detection
  18. * change giving data as argument.
  19. */
  20. int (*init)(struct device *dev, irq_handler_t handler, void *data);
  21. void (*exit)(struct device *dev, void *data);
  22. /* available voltages. If not given, assume
  23. * MMC_VDD_32_33 | MMC_VDD_33_34
  24. */
  25. unsigned int ocr_avail;
  26. /* adjust slot voltage */
  27. void (*setpower)(struct device *, unsigned int vdd);
  28. /* enable card detect using DAT3 */
  29. int dat3_card_detect;
  30. };
  31. #endif