xref: /rk3399_rockchip-uboot/include/mmc.h (revision 341188b9ccaa8d4462d772cc067aca8d7618633a)
171f95118Swdenk /*
271f95118Swdenk  * (C) Copyright 2000-2003
371f95118Swdenk  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
471f95118Swdenk  *
571f95118Swdenk  * See file CREDITS for list of people who contributed to this
671f95118Swdenk  * project.
771f95118Swdenk  *
871f95118Swdenk  * This program is free software; you can redistribute it and/or
971f95118Swdenk  * modify it under the terms of the GNU General Public License as
1071f95118Swdenk  * published by the Free Software Foundation; either version 2 of
1171f95118Swdenk  * the License, or (at your option) any later version.
1271f95118Swdenk  *
1371f95118Swdenk  * This program is distributed in the hope that it will be useful,
1471f95118Swdenk  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1571f95118Swdenk  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1671f95118Swdenk  * GNU General Public License for more details.
1771f95118Swdenk  *
1871f95118Swdenk  * You should have received a copy of the GNU General Public License
1971f95118Swdenk  * along with this program; if not, write to the Free Software
2071f95118Swdenk  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
2171f95118Swdenk  * MA 02111-1307 USA
2271f95118Swdenk  */
2371f95118Swdenk 
2471f95118Swdenk #ifndef _MMC_H_
2571f95118Swdenk #define _MMC_H_
2671f95118Swdenk #include <asm/arch/mmc.h>
2771f95118Swdenk 
28*341188b9SHaavard Skinnemoen /* MMC command numbers */
29*341188b9SHaavard Skinnemoen #define MMC_CMD_GO_IDLE_STATE		0
30*341188b9SHaavard Skinnemoen #define MMC_CMD_SEND_OP_COND		1
31*341188b9SHaavard Skinnemoen #define MMC_CMD_ALL_SEND_CID		2
32*341188b9SHaavard Skinnemoen #define MMC_CMD_SET_RELATIVE_ADDR	3
33*341188b9SHaavard Skinnemoen #define MMC_CMD_SET_DSR			4
34*341188b9SHaavard Skinnemoen #define MMC_CMD_SELECT_CARD		7
35*341188b9SHaavard Skinnemoen #define MMC_CMD_SEND_CSD		9
36*341188b9SHaavard Skinnemoen #define MMC_CMD_SEND_CID		10
37*341188b9SHaavard Skinnemoen #define MMC_CMD_SEND_STATUS		13
38*341188b9SHaavard Skinnemoen #define MMC_CMD_SET_BLOCKLEN		16
39*341188b9SHaavard Skinnemoen #define MMC_CMD_READ_SINGLE_BLOCK	17
40*341188b9SHaavard Skinnemoen #define MMC_CMD_READ_MULTIPLE_BLOCK	18
41*341188b9SHaavard Skinnemoen #define MMC_CMD_WRITE_BLOCK		24
42*341188b9SHaavard Skinnemoen #define MMC_CMD_APP_CMD			55
43*341188b9SHaavard Skinnemoen 
44*341188b9SHaavard Skinnemoen /* SD Card command numbers */
45*341188b9SHaavard Skinnemoen #define SD_CMD_SEND_RELATIVE_ADDR	3
46*341188b9SHaavard Skinnemoen #define SD_CMD_SWITCH			6
47*341188b9SHaavard Skinnemoen #define SD_CMD_SEND_IF_COND		8
48*341188b9SHaavard Skinnemoen 
49*341188b9SHaavard Skinnemoen #define SD_CMD_APP_SET_BUS_WIDTH	6
50*341188b9SHaavard Skinnemoen #define SD_CMD_APP_SEND_OP_COND		41
51*341188b9SHaavard Skinnemoen 
5271f95118Swdenk int mmc_init(int verbose);
5371f95118Swdenk int mmc_read(ulong src, uchar *dst, int size);
5471f95118Swdenk int mmc_write(uchar *src, ulong dst, int size);
5571f95118Swdenk int mmc2info(ulong addr);
5671f95118Swdenk 
5771f95118Swdenk #endif /* _MMC_H_ */
58