renesas_sdhi.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * Renesas Mobile SDHI
  3. *
  4. * Copyright (C) 2017 Horms Solutions Ltd., Simon Horman
  5. * Copyright (C) 2017 Renesas Electronics Corporation
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License version 2 as
  9. * published by the Free Software Foundation.
  10. */
  11. #ifndef RENESAS_SDHI_H
  12. #define RENESAS_SDHI_H
  13. #include <linux/platform_device.h>
  14. #include "tmio_mmc.h"
  15. struct renesas_sdhi_scc {
  16. unsigned long clk_rate; /* clock rate for SDR104 */
  17. u32 tap; /* sampling clock position for SDR104 */
  18. };
  19. struct renesas_sdhi_of_data {
  20. unsigned long tmio_flags;
  21. u32 tmio_ocr_mask;
  22. unsigned long capabilities;
  23. unsigned long capabilities2;
  24. enum dma_slave_buswidth dma_buswidth;
  25. dma_addr_t dma_rx_offset;
  26. unsigned int bus_shift;
  27. int scc_offset;
  28. struct renesas_sdhi_scc *taps;
  29. int taps_num;
  30. unsigned int max_blk_count;
  31. unsigned short max_segs;
  32. };
  33. int renesas_sdhi_probe(struct platform_device *pdev,
  34. const struct tmio_mmc_dma_ops *dma_ops);
  35. int renesas_sdhi_remove(struct platform_device *pdev);
  36. #endif