sh_mobile_sdhi.h 900 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef LINUX_MMC_SH_MOBILE_SDHI_H
  2. #define LINUX_MMC_SH_MOBILE_SDHI_H
  3. #include <linux/types.h>
  4. struct platform_device;
  5. #define SH_MOBILE_SDHI_IRQ_CARD_DETECT "card_detect"
  6. #define SH_MOBILE_SDHI_IRQ_SDCARD "sdcard"
  7. #define SH_MOBILE_SDHI_IRQ_SDIO "sdio"
  8. /**
  9. * struct sh_mobile_sdhi_ops - SDHI driver callbacks
  10. * @cd_wakeup: trigger a card-detection run
  11. */
  12. struct sh_mobile_sdhi_ops {
  13. void (*cd_wakeup)(const struct platform_device *pdev);
  14. };
  15. struct sh_mobile_sdhi_info {
  16. int dma_slave_tx;
  17. int dma_slave_rx;
  18. unsigned long tmio_flags;
  19. unsigned long tmio_caps;
  20. unsigned long tmio_caps2;
  21. u32 tmio_ocr_mask; /* available MMC voltages */
  22. unsigned int cd_gpio;
  23. /* callbacks for board specific setup code */
  24. int (*init)(struct platform_device *pdev,
  25. const struct sh_mobile_sdhi_ops *ops);
  26. void (*cleanup)(struct platform_device *pdev);
  27. };
  28. #endif /* LINUX_MMC_SH_MOBILE_SDHI_H */