mmc_private.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Copyright 2008,2010 Freescale Semiconductor, Inc
  3. * Andy Fleming
  4. *
  5. * Based (loosely) on the Linux code
  6. *
  7. * SPDX-License-Identifier: GPL-2.0+
  8. */
  9. #ifndef _MMC_PRIVATE_H_
  10. #define _MMC_PRIVATE_H_
  11. #include <mmc.h>
  12. extern int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
  13. struct mmc_data *data);
  14. extern int mmc_send_status(struct mmc *mmc, int timeout);
  15. extern int mmc_set_blocklen(struct mmc *mmc, int len);
  16. #ifdef CONFIG_FSL_ESDHC_ADAPTER_IDENT
  17. void mmc_adapter_card_type_ident(void);
  18. #endif
  19. #ifndef CONFIG_SPL_BUILD
  20. unsigned long mmc_berase(block_dev_desc_t *block_dev, lbaint_t start,
  21. lbaint_t blkcnt);
  22. unsigned long mmc_bwrite(block_dev_desc_t *block_dev, lbaint_t start,
  23. lbaint_t blkcnt, const void *src);
  24. #else /* CONFIG_SPL_BUILD */
  25. /* SPL will never write or erase, declare dummies to reduce code size. */
  26. static inline unsigned long mmc_berase(block_dev_desc_t *block_dev,
  27. lbaint_t start, lbaint_t blkcnt)
  28. {
  29. return 0;
  30. }
  31. static inline ulong mmc_bwrite(block_dev_desc_t *block_dev, lbaint_t start,
  32. lbaint_t blkcnt, const void *src)
  33. {
  34. return 0;
  35. }
  36. #endif /* CONFIG_SPL_BUILD */
  37. #endif /* _MMC_PRIVATE_H_ */