MMCSD LLD Driver API/interface file.
Go to the source code of this file.
Data Structures | |
struct | MMCSD_EmmcDeviceData |
eMMC device properties More... | |
struct | MMCSD_SdDeviceData |
SD device properties. More... | |
struct | MMCSDLLD_Transaction |
MMCSD LLD Transaction. More... | |
struct | MMCSDLLD_InitObject |
MMCSD Driver Initialization Object. More... | |
struct | MMCSDLLD_Object |
MMCSD Driver Object. More... | |
Macros | |
Return status | |
#define | MMCSD_STS_SUCCESS ((int32_t) 0) |
Return status when the API execution was successful. More... | |
#define | MMCSD_STS_ERR ((int32_t)-1) |
Return status when the API execution was not successful due to a generic Error. More... | |
#define | MMCSD_STS_ERR_TIMEOUT ((int32_t)-2) |
Return status when the API execution was not successful due to a time out. More... | |
#define | MMCSD_STS_ERR_INVALID_PARAM ((int32_t)-3) |
Return status when the API execution failed due invalid parameters. More... | |
#define | MMCSD_STS_ERR_BUSY ((int32_t)-4) |
Return status when the API execution failed due to driver busy. More... | |
#define | MMCSD_STS_ERR_CARD_NOT_FOUND ((int32_t)-5) |
Return status when the API execution failed due to missing card. More... | |
#define | MMCSD_STS_ERR_CARD_UNUSEABLE ((int32_t)-6) |
Return status when the API execution failed due to unuseable card. More... | |
#define | MMCSD_STS_ERR_CARD_UNLOCK_FAIL ((int32_t)-7) |
Return status when the API execution failed due to card Unlock Failure. More... | |
Timeout values | |
#define | MMCSD_NO_WAIT ((uint32_t)0) |
Value to use when needing a timeout of zero or NO timeout, return immediately on resource not available. More... | |
#define | MMCSD_WAIT_FOREVER ((uint32_t)-1) |
Value to use when needing a timeout of infinity or wait forever until resource is available. More... | |
MMCSD Driver states | |
#define | MMCSD_STATE_RESET ((uint8_t) 0U) |
MMCSD driver is in Reset State prior to driver init and post driver deinit. More... | |
#define | MMCSD_STATE_IDLE ((uint8_t) 1U) |
MMCSD driver accepts runtime APIs only Ready State, otherwise return error. More... | |
#define | MMCSD_STATE_BUSY ((uint8_t) 2U) |
MMCSD driver is busy performing operation with peripherals, return error when APIs are invoked. More... | |
#define | MMCSD_STATE_ERROR ((uint8_t) 3U) |
MMCSD driver ran into error, returns error for all APIs other than deinit in this state. More... | |
MMCSD Transfer states | |
#define | MMCSD_XFER_IDLE_STATE ((uint8_t) 0U) |
XFER is in IDLE state. More... | |
#define | MMCSD_XFER_CMD_STATE ((uint8_t) 1U) |
XFER is in CMD state. More... | |
#define | MMCSD_XFER_WRITE_STATE ((uint8_t) 2U) |
XFER is in Write state. More... | |
#define | MMCSD_XFER_READ_STATE ((uint8_t) 3U) |
XFER is in Read state. More... | |
MACROS used to select one of the possible Card Types. | |
#define | MMCSD_CARD_TYPE_SD ((uint32_t) 0U) |
Card type SD. More... | |
#define | MMCSD_CARD_TYPE_EMMC ((uint32_t) 2U) |
Card type MMC. More... | |
#define | MMCSD_CARD_TYPE_NO_DEVICE ((uint32_t) 3U) |
No Card Installed. More... | |
MACROS for the possible values of Bus Width configuration. | |
#define | MMCSD_BUS_WIDTH_1BIT ((uint32_t) 1U) |
Card bus width configuration for 1-bit mode. More... | |
#define | MMCSD_BUS_WIDTH_4BIT ((uint32_t) 4U) |
Card bus width configuration for 4-bit mode. More... | |
#define | MMCSD_BUS_WIDTH_8BIT ((uint32_t) 8U) |
Card bus width configuration for 8-bit mode. More... | |
MACROS used to select one of the possible Speed Modes for SD Device. | |
#define | MMCSD_SD_MODE_DS ((uint32_t) 10U) |
Default Speed. More... | |
#define | MMCSD_SD_MODE_HS ((uint32_t) 11U) |
High Speed. More... | |
Typedefs | |
typedef void(* | MMCSD_Clock_uSleep) (uint32_t usec) |
The definition of a sleep function used by the MMCSD driver for delay. More... | |
typedef void(* | MMCSD_lld_transferCompleteCallback) (void *args, int32_t xferStatus) |
The definition of a transfer completion callback function used by the MMCSD driver when used in Callback Mode. More... | |
typedef struct MMCSDLLD_InitObject * | MMCSDLLD_InitHandle |
typedef struct MMCSDLLD_Object * | MMCSDLLD_Handle |
Functions | |
int32_t | MMCSD_lld_init (MMCSDLLD_Handle handle) |
This API Initializes the MMCSD instance. More... | |
int32_t | MMCSD_lld_deInit (MMCSDLLD_Handle handle) |
This API De-Initializes the MMCSD instance. More... | |
int32_t | MMCSD_lld_write_SD_Poll (MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks) |
Function to perform block writes to the SD media in Polling Mode. More... | |
int32_t | MMCSD_lld_read_SD_Poll (MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks) |
Function to perform block reads from the SD media in Polling Mode. More... | |
int32_t | MMCSD_lld_write_SD_Intr (MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks) |
Function to perform block writes to the SD media in Interrupt Mode. More... | |
int32_t | MMCSD_lld_read_SD_Intr (MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks) |
Function to perform block reads from the SD media in Interrupt Mode. More... | |
uint32_t | MMCSD_lld_getBlockSize (MMCSDLLD_Handle handle) |
This function returns the block size of the MMC/SD media connected to the MMCSD controller. More... | |
void | MMCSD_lld_Isr (void *args) |
This is the MMCSD Controller ISR and can be used as IRQ handler. More... | |