mmc_private.h 1003 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. #ifndef CONFIG_SPL_BUILD
  17. extern unsigned long mmc_berase(int dev_num, lbaint_t start, lbaint_t blkcnt);
  18. extern ulong mmc_bwrite(int dev_num, lbaint_t start, lbaint_t blkcnt,
  19. const void *src);
  20. #else /* CONFIG_SPL_BUILD */
  21. /* SPL will never write or erase, declare dummies to reduce code size. */
  22. static inline unsigned long mmc_berase(int dev_num, lbaint_t start,
  23. lbaint_t blkcnt)
  24. {
  25. return 0;
  26. }
  27. static inline ulong mmc_bwrite(int dev_num, lbaint_t start, lbaint_t blkcnt,
  28. const void *src)
  29. {
  30. return 0;
  31. }
  32. #endif /* CONFIG_SPL_BUILD */
  33. #endif /* _MMC_PRIVATE_H_ */