mirror of
https://github.com/ShadauxCat/CATSFC.git
synced 2025-04-02 10:41:47 -04:00
56 lines
1.4 KiB
C
Executable file
56 lines
1.4 KiB
C
Executable file
#ifndef __MMC_API_H__
|
|
#define __MMC_API_H__
|
|
|
|
/* Error codes */
|
|
enum mmc_result_t {
|
|
MMC_NO_RESPONSE = -1,
|
|
MMC_NO_ERROR = 0,
|
|
MMC_ERROR_OUT_OF_RANGE,
|
|
MMC_ERROR_ADDRESS,
|
|
MMC_ERROR_BLOCK_LEN,
|
|
MMC_ERROR_ERASE_SEQ,
|
|
MMC_ERROR_ERASE_PARAM,
|
|
MMC_ERROR_WP_VIOLATION,
|
|
MMC_ERROR_CARD_IS_LOCKED,
|
|
MMC_ERROR_LOCK_UNLOCK_FAILED,
|
|
MMC_ERROR_COM_CRC,
|
|
MMC_ERROR_ILLEGAL_COMMAND,
|
|
MMC_ERROR_CARD_ECC_FAILED,
|
|
MMC_ERROR_CC,
|
|
MMC_ERROR_GENERAL,
|
|
MMC_ERROR_UNDERRUN,
|
|
MMC_ERROR_OVERRUN,
|
|
MMC_ERROR_CID_CSD_OVERWRITE,
|
|
MMC_ERROR_STATE_MISMATCH,
|
|
MMC_ERROR_HEADER_MISMATCH,
|
|
MMC_ERROR_TIMEOUT,
|
|
MMC_ERROR_CRC,
|
|
MMC_ERROR_DRIVER_FAILURE,
|
|
};
|
|
|
|
|
|
/* Get card's sectors*/
|
|
|
|
extern unsigned int MMC_GetSize(void);
|
|
|
|
|
|
/* initialize MMC/SD card */
|
|
extern int MMC_Initialize(void);
|
|
|
|
/* read a single block from MMC/SD card */
|
|
extern int MMC_ReadBlock(unsigned int blockaddr, unsigned char *recbuf);
|
|
|
|
/* read multi blocks from MMC/SD card */
|
|
extern int MMC_ReadMultiBlock(unsigned int blockaddr, unsigned int blocknum, unsigned char *recbuf);
|
|
|
|
/* write a block to MMC/SD card */
|
|
extern int MMC_WriteBlock(unsigned int blockaddr, unsigned char *recbuf);
|
|
|
|
/* write multi blocks to MMC/SD card */
|
|
extern int MMC_WriteMultiBlock(unsigned int blockaddr, unsigned int blocknum, unsigned char *recbuf);
|
|
|
|
/* detect MMC/SD card */
|
|
extern int MMC_DetectStatus(void);
|
|
|
|
#endif /* __MMC_API_H__ */
|
|
|