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