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

Overview

The USDHC host adapter driver provide adapter for blocking/non_blocking mode.

Data Structures

struct  sdmmchost_pwr_card_t
 card power control More...
 
struct  sdmmchost_t
 sdmmc host handler More...
 

Macros

#define FSL_SDMMC_HOST_ADAPTER_VERSION   (MAKE_VERSION(2U, 3U, 0U)) /*2.3.0*/
 Middleware adapter version. More...
 
#define SDMMCHOST_SUPPORT_HIGH_SPEED   (1U)
 host capability
 
#define SDMMCHOST_DMA_DESCRIPTOR_BUFFER_ALIGN_SIZE   (4U)
 SDMMC host dma descriptor buffer address align size.
 
#define SDMMCHOST_STANDARD_TUNING_START   (10U)
 tuning configuration More...
 
#define SDMMCHOST_TUINIG_STEP   (2U)
 standard tuning step
 

Typedefs

typedef usdhc_transfer_t sdmmchost_transfer_t
 sdmmc host transfer function
 
typedef void(* sdmmchost_pwr_t )(void)
 card power control function pointer
 

Enumerations

enum  _sdmmchost_endian_mode {
  kSDMMCHOST_EndianModeBig = 0U,
  kSDMMCHOST_EndianModeHalfWordBig = 1U,
  kSDMMCHOST_EndianModeLittle = 2U
}
 host Endian mode corresponding to driver define More...
 
enum  _sdmmchost_tuning_type {
  kSDMMCHOST_StandardTuning = 0U,
  kSDMMCHOST_ManualTuning = 1U
}
 sdmmc host tuning type More...
 

USDHC host controller function

void SDMMCHOST_SetCardBusWidth (sdmmchost_t *host, uint32_t dataBusWidth)
 set data bus width. More...
 
static void SDMMCHOST_SendCardActive (sdmmchost_t *host)
 Send initilization active 80 clocks to card. More...
 
static uint32_t SDMMCHOST_SetCardClock (sdmmchost_t *host, uint32_t targetClock)
 Set card bus clock. More...
 
static bool SDMMCHOST_IsCardBusy (sdmmchost_t *host)
 check card status by DATA0. More...
 
static uint32_t SDMMCHOST_GetSignalLineStatus (sdmmchost_t *host, uint32_t signalLine)
 Get signal line status. More...
 
static void SDMMCHOST_EnableCardInt (sdmmchost_t *host, bool enable)
 enable card interrupt. More...
 
static void SDMMCHOST_EnableDDRMode (sdmmchost_t *host, bool enable, uint32_t nibblePos)
 enable DDR mode. More...
 
status_t SDMMCHOST_StartBoot (sdmmchost_t *host, sdmmchost_boot_config_t *hostConfig, sdmmchost_cmd_t *cmd, uint8_t *buffer)
 start read boot data. More...
 
status_t SDMMCHOST_ReadBootData (sdmmchost_t *host, sdmmchost_boot_config_t *hostConfig, uint8_t *buffer)
 read boot data. More...
 
static void SDMMCHOST_EnableBoot (sdmmchost_t *host, bool enable)
 enable boot mode. More...
 
status_t SDMMCHOST_CardIntInit (sdmmchost_t *host, void *sdioInt)
 card interrupt function. More...
 
static void SDMMCHOST_ForceClockOn (sdmmchost_t *host, bool enable)
 force card clock on. More...
 
void SDMMCHOST_SwitchToVoltage (sdmmchost_t *host, uint32_t voltage)
 switch to voltage. More...
 
status_t SDMMCHOST_CardDetectInit (sdmmchost_t *host, void *cd)
 card detect init function. More...
 
status_t SDMMCHOST_PollingCardDetectStatus (sdmmchost_t *host, uint32_t waitCardStatus, uint32_t timeout)
 Detect card insert, only need for SD cases. More...
 
uint32_t SDMMCHOST_CardDetectStatus (sdmmchost_t *host)
 card detect status. More...
 
status_t SDMMCHOST_Init (sdmmchost_t *host)
 Init host controller. More...
 
void SDMMCHOST_Deinit (sdmmchost_t *host)
 Deinit host controller. More...
 
void SDMMCHOST_SetCardPower (sdmmchost_t *host, bool enable)
 host power off card function. More...
 
status_t SDMMCHOST_TransferFunction (sdmmchost_t *host, sdmmchost_transfer_t *content)
 host transfer function. More...
 
status_t SDMMCHOST_ExecuteTuning (sdmmchost_t *host, uint32_t tuningCmd, uint32_t *revBuf, uint32_t blockSize)
 sdmmc host excute tuning. More...
 
void SDMMCHOST_Reset (sdmmchost_t *host)
 host reset function. More...
 
status_t SDMMCHOST_WaitCardDetectStatus (SDMMCHOST_TYPE *hostBase, const sdmmchost_detect_card_t *cd, bool waitCardStatus)
 wait card detect status More...
 
void SDMMCHOST_PowerOffCard (SDMMCHOST_TYPE *base, const sdmmchost_pwr_card_t *pwr)
 host power off card function. More...
 
void SDMMCHOST_PowerOnCard (SDMMCHOST_TYPE *base, const sdmmchost_pwr_card_t *pwr)
 host power on card function. More...
 

Data Structure Documentation

struct sdmmchost_pwr_card_t
Deprecated:
Do not use this structure anymore.

Data Fields

sdmmchost_pwr_t powerOn
 power on function pointer
 
uint32_t powerOnDelay_ms
 power on delay
 
sdmmchost_pwr_t powerOff
 power off function pointer
 
uint32_t powerOffDelay_ms
 power off delay
 
struct sdmmchost_t

Data Fields

usdhc_host_t hostController
 host configuration
 
void * dmaDesBuffer
 DMA descriptor buffer address.
 
uint32_t dmaDesBufferWordsNum
 DMA descriptor buffer size in byte.
 
usdhc_handle_t handle
 host controller handler
 
uint8_t tuningType
 host tuning type
 
void * hostEvent
 host event handler pointer
 
void * cd
 card detect
 
void * cardInt
 call back function for card interrupt
 

Macro Definition Documentation

#define FSL_SDMMC_HOST_ADAPTER_VERSION   (MAKE_VERSION(2U, 3U, 0U)) /*2.3.0*/
#define SDMMCHOST_STANDARD_TUNING_START   (10U)

standard tuning start point

Enumeration Type Documentation

Enumerator
kSDMMCHOST_EndianModeBig 

Big endian mode.

kSDMMCHOST_EndianModeHalfWordBig 

Half word big endian mode.

kSDMMCHOST_EndianModeLittle 

Little endian mode.

Enumerator
kSDMMCHOST_StandardTuning 

standard tuning type

kSDMMCHOST_ManualTuning 

manual tuning type

Function Documentation

void SDMMCHOST_SetCardBusWidth ( sdmmchost_t host,
uint32_t  dataBusWidth 
)
Parameters
hosthost handler
dataBusWidthdata bus width
static void SDMMCHOST_SendCardActive ( sdmmchost_t host)
inlinestatic
Parameters
hosthost handler
static uint32_t SDMMCHOST_SetCardClock ( sdmmchost_t host,
uint32_t  targetClock 
)
inlinestatic
Parameters
hosthost handler
targetClocktarget clock frequency
Return values
actualclock frequency can be reach.
static bool SDMMCHOST_IsCardBusy ( sdmmchost_t host)
inlinestatic
Parameters
hosthost handler
Return values
trueis busy, false is idle.
static uint32_t SDMMCHOST_GetSignalLineStatus ( sdmmchost_t host,
uint32_t  signalLine 
)
inlinestatic
Parameters
hosthost handler
signalLinesignal line type, reference _sdmmc_signal_line
static void SDMMCHOST_EnableCardInt ( sdmmchost_t host,
bool  enable 
)
inlinestatic
Parameters
hosthost handler
enabletrue is enable, false is disable.
static void SDMMCHOST_EnableDDRMode ( sdmmchost_t host,
bool  enable,
uint32_t  nibblePos 
)
inlinestatic
Parameters
hosthost handler
enabletrue is enable, false is disable.
nibblePosnibble position indictation. 0- the sequence is 'odd high nibble -> even high nibble -> odd low nibble -> even low nibble'; 1- the sequence is 'odd high nibble -> odd low nibble -> even high nibble -> even low nibble'.
status_t SDMMCHOST_StartBoot ( sdmmchost_t host,
sdmmchost_boot_config_t hostConfig,
sdmmchost_cmd_t cmd,
uint8_t *  buffer 
)
Parameters
hosthost handler
hostConfigboot configuration
cmdboot command
bufferbuffer address
status_t SDMMCHOST_ReadBootData ( sdmmchost_t host,
sdmmchost_boot_config_t hostConfig,
uint8_t *  buffer 
)
Parameters
hosthost handler
hostConfigboot configuration
bufferbuffer address
static void SDMMCHOST_EnableBoot ( sdmmchost_t host,
bool  enable 
)
inlinestatic
Parameters
hosthost handler
enabletrue is enable, false is disable
status_t SDMMCHOST_CardIntInit ( sdmmchost_t host,
void *  sdioInt 
)
Parameters
hosthost handler
sdioIntcard interrupt configuration
static void SDMMCHOST_ForceClockOn ( sdmmchost_t host,
bool  enable 
)
inlinestatic
Parameters
hosthost handler
enabletrue is enable, false is disable.
void SDMMCHOST_SwitchToVoltage ( sdmmchost_t host,
uint32_t  voltage 
)
Parameters
hosthost handler
voltageswitch to voltage level.
status_t SDMMCHOST_CardDetectInit ( sdmmchost_t host,
void *  cd 
)
Parameters
hosthost handler
cdcard detect configuration
status_t SDMMCHOST_PollingCardDetectStatus ( sdmmchost_t host,
uint32_t  waitCardStatus,
uint32_t  timeout 
)
Parameters
hosthost handler
waitCardStatusstatus which user want to wait
timeoutwait time out.
Return values
kStatus_Successdetect card insert
kStatus_Failcard insert event fail
uint32_t SDMMCHOST_CardDetectStatus ( sdmmchost_t host)
Parameters
hosthost handler
Return values
kSD_Inserted,kSD_Removed
status_t SDMMCHOST_Init ( sdmmchost_t host)
Parameters
hosthost handler
Return values
kStatus_Successhost init success
kStatus_Failevent fail
void SDMMCHOST_Deinit ( sdmmchost_t host)
Parameters
hosthost handler
void SDMMCHOST_SetCardPower ( sdmmchost_t host,
bool  enable 
)
Parameters
hosthost handler
enabletrue is power on, false is power down.
status_t SDMMCHOST_TransferFunction ( sdmmchost_t host,
sdmmchost_transfer_t content 
)
Parameters
hosthost handler
contenttransfer content.
status_t SDMMCHOST_ExecuteTuning ( sdmmchost_t host,
uint32_t  tuningCmd,
uint32_t *  revBuf,
uint32_t  blockSize 
)
Parameters
hosthost handler
tuningCmdtuning command.
revBufreceive buffer pointer
blockSizetuning data block size.
void SDMMCHOST_Reset ( sdmmchost_t host)
Deprecated:
Do not use this function. Application should not call this function, driver is responsible for the host reset..
Parameters
hosthost handler
status_t SDMMCHOST_WaitCardDetectStatus ( SDMMCHOST_TYPE *  hostBase,
const sdmmchost_detect_card_t *  cd,
bool  waitCardStatus 
)
Deprecated:
Do not use this function.It has been superceded by SDMMCHOST_PollingCardDetectStatus..
Parameters
hostBasehost handler
cdcard detect configuration.
waitCardStatusstatus to wait.
void SDMMCHOST_PowerOffCard ( SDMMCHOST_TYPE *  base,
const sdmmchost_pwr_card_t pwr 
)
Deprecated:
Do not use this function.It has been superceded by SDMMCHOST_SetCardPower..
Parameters
basehost base address.
pwrdepend on user define power configuration.
void SDMMCHOST_PowerOnCard ( SDMMCHOST_TYPE *  base,
const sdmmchost_pwr_card_t pwr 
)
Deprecated:
Do not use this function.It has been superceded by SDMMCHOST_SetCardPower..
Parameters
basehost base address.
pwrdepend on user define power configuration.