AM263Px MCU+ SDK  10.01.00

Introduction

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_InitObjectMMCSDLLD_InitHandle
 
typedef struct MMCSDLLD_ObjectMMCSDLLD_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...