MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
SDIOCARD

Overview

Data Structures

struct  sdiocard_usr_param_t
 card user parameter, user can define the parameter according the board, card capability More...
 
struct  sdio_card_t
 SDIO card state. More...
 

SDIOCARD Function

status_t SDIO_Init (sdio_card_t *card)
 SDIO card init function. More...
 
void SDIO_Deinit (sdio_card_t *card)
 SDIO card deinit, include card and host deinit. More...
 
status_t SDIO_CardInit (sdio_card_t *card)
 Initializes the card. More...
 
void SDIO_CardDeinit (sdio_card_t *card)
 Deinitializes the card. More...
 
status_t SDIO_HostInit (sdio_card_t *card)
 initialize the host. More...
 
void SDIO_HostDeinit (sdio_card_t *card)
 Deinitializes the host. More...
 
void SDIO_HostReset (SDMMCHOST_CONFIG *host)
 reset the host. More...
 
void SDIO_PowerOnCard (SDMMCHOST_TYPE *base, const sdmmchost_pwr_card_t *pwr)
 power on card. More...
 
void SDIO_PowerOffCard (SDMMCHOST_TYPE *base, const sdmmchost_pwr_card_t *pwr)
 power on card. More...
 
status_t SDIO_CardInActive (sdio_card_t *card)
 set SDIO card to inactive state More...
 
status_t SDIO_IO_Write_Direct (sdio_card_t *card, sdio_func_num_t func, uint32_t regAddr, uint8_t *data, bool raw)
 IO direct write transfer function. More...
 
status_t SDIO_IO_Read_Direct (sdio_card_t *card, sdio_func_num_t func, uint32_t regAddr, uint8_t *data)
 IO direct read transfer function. More...
 
status_t SDIO_IO_Write_Extended (sdio_card_t *card, sdio_func_num_t func, uint32_t regAddr, uint8_t *buffer, uint32_t count, uint32_t flags)
 IO extended write transfer function. More...
 
status_t SDIO_IO_Read_Extended (sdio_card_t *card, sdio_func_num_t func, uint32_t regAddr, uint8_t *buffer, uint32_t count, uint32_t flags)
 IO extended read transfer function. More...
 
status_t SDIO_GetCardCapability (sdio_card_t *card, sdio_func_num_t func)
 get SDIO card capability More...
 
status_t SDIO_SetBlockSize (sdio_card_t *card, sdio_func_num_t func, uint32_t blockSize)
 set SDIO card block size More...
 
status_t SDIO_CardReset (sdio_card_t *card)
 set SDIO card reset More...
 
status_t SDIO_SetDataBusWidth (sdio_card_t *card, sdio_bus_width_t busWidth)
 set SDIO card data bus width More...
 
status_t SDIO_SwitchToHighSpeed (sdio_card_t *card)
 switch the card to high speed More...
 
status_t SDIO_ReadCIS (sdio_card_t *card, sdio_func_num_t func, const uint32_t *tupleList, uint32_t tupleNum)
 read SDIO card CIS for each function More...
 
status_t SDIO_EnableIOInterrupt (sdio_card_t *card, sdio_func_num_t func, bool enable)
 enable IO interrupt More...
 
status_t SDIO_EnableIO (sdio_card_t *card, sdio_func_num_t func, bool enable)
 enable IO and wait IO ready More...
 
status_t SDIO_SelectIO (sdio_card_t *card, sdio_func_num_t func)
 select IO More...
 
status_t SDIO_AbortIO (sdio_card_t *card, sdio_func_num_t func)
 Abort IO transfer. More...
 
status_t SDIO_WaitCardDetectStatus (SDMMCHOST_TYPE *hostBase, const sdmmchost_detect_card_t *cd, bool waitCardStatus)
 sdio wait card detect function. More...
 
bool SDIO_IsCardPresent (sdio_card_t *card)
 sdio card present check function. More...
 

Data Structure Documentation

struct sdiocard_usr_param_t

Data Fields

const sdmmchost_detect_card_tcd
 card detect type
 
const sdmmchost_pwr_card_tpwr
 power control configuration
 
struct sdio_card_t

Define the card structure including the necessary fields to identify and describe the card.

Data Fields

SDMMCHOST_CONFIG host
 Host information.
 
sdiocard_usr_param_t usrParam
 user parameter
 
bool isHostReady
 use this flag to indicate if need host re-init or not
 
bool memPresentFlag
 indicate if memory present
 
uint32_t busClock_Hz
 SD bus clock frequency united in Hz.
 
uint32_t relativeAddress
 Relative address of the card.
 
uint8_t sdVersion
 SD version.
 
uint8_t sdioVersion
 SDIO version.
 
uint8_t cccrVersioin
 CCCR version.
 
uint8_t ioTotalNumber
 total number of IO function
 
uint32_t cccrflags
 Flags in _sd_card_flag.
 
uint32_t io0blockSize
 record the io0 block size
 
uint32_t ocr
 Raw OCR content, only 24bit avalible for SDIO card.
 
uint32_t commonCISPointer
 point to common CIS
 
sdio_fbr_t ioFBR [7U]
 FBR table.
 
sdio_common_cis_t commonCIS
 CIS table.
 
sdio_func_cis_t funcCIS [7U]
 function CIS table
 

Function Documentation

status_t SDIO_Init ( sdio_card_t card)
Parameters
cardCard descriptor.
Return values
kStatus_SDMMC_GoIdleFailed
kStatus_SDMMC_HandShakeOperationConditionFailed
kStatus_SDMMC_SDIO_InvalidCard
kStatus_SDMMC_SDIO_InvalidVoltage
kStatus_SDMMC_SendRelativeAddressFailed
kStatus_SDMMC_SelectCardFailed
kStatus_SDMMC_SDIO_SwitchHighSpeedFail
kStatus_SDMMC_SDIO_ReadCISFail
kStatus_SDMMC_TransferFailed
kStatus_Success
void SDIO_Deinit ( sdio_card_t card)
Parameters
cardCard descriptor.
status_t SDIO_CardInit ( sdio_card_t card)

This function initializes the card only, make sure the host is ready when call this function, otherwise it will return kStatus_SDMMC_HostNotReady.

Parameters
cardCard descriptor.
Return values
kStatus_SDMMC_HostNotReadyhost is not ready.
kStatus_SDMMC_GoIdleFailedGo idle failed.
kStatus_SDMMC_NotSupportYetCard not support.
kStatus_SDMMC_SendOperationConditionFailedSend operation condition failed.
kStatus_SDMMC_AllSendCidFailedSend CID failed.
kStatus_SDMMC_SendRelativeAddressFailedSend relative address failed.
kStatus_SDMMC_SendCsdFailedSend CSD failed.
kStatus_SDMMC_SelectCardFailedSend SELECT_CARD command failed.
kStatus_SDMMC_SendScrFailedSend SCR failed.
kStatus_SDMMC_SetBusWidthFailedSet bus width failed.
kStatus_SDMMC_SwitchHighSpeedFailedSwitch high speed failed.
kStatus_SDMMC_SetCardBlockSizeFailedSet card block size failed.
kStatus_SuccessOperate successfully.
void SDIO_CardDeinit ( sdio_card_t card)

This function deinitializes the specific card.

Parameters
cardCard descriptor.
status_t SDIO_HostInit ( sdio_card_t card)

This function deinitializes the specific host.

Parameters
cardCard descriptor.
void SDIO_HostDeinit ( sdio_card_t card)

This function deinitializes the host.

Parameters
cardCard descriptor.
void SDIO_HostReset ( SDMMCHOST_CONFIG *  host)

This function reset the specific host.

Parameters
hosthost descriptor.
void SDIO_PowerOnCard ( SDMMCHOST_TYPE *  base,
const sdmmchost_pwr_card_t pwr 
)

The power on operation depend on host or the user define power on function.

Parameters
basehost base address.
pwruser define power control configuration
void SDIO_PowerOffCard ( SDMMCHOST_TYPE *  base,
const sdmmchost_pwr_card_t pwr 
)

The power off operation depend on host or the user define power on function.

Parameters
basehost base address.
pwruser define power control configuration
status_t SDIO_CardInActive ( sdio_card_t card)
Parameters
cardCard descriptor.
Return values
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_IO_Write_Direct ( sdio_card_t card,
sdio_func_num_t  func,
uint32_t  regAddr,
uint8_t *  data,
bool  raw 
)
Parameters
cardCard descriptor.
functionIO numner
registeraddress
thedata pinter to write
rawflag, indicate read after write or write only
Return values
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_IO_Read_Direct ( sdio_card_t card,
sdio_func_num_t  func,
uint32_t  regAddr,
uint8_t *  data 
)
Parameters
cardCard descriptor.
functionIO number
registeraddress
datapointer to read
Return values
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_IO_Write_Extended ( sdio_card_t card,
sdio_func_num_t  func,
uint32_t  regAddr,
uint8_t *  buffer,
uint32_t  count,
uint32_t  flags 
)
Parameters
cardCard descriptor.
functionIO number
registeraddress
databuffer to write
datacount
writeflags
Return values
kStatus_SDMMC_TransferFailed
kStatus_SDMMC_SDIO_InvalidArgument
kStatus_Success
status_t SDIO_IO_Read_Extended ( sdio_card_t card,
sdio_func_num_t  func,
uint32_t  regAddr,
uint8_t *  buffer,
uint32_t  count,
uint32_t  flags 
)
Parameters
cardCard descriptor.
functionIO number
registeraddress
databuffer to read
datacount
writeflags
Return values
kStatus_SDMMC_TransferFailed
kStatus_SDMMC_SDIO_InvalidArgument
kStatus_Success
status_t SDIO_GetCardCapability ( sdio_card_t card,
sdio_func_num_t  func 
)
Parameters
cardCard descriptor.
functionIO number
Return values
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_SetBlockSize ( sdio_card_t card,
sdio_func_num_t  func,
uint32_t  blockSize 
)
Parameters
cardCard descriptor.
functionio number
blocksize
Return values
kStatus_SDMMC_SetCardBlockSizeFailed
kStatus_SDMMC_SDIO_InvalidArgument
kStatus_Success
status_t SDIO_CardReset ( sdio_card_t card)
Parameters
cardCard descriptor.
Return values
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_SetDataBusWidth ( sdio_card_t card,
sdio_bus_width_t  busWidth 
)
Parameters
cardCard descriptor.
databus width
Return values
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_SwitchToHighSpeed ( sdio_card_t card)
Parameters
cardCard descriptor.
Return values
kStatus_SDMMC_TransferFailed
kStatus_SDMMC_SDIO_SwitchHighSpeedFail
kStatus_Success
status_t SDIO_ReadCIS ( sdio_card_t card,
sdio_func_num_t  func,
const uint32_t *  tupleList,
uint32_t  tupleNum 
)
Parameters
cardCard descriptor.
functionio number
tuplecode list
tuplecode number
Return values
kStatus_SDMMC_SDIO_ReadCISFail
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_EnableIOInterrupt ( sdio_card_t card,
sdio_func_num_t  func,
bool  enable 
)
Parameters
cardCard descriptor.
functionIO number
enable/disableflag
Return values
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_EnableIO ( sdio_card_t card,
sdio_func_num_t  func,
bool  enable 
)
Parameters
cardCard descriptor.
functionIO number
enable/disableflag
Return values
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_SelectIO ( sdio_card_t card,
sdio_func_num_t  func 
)
Parameters
cardCard descriptor.
functionIO number
Return values
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_AbortIO ( sdio_card_t card,
sdio_func_num_t  func 
)
Parameters
cardCard descriptor.
functionIO number
Return values
kStatus_SDMMC_TransferFailed
kStatus_Success
status_t SDIO_WaitCardDetectStatus ( SDMMCHOST_TYPE *  hostBase,
const sdmmchost_detect_card_t cd,
bool  waitCardStatus 
)

Detect card through GPIO, CD, DATA3.

Parameters
cardcard descriptor.
carddetect configuration
waitCardStatuswait card detect status
bool SDIO_IsCardPresent ( sdio_card_t card)
Parameters
cardcard descriptor.