 |
AM263Px MCU+ SDK
11.00.00
|
|
Go to the documentation of this file.
69 #include <drivers/mmcsd/v1/cslr_mmcsd.h>
86 #define MMCSD_STS_SUCCESS ((int32_t) 0)
89 #define MMCSD_STS_ERR ((int32_t)-1)
92 #define MMCSD_STS_ERR_TIMEOUT ((int32_t)-2)
94 #define MMCSD_STS_ERR_INVALID_PARAM ((int32_t)-3)
96 #define MMCSD_STS_ERR_BUSY ((int32_t)-4)
98 #define MMCSD_STS_ERR_CARD_NOT_FOUND ((int32_t)-5)
100 #define MMCSD_STS_ERR_CARD_UNUSEABLE ((int32_t)-6)
102 #define MMCSD_STS_ERR_CARD_UNLOCK_FAIL ((int32_t)-7)
114 #define MMCSD_NO_WAIT ((uint32_t)0)
117 #define MMCSD_WAIT_FOREVER ((uint32_t)-1)
129 #define MMCSD_STATE_RESET ((uint8_t) 0U)
132 #define MMCSD_STATE_IDLE ((uint8_t) 1U)
135 #define MMCSD_STATE_BUSY ((uint8_t) 2U)
138 #define MMCSD_STATE_ERROR ((uint8_t) 3U)
149 #define MMCSD_XFER_IDLE_STATE ((uint8_t) 0U)
151 #define MMCSD_XFER_CMD_STATE ((uint8_t) 1U)
153 #define MMCSD_XFER_WRITE_STATE ((uint8_t) 2U)
155 #define MMCSD_XFER_READ_STATE ((uint8_t) 3U)
166 #define MMCSD_CARD_TYPE_SD ((uint32_t) 0U)
168 #define MMCSD_CARD_TYPE_EMMC ((uint32_t) 2U)
170 #define MMCSD_CARD_TYPE_NO_DEVICE ((uint32_t) 3U)
181 #define MMCSD_BUS_WIDTH_1BIT ((uint32_t) 1U)
183 #define MMCSD_BUS_WIDTH_4BIT ((uint32_t) 4U)
185 #define MMCSD_BUS_WIDTH_8BIT ((uint32_t) 8U)
197 #define MMCSD_ECSD_BUS_WIDTH_INDEX (183U)
199 #define MMCSD_ECSD_BUS_WIDTH_1BIT (0U)
201 #define MMCSD_ECSD_BUS_WIDTH_4BIT (1U)
203 #define MMCSD_ECSD_BUS_WIDTH_8BIT (2U)
205 #define MMCSD_ECSD_BUS_WIDTH_4BIT_DDR (5U)
207 #define MMCSD_ECSD_BUS_WIDTH_8BIT_DDR (6U)
210 #define MMCSD_ECSD_BUS_WIDTH_BUSWIDTH_MASK (0x0FU)
212 #define MMCSD_ECSD_BUS_WIDTH_BUSWIDTH_SHIFT (0U)
215 #define MMCSD_ECSD_BUS_WIDTH_ES_ENABLE (0x80U)
217 #define MMCSD_ECSD_BUS_WIDTH_ES_MASK (0x80U)
219 #define MMCSD_ECSD_BUS_WIDTH_ES_SHIFT (7U)
230 #define MMCSD_SD_MODE_DS ((uint32_t) 10U)
232 #define MMCSD_SD_MODE_HS ((uint32_t) 11U)
348 uint32_t response[4];
476 uint32_t startBlk, uint32_t numBlks);
489 uint32_t startBlk, uint32_t numBlks);
502 uint32_t startBlk, uint32_t numBlks);
515 uint32_t startBlk, uint32_t numBlks);
528 uint32_t startBlk, uint32_t numBlks);
541 uint32_t startBlk, uint32_t numBlks);
558 uint32_t startBlk, uint32_t numBlks);
574 uint32_t startBlk, uint32_t numBlks);
590 uint32_t startBlk, uint32_t numBlks);
606 uint32_t startBlk, uint32_t numBlks);
619 uint32_t startBlk, uint32_t numBlks);
632 uint32_t startBlk, uint32_t numBlks);
uint32_t setBusSpeed
Definition: mmcsd_lld.h:409
MMCSD_DmaChConfig mmcsdDmaChConfig
Definition: mmcsd_lld.h:378
uint8_t * dataBufIdx
Definition: mmcsd_lld.h:396
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.
uint32_t intrNum
Definition: mmcsd_lld.h:362
void * args
Definition: hsmclient_msg.h:4
uint32_t ocr
Definition: mmcsd_lld.h:298
bool autoAssignMaxSpeed
Definition: mmcsd_lld.h:366
uint8_t manuID
Definition: mmcsd_lld.h:308
MMCSD_lld_transferCompleteCallback transferCompleteCallback
Definition: mmcsd_lld.h:421
uint8_t transferSpeed
Definition: mmcsd_lld.h:316
uint8_t * dataBuf
Definition: mmcsd_lld.h:382
struct MMCSD_EdmaChConfig_s * MMCSD_DmaChConfig
Definition: mmcsd_lld.h:83
uint32_t blockCount
Definition: mmcsd_lld.h:276
bool enableDma
Definition: mmcsd_lld.h:372
SD device properties.
Definition: mmcsd_lld.h:295
uint32_t baseAddr
Definition: mmcsd_lld.h:358
uint32_t rca
Definition: mmcsd_lld.h:262
uint8_t state
Definition: mmcsd_lld.h:415
int32_t MMCSD_lld_read_SD_Dma(MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks)
Function to perform block reads from the SD media in DMA Mode.
void MMCSD_lld_Isr(void *args)
This is the MMCSD Controller ISR and can be used as IRQ handler.
uint8_t specVersion
Definition: mmcsd_lld.h:312
MMCSD_DmaHandle mmcsdDmaHandle
Definition: mmcsd_lld.h:376
int32_t MMCSD_lld_read_MMC_Intr(MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks)
Reads data from the MMC card using interrupt method.
uint32_t setBusWidth
Definition: mmcsd_lld.h:411
MMCSD LLD Transaction.
Definition: mmcsd_lld.h:333
uint32_t arg
Definition: mmcsd_lld.h:340
uint16_t xferErrorStat
Definition: mmcsd_lld.h:394
uint16_t maxReadBlockLen
Definition: mmcsd_lld.h:302
int32_t MMCSD_lld_write_MMC_Intr(MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks)
Writes data to the MMC card using interrupt method.
bool isHC
Definition: mmcsd_lld.h:322
int32_t MMCSD_lld_deInit(MMCSDLLD_Handle handle)
This API De-Initializes the MMCSD instance.
int32_t MMCSD_lld_write_MMC_Dma(MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks)
Function to perform block writes to the MMC media in DMA Mode.
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.
MMCSDLLD_Transaction * currentTxn
Definition: mmcsd_lld.h:404
MMCSD Driver Initialization Object.
Definition: mmcsd_lld.h:355
int32_t MMCSD_lld_write_SD_Dma(MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks)
Function to perform block writes to the SD media in DMA Mode.
uint8_t eStrobeSupport
Definition: mmcsd_lld.h:282
uint8_t manuID
Definition: mmcsd_lld.h:270
uint32_t isCmd23
Definition: mmcsd_lld.h:318
uint8_t specVersion
Definition: mmcsd_lld.h:274
uint32_t ocr
Definition: mmcsd_lld.h:260
uint32_t cardType
Definition: mmcsd_lld.h:364
int32_t MMCSD_lld_read_MMC_Dma(MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks)
Function to perform block reads from the MMC media in DMA Mode.
MMCSD Driver Object.
Definition: mmcsd_lld.h:389
uint32_t blockCount
Definition: mmcsd_lld.h:346
struct MMCSDLLD_InitObject * MMCSDLLD_InitHandle
uint8_t * dataBuf
Definition: mmcsd_lld.h:342
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.
uint32_t rca
Definition: mmcsd_lld.h:300
void MMCSD_lld_completeCurrTransfer(MMCSDLLD_Handle handle, int32_t xferStatus)
Completes the current MMC/SD data transfer operation.
uint32_t remainingBlockCount
Definition: mmcsd_lld.h:402
uint8_t supportedModes
Definition: mmcsd_lld.h:280
EDMA_Handle MMCSD_DmaHandle
Definition: mmcsd_lld.h:81
uint32_t blockSize
Definition: mmcsd_lld.h:344
This file contains the prototype of EDMA driver APIs.
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.
uint32_t dataBlockCount
Definition: mmcsd_lld.h:398
int32_t MMCSD_lld_read_MMC_Poll(MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks)
Reads data from the MMC card using polling method.
int32_t MMCSD_lld_deInitDma(MMCSDLLD_Handle handle)
This API De-Initializes the MMCSD instance with DMA transfers.
int32_t MMCSD_lld_init(MMCSDLLD_Handle handle)
This API Initializes the MMCSD instance.
eMMC device properties
Definition: mmcsd_lld.h:257
uint16_t maxReadBlockLen
Definition: mmcsd_lld.h:264
uint32_t busWidth
Definition: mmcsd_lld.h:370
struct MMCSDLLD_Object * MMCSDLLD_Handle
uint8_t transferSpeed
Definition: mmcsd_lld.h:278
uint32_t supportedDataWidths
Definition: mmcsd_lld.h:320
MMCSDLLD_Transaction mmcsdTxn
Definition: mmcsd_lld.h:406
uint16_t maxWriteBlockLen
Definition: mmcsd_lld.h:266
void * EDMA_Handle
A handle that is returned from a EDMA_open() call.
Definition: edma/v0/edma.h:596
uint32_t MMCSD_lld_getBlockSize(MMCSDLLD_Handle handle)
This function returns the block size of the MMC/SD media connected to the MMCSD controller.
void * deviceData
Definition: mmcsd_lld.h:374
int32_t MMCSD_lld_write_MMC_Poll(MMCSDLLD_Handle handle, uint8_t *buf, uint32_t startBlk, uint32_t numBlks)
Writes data to the MMC card using polling method.
bool isHC
Definition: mmcsd_lld.h:288
uint32_t dataBlockSize
Definition: mmcsd_lld.h:400
uint32_t blockCount
Definition: mmcsd_lld.h:314
MMCSDLLD_InitHandle initHandle
Definition: mmcsd_lld.h:417
uint32_t cmd
Definition: mmcsd_lld.h:336
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 Callb...
Definition: mmcsd_lld.h:247
uint32_t inputClkFreq
Definition: mmcsd_lld.h:360
void * args
Definition: mmcsd_lld.h:419
uint8_t xferState
Definition: mmcsd_lld.h:413
uint16_t cmdErrorStat
Definition: mmcsd_lld.h:392
uint8_t driveStrength
Definition: mmcsd_lld.h:284
int32_t MMCSD_lld_InitDma(MMCSDLLD_Handle handle)
This API Initializes the MMCSD instance for DMA transfers.
uint32_t flags
Definition: mmcsd_lld.h:338
uint32_t uaBusSpeed
Definition: mmcsd_lld.h:368
uint16_t maxWriteBlockLen
Definition: mmcsd_lld.h:304