思澈科技软件开发工具包  2.20
SDMMC_Exported_Functions

Functions

HAL_StatusTypeDef HAL_SDMMC_INIT (SD_TypeDef *hsd)
 SDMMC initial. More...
 
HAL_StatusTypeDef HAL_SDMMC_GET_RESP (SD_TypeDef *hsd, uint32_t *resp)
 Get sd command response. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_TIMEOUT (SD_TypeDef *hsd, uint32_t timeout)
 Set sd timeout. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_DATALEN (SD_TypeDef *hsd, uint32_t len)
 Set sd transfer data length. More...
 
HAL_StatusTypeDef HAL_SDMMC_CLR_DATA_CTRL (SD_TypeDef *hsd)
 Clear data lenght. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_DATA_CTRL (SD_TypeDef *hsd, uint32_t blk_size, uint32_t direct, uint32_t wire, uint32_t mode)
 Set tranmite configure. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_WIRE (SD_TypeDef *hsd, uint32_t wire)
 Set sd line more. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_DIRECT (SD_TypeDef *hsd, uint32_t direct)
 set data read/write mode. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_STREAM (SD_TypeDef *hsd, uint32_t stream)
 Set stream mode or block mode. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_BLOCK_SIZE (SD_TypeDef *hsd, uint32_t blk_size)
 Set transmit block size. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_DATA_EN (SD_TypeDef *hsd, uint32_t data_en)
 Enable data transfer, it should be set before command setting. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_DATA_START (SD_TypeDef *hsd, uint32_t start)
 start data transfer. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_IRQ_MASK (SD_TypeDef *hsd, uint32_t mask)
 Set SD IRQ mask. More...
 
uint32_t HAL_SDMMC_GET_IRQ_MASK (SD_TypeDef *hsd)
 Get current IRQ setting. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_CMD (SD_TypeDef *hsd, uint32_t cmd_idx, uint32_t resp, uint32_t arg)
 set sd command. More...
 
uint32_t HAL_SDMMC_GET_STA (SD_TypeDef *hsd)
 Get SDMMC status. More...
 
HAL_StatusTypeDef HAL_SDMMC_CLR_INT (SD_TypeDef *hsd, uint32_t irq)
 Clear irq bits. More...
 
HAL_StatusTypeDef HAL_SDMMC_CLK_SET (SD_TypeDef *hsd, uint32_t div, uint8_t en)
 Set SD clock. More...
 
HAL_StatusTypeDef HAL_SDMMC_POWER_SET (SD_TypeDef *hsd, uint32_t pow)
 Set SD power mode. More...
 
HAL_StatusTypeDef HAL_SDMMC_WIRTE (SD_TypeDef *hsd, uint32_t *buf, uint32_t size)
 SD write data. More...
 
HAL_StatusTypeDef HAL_SDMMC_READ (SD_TypeDef *hsd, uint32_t *buf, uint32_t size)
 SD read data. More...
 
uint32_t HAL_SDMMC_GET_RCI (SD_TypeDef *hsd)
 get RCI. More...
 
HAL_StatusTypeDef HAL_SDMMC_SWITCH_NORMAL (SD_TypeDef *hsd)
 Switch sd to normal driver access. More...
 
HAL_StatusTypeDef HAL_SDMMC_SWITCH_AHB (SD_TypeDef *hsd)
 Switch sd to AHB access. More...
 
HAL_StatusTypeDef HAL_SDMMC_SELECT_VERSION (SD_TypeDef *hsd, uint8_t blk_mode)
 Configure SD version (size larger than 2GB address will be block based). More...
 
HAL_StatusTypeDef HAL_SDMMC_CACHE_EN (SD_TypeDef *hsd, uint8_t en)
 Enable AHB read cache data, or AHB read return dummy. More...
 
HAL_StatusTypeDef HAL_SDMMC_CACHE_TO_EN (SD_TypeDef *hsd, uint8_t en)
 Enable AHB read time out recover. More...
 
HAL_StatusTypeDef HAL_SDMMC_ENABLE_AHB_MAP (SD_TypeDef *hsd, uint8_t sd_map_en)
 Configure MPI3/SD2 AHB space user. More...
 
HAL_StatusTypeDef HAL_SDMMC_SET_CAOFFSET (SD_TypeDef *hsd, uint32_t offset)
 Set cache OFFSET for AHB. More...
 
HAL_StatusTypeDef HAL_SDMMC_VOID_FIFO (SD_TypeDef *hsd, uint8_t en)
 Enable void fifo function. More...
 

Detailed Description

Function Documentation

◆ HAL_SDMMC_CACHE_EN()

HAL_StatusTypeDef HAL_SDMMC_CACHE_EN ( SD_TypeDef *  hsd,
uint8_t  en 
)

Enable AHB read cache data, or AHB read return dummy.

Parameters
hsdsd handle.
encache enable or not.
Return values
HALstatus

◆ HAL_SDMMC_CACHE_TO_EN()

HAL_StatusTypeDef HAL_SDMMC_CACHE_TO_EN ( SD_TypeDef *  hsd,
uint8_t  en 
)

Enable AHB read time out recover.

Parameters
hsdsd handle.
entimeout enable or not.
Return values
HALstatus

◆ HAL_SDMMC_CLK_SET()

HAL_StatusTypeDef HAL_SDMMC_CLK_SET ( SD_TypeDef *  hsd,
uint32_t  div,
uint8_t  en 
)

Set SD clock.

Parameters
hsdsd handle.
divclock divider.
enenable clock or not
Return values
HALstatus

◆ HAL_SDMMC_CLR_DATA_CTRL()

HAL_StatusTypeDef HAL_SDMMC_CLR_DATA_CTRL ( SD_TypeDef *  hsd)

Clear data lenght.

Parameters
hsdsd handle.
Return values
HALstatus

◆ HAL_SDMMC_CLR_INT()

HAL_StatusTypeDef HAL_SDMMC_CLR_INT ( SD_TypeDef *  hsd,
uint32_t  irq 
)

Clear irq bits.

Parameters
hsdsd handle.
irqirq bits to be clear.
Return values
HALstatus

◆ HAL_SDMMC_ENABLE_AHB_MAP()

HAL_StatusTypeDef HAL_SDMMC_ENABLE_AHB_MAP ( SD_TypeDef *  hsd,
uint8_t  sd_map_en 
)

Configure MPI3/SD2 AHB space user.

Parameters
hsdsd handle.
sd_map_enmap for SD2 if enable, or for MPI3.
Return values
HALstatus

◆ HAL_SDMMC_GET_IRQ_MASK()

uint32_t HAL_SDMMC_GET_IRQ_MASK ( SD_TypeDef *  hsd)

Get current IRQ setting.

Parameters
hsdsd handle.
Return values
IRQMASK setting.

◆ HAL_SDMMC_GET_RCI()

uint32_t HAL_SDMMC_GET_RCI ( SD_TypeDef *  hsd)

get RCI.

Parameters
hsdsd handle.
Return values
rcivalue

◆ HAL_SDMMC_GET_RESP()

HAL_StatusTypeDef HAL_SDMMC_GET_RESP ( SD_TypeDef *  hsd,
uint32_t *  resp 
)

Get sd command response.

Parameters
hsdsd handle.
respresponse data buffer.
Return values
HALstatus

◆ HAL_SDMMC_GET_STA()

uint32_t HAL_SDMMC_GET_STA ( SD_TypeDef *  hsd)

Get SDMMC status.

Parameters
hsdsd handle.
Return values
status.

◆ HAL_SDMMC_INIT()

HAL_StatusTypeDef HAL_SDMMC_INIT ( SD_TypeDef *  hsd)

SDMMC initial.

Parameters
hsdsd handle.
Return values
HALstatus

◆ HAL_SDMMC_POWER_SET()

HAL_StatusTypeDef HAL_SDMMC_POWER_SET ( SD_TypeDef *  hsd,
uint32_t  pow 
)

Set SD power mode.

Parameters
hsdsd handle.
powpower mode.
Return values
HALstatus

◆ HAL_SDMMC_READ()

HAL_StatusTypeDef HAL_SDMMC_READ ( SD_TypeDef *  hsd,
uint32_t *  buf,
uint32_t  size 
)

SD read data.

Parameters
hsdsd handle.
bufdata buffer.
sizedata size.
Return values
HALstatus

◆ HAL_SDMMC_SELECT_VERSION()

HAL_StatusTypeDef HAL_SDMMC_SELECT_VERSION ( SD_TypeDef *  hsd,
uint8_t  blk_mode 
)

Configure SD version (size larger than 2GB address will be block based).

Parameters
hsdsd handle.
blk_modeblock for read/write param (size larger than 2GB).
Return values
HALstatus

◆ HAL_SDMMC_SET_BLOCK_SIZE()

HAL_StatusTypeDef HAL_SDMMC_SET_BLOCK_SIZE ( SD_TypeDef *  hsd,
uint32_t  blk_size 
)

Set transmit block size.

Parameters
hsdsd handle.
blk_sizeblock size, not larger than 2048.
Return values
HALstatus

◆ HAL_SDMMC_SET_CAOFFSET()

HAL_StatusTypeDef HAL_SDMMC_SET_CAOFFSET ( SD_TypeDef *  hsd,
uint32_t  offset 
)

Set cache OFFSET for AHB.

Parameters
hsdsd handle.
offsetAHB cache offset, it depend on card version.
Return values
HALstatus

◆ HAL_SDMMC_SET_CMD()

HAL_StatusTypeDef HAL_SDMMC_SET_CMD ( SD_TypeDef *  hsd,
uint32_t  cmd_idx,
uint32_t  resp,
uint32_t  arg 
)

set sd command.

Parameters
hsdsd handle.
cmd_idxcommand index.
respresponse flag.
argargument.
Return values
HALstatus

◆ HAL_SDMMC_SET_DATA_CTRL()

HAL_StatusTypeDef HAL_SDMMC_SET_DATA_CTRL ( SD_TypeDef *  hsd,
uint32_t  blk_size,
uint32_t  direct,
uint32_t  wire,
uint32_t  mode 
)

Set tranmite configure.

Parameters
hsdsd handle.
blk_sizeblock size.
directread or write.
wirewire mode.
modeblock or stream.
Return values
HALstatus

◆ HAL_SDMMC_SET_DATA_EN()

HAL_StatusTypeDef HAL_SDMMC_SET_DATA_EN ( SD_TypeDef *  hsd,
uint32_t  data_en 
)

Enable data transfer, it should be set before command setting.

Parameters
hsdsd handle.
data_endata transmit enable.
Return values
HALstatus

◆ HAL_SDMMC_SET_DATA_START()

HAL_StatusTypeDef HAL_SDMMC_SET_DATA_START ( SD_TypeDef *  hsd,
uint32_t  start 
)

start data transfer.

Parameters
hsdsd handle.
startstart or stop.
Return values
HALstatus

◆ HAL_SDMMC_SET_DATALEN()

HAL_StatusTypeDef HAL_SDMMC_SET_DATALEN ( SD_TypeDef *  hsd,
uint32_t  len 
)

Set sd transfer data length.

Parameters
hsdsd handle.
lendata lenght.
Return values
HALstatus

◆ HAL_SDMMC_SET_DIRECT()

HAL_StatusTypeDef HAL_SDMMC_SET_DIRECT ( SD_TypeDef *  hsd,
uint32_t  direct 
)

set data read/write mode.

Parameters
hsdsd handle.
directread or write.
Return values
HALstatus

◆ HAL_SDMMC_SET_IRQ_MASK()

HAL_StatusTypeDef HAL_SDMMC_SET_IRQ_MASK ( SD_TypeDef *  hsd,
uint32_t  mask 
)

Set SD IRQ mask.

Parameters
hsdsd handle.
maskirq bit to be mask.
Return values
HALstatus

◆ HAL_SDMMC_SET_STREAM()

HAL_StatusTypeDef HAL_SDMMC_SET_STREAM ( SD_TypeDef *  hsd,
uint32_t  stream 
)

Set stream mode or block mode.

Parameters
hsdsd handle.
streamstream mode or block mode.
Return values
HALstatus

◆ HAL_SDMMC_SET_TIMEOUT()

HAL_StatusTypeDef HAL_SDMMC_SET_TIMEOUT ( SD_TypeDef *  hsd,
uint32_t  timeout 
)

Set sd timeout.

Parameters
hsdsd handle.
timeouttimeout value.
Return values
HALstatus

◆ HAL_SDMMC_SET_WIRE()

HAL_StatusTypeDef HAL_SDMMC_SET_WIRE ( SD_TypeDef *  hsd,
uint32_t  wire 
)

Set sd line more.

Parameters
hsdsd handle.
wire1 line, 4 line or 8 line.
Return values
HALstatus

◆ HAL_SDMMC_SWITCH_AHB()

HAL_StatusTypeDef HAL_SDMMC_SWITCH_AHB ( SD_TypeDef *  hsd)

Switch sd to AHB access.

Parameters
hsdsd handle.
Return values
HALstatus

◆ HAL_SDMMC_SWITCH_NORMAL()

HAL_StatusTypeDef HAL_SDMMC_SWITCH_NORMAL ( SD_TypeDef *  hsd)

Switch sd to normal driver access.

Parameters
hsdsd handle.
Return values
HALstatus

◆ HAL_SDMMC_VOID_FIFO()

HAL_StatusTypeDef HAL_SDMMC_VOID_FIFO ( SD_TypeDef *  hsd,
uint8_t  en 
)

Enable void fifo function.

Parameters
hsdsd handle.
enenable void fifo function or not.
Return values
HALstatus

◆ HAL_SDMMC_WIRTE()

HAL_StatusTypeDef HAL_SDMMC_WIRTE ( SD_TypeDef *  hsd,
uint32_t *  buf,
uint32_t  size 
)

SD write data.

Parameters
hsdsd handle.
bufdata buffer.
sizedata size.
Return values
HALstatus