Kinetis SDK v.1.3 API Reference Manual  Rev. 0
Freescale Semiconductor, Inc.
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages

Overview

This section describes the SDHC Data Types.

Data Structures

struct  sdhc_user_config_t
 SDHC Initialization Configuration Structure. More...
 
struct  sdhc_host_t
 SDHC Host Device Structure. More...
 
struct  sdhc_data_t
 SDHC Data Structure. More...
 
struct  sdhc_request_t
 SDHC Request Structure. More...
 

Enumerations

enum  sdhc_status_t {
  kStatus_SDHC_NoError = 0,
  kStatus_SDHC_InitFailed,
  kStatus_SDHC_SetClockFailed,
  kStatus_SDHC_SetCardToIdle,
  kStatus_SDHC_SetCardBlockSizeFailed,
  kStatus_SDHC_SendAppOpCondFailed,
  kStatus_SDHC_AllSendCidFailed,
  kStatus_SDHC_SendRcaFailed,
  kStatus_SDHC_SendCsdFailed,
  kStatus_SDHC_SendScrFailed,
  kStatus_SDHC_SelectCardFailed,
  kStatus_SDHC_SwitchHighSpeedFailed,
  kStatus_SDHC_SetCardWideBusFailed,
  kStatus_SDHC_SetBusWidthFailed,
  kStatus_SDHC_SendCardStatusFailed,
  kStatus_SDHC_StopTransmissionFailed,
  kStatus_SDHC_CardEraseBlocksFailed,
  kStatus_SDHC_InvalidIORange,
  kStatus_SDHC_BlockSizeNotSupportError,
  kStatus_SDHC_HostIsAlreadyInited,
  kStatus_SDHC_HostNotSupport,
  kStatus_SDHC_HostIsBusyError,
  kStatus_SDHC_DataPrepareError,
  kStatus_SDHC_WaitTimeoutError,
  kStatus_SDHC_OutOfMemory,
  kStatus_SDHC_IoError,
  kStatus_SDHC_CmdIoError,
  kStatus_SDHC_DataIoError,
  kStatus_SDHC_InvalidParameter,
  kStatus_SDHC_RequestFailed,
  kStatus_SDHC_RequestCardStatusError,
  kStatus_SDHC_SwitchFailed,
  kStatus_SDHC_NotSupportYet,
  kStatus_SDHC_TimeoutError,
  kStatus_SDHC_CardNotSupport,
  kStatus_SDHC_CmdError,
  kStatus_SDHC_DataError,
  kStatus_SDHC_DmaAddressError,
  kStatus_SDHC_Failed,
  kStatus_SDHC_NoMedium,
  kStatus_SDHC_UnknownStatus
}
 
enum  sdhc_cd_type_t {
  kSdhcCardDetectGpio = 1,
  kSdhcCardDetectDat3,
  kSdhcCardDetectCdPin,
  kSdhcCardDetectPollDat3,
  kSdhcCardDetectPollCd
}
 
enum  sdhc_power_mode_t {
  kSdhcPowerModeRunning = 0,
  kSdhcPowerModeSuspended,
  kSdhcPowerModeStopped
}
 
enum  sdhc_buswidth_t {
  kSdhcBusWidth1Bit = 1,
  kSdhcBusWidth4Bit,
  kSdhcBusWidth8Bit
}
 
enum  sdhc_transfer_mode_t {
  kSdhcTransModePio = 1,
  kSdhcTransModeSdma,
  kSdhcTransModeAdma1,
  kSdhcTransModeAdma2
}
 
enum  sdhc_resp_type_t {
  kSdhcRespTypeNone = 0,
  kSdhcRespTypeR1,
  kSdhcRespTypeR1b,
  kSdhcRespTypeR2,
  kSdhcRespTypeR3,
  kSdhcRespTypeR4,
  kSdhcRespTypeR5,
  kSdhcRespTypeR5b,
  kSdhcRespTypeR6,
  kSdhcRespTypeR7
}
 

Data Structure Documentation

struct sdhc_user_config_t

Defines the configuration data structure to initialize the SDHC.

Data Fields

uint32_t clock
 Clock rate.
 
sdhc_transfer_mode_t transMode
 SDHC transfer mode.
 
sdhc_cd_type_t cdType
 Card detection type.
 
void(* cardDetectCallback )(bool inserted)
 Callback function for card detect occurs.
 
void(* cardIntCallback )(void)
 Callback function for card interrupt occurs.
 
void(* blockGapCallback )(void)
 Callback function for block gap occurs.
 
struct sdhc_host_t

Defines the Host device structure which includes both the static and the runtime SDHC information.

Data Fields

uint32_t instance
 Host instance index.
 
sdhc_cd_type_t cdType
 Host controller card detection type.
 
sdhc_hal_endian_t endian
 Endian mode the host's working at.
 
uint32_t swFeature
 Host controller driver features.
 
uint32_t flags
 Host flags.
 
uint32_t busWidth
 Current busWidth.
 
uint32_t caps
 Host capability.
 
uint32_t ocrSupported
 Supported OCR.
 
uint32_t clock
 Current clock frequency.
 
sdhc_power_mode_t powerMode
 Current power mode.
 
uint32_t maxClock
 Maximum clock supported.
 
uint32_t maxBlockSize
 Maximum block size supported.
 
uint32_t maxBlockCount
 Maximum block count supported.
 
uint32_t * admaTableAddress
 ADMA table address.
 
struct SdhcRequest * currentReq
 Associated request.
 
void(* cardIntCallback )(void)
 Callback function for card interrupt occurs.
 
void(* cardDetectCallback )(bool inserted)
 Callback function for card detect occurs.
 
void(* blockGapCallback )(void)
 Callback function for block gap occurs.
 
struct sdhc_data_t

Defines the SDHC data structure including the block size/count and flags.

Data Fields

struct SdhcRequest * req
 Associated request.
 
uint32_t blockSize
 Block size.
 
uint32_t blockCount
 Block count.
 
uint32_t bytesTransferred
 Transferred buffer.
 
uint32_t * buffer
 Data buffer.
 
struct sdhc_request_t

Defines the SDHC request structure including the command index, argument, flags, response, and data.

Data Fields

uint32_t cmdIndex
 Command index.
 
uint32_t argument
 Command argument.
 
uint32_t flags
 Flags.
 
sdhc_resp_type_t respType
 Response type.
 
volatile uint32_t error
 Command error code.
 
uint32_t cardErrStatus
 Card error status from response 1.
 
uint32_t response [4]
 Response for this command.
 
semaphore_tcomplete
 Request completion sync object.
 
struct SdhcData * data
 Data associated with request.
 

Enumeration Type Documentation

Enumerator
kStatus_SDHC_NoError 

No error.

kStatus_SDHC_InitFailed 

Driver initialization failed.

kStatus_SDHC_SetClockFailed 

Failed to set clock of host controller.

kStatus_SDHC_SetCardToIdle 

Failed to set card to idle.

kStatus_SDHC_SetCardBlockSizeFailed 

Failed to set card block size.

kStatus_SDHC_SendAppOpCondFailed 

Failed to send app_op_cond command.

kStatus_SDHC_AllSendCidFailed 

Failed to send all_send_cid command.

kStatus_SDHC_SendRcaFailed 

Failed to send send_rca command.

kStatus_SDHC_SendCsdFailed 

Failed to send send_csd command.

kStatus_SDHC_SendScrFailed 

Failed to send send_scr command.

kStatus_SDHC_SelectCardFailed 

Failed to send select_card command.

kStatus_SDHC_SwitchHighSpeedFailed 

Failed to switch to high speed mode.

kStatus_SDHC_SetCardWideBusFailed 

Failed to set card's bus mode.

kStatus_SDHC_SetBusWidthFailed 

Failed to set host's bus mode.

kStatus_SDHC_SendCardStatusFailed 

Failed to send card status.

kStatus_SDHC_StopTransmissionFailed 

Failed to stop transmission.

kStatus_SDHC_CardEraseBlocksFailed 

Failed to erase blocks.

kStatus_SDHC_InvalidIORange 

Invalid read/write/erase address range.

kStatus_SDHC_BlockSizeNotSupportError 

Unsupported block size.

kStatus_SDHC_HostIsAlreadyInited 

Host controller is already initialized.

kStatus_SDHC_HostNotSupport 

Host not error.

kStatus_SDHC_HostIsBusyError 

Bus busy error.

kStatus_SDHC_DataPrepareError 

Data preparation error.

kStatus_SDHC_WaitTimeoutError 

Wait timeout error.

kStatus_SDHC_OutOfMemory 

Out of memory error.

kStatus_SDHC_IoError 

General IO error.

kStatus_SDHC_CmdIoError 

CMD I/O error.

kStatus_SDHC_DataIoError 

Data I/O error.

kStatus_SDHC_InvalidParameter 

Invalid parameter error.

kStatus_SDHC_RequestFailed 

Request failed.

kStatus_SDHC_RequestCardStatusError 

Status error.

kStatus_SDHC_SwitchFailed 

Switch failed.

kStatus_SDHC_NotSupportYet 

Not support.

kStatus_SDHC_TimeoutError 

Timeout error.

kStatus_SDHC_CardNotSupport 

Card does not support.

kStatus_SDHC_CmdError 

CMD error.

kStatus_SDHC_DataError 

Data error.

kStatus_SDHC_DmaAddressError 

DMA address error.

kStatus_SDHC_Failed 

General failed.

kStatus_SDHC_NoMedium 

No medium error.

kStatus_SDHC_UnknownStatus 

Unknown if card is present.

Enumerator
kSdhcCardDetectGpio 

Use GPIO for card detection.

kSdhcCardDetectDat3 

Use DAT3 for card detection.

kSdhcCardDetectCdPin 

Use host controller dedicate CD pin for card detection.

kSdhcCardDetectPollDat3 

Poll DAT3 for card detection.

kSdhcCardDetectPollCd 

Poll host controller dedicate CD pin for card detection.

Enumerator
kSdhcPowerModeRunning 

SDHC is running.

kSdhcPowerModeSuspended 

SDHC is suspended.

kSdhcPowerModeStopped 

SDHC is stopped.

Enumerator
kSdhcBusWidth1Bit 

1-bit bus width.

kSdhcBusWidth4Bit 

4-bit bus width.

kSdhcBusWidth8Bit 

8-bit bus width.

Enumerator
kSdhcTransModePio 

Transfer mode: PIO.

kSdhcTransModeSdma 

Transfer mode: SDMA.

kSdhcTransModeAdma1 

Transfer mode: ADMA1.

kSdhcTransModeAdma2 

Transfer mode: ADMA2.

Enumerator
kSdhcRespTypeNone 

Response type: none.

kSdhcRespTypeR1 

Response type: R1.

kSdhcRespTypeR1b 

Response type: R1b.

kSdhcRespTypeR2 

Response type: R2.

kSdhcRespTypeR3 

Response type: R3.

kSdhcRespTypeR4 

Response type: R4.

kSdhcRespTypeR5 

Response type: R5.

kSdhcRespTypeR5b 

Response type: R5b.

kSdhcRespTypeR6 

Response type: R6.

kSdhcRespTypeR7 

Response type: R7.