SAMV71 Xplained Ultra Software Package 1.5

sdmmc_cmd.h File Reference

#include <stdint.h>

Go to the source code of this file.

Data Structures

union  uSdmmcCmdOp
struct  uSdmmcCmdOp::_SdmmcOpBm
struct  sSdmmcCommand
struct  sSdHalFunctions
 SD/MMC card HAL functions. More...
struct  sSdCard
 SD/MMC card driver structure. It holds the current command being processed and the SD/MMC card address. More...
struct  MmcSwitchArg
struct  SdSwitchArg
struct  SdioRwDirectArg
struct  SdioRwExtArg
struct  SdmmcR1b
struct  SdmmcR3
struct  MmcR4
struct  SdioR4
struct  SdmmcR5
struct  SdR6
struct  SdR7

Defines

#define CARD_TYPE_bmHC   (1 << 0)
#define CARD_TYPE_bmSDMMC   (0x3 << 1)
#define CARD_TYPE_bmUNKNOWN   (0x0 << 1)
#define CARD_TYPE_bmSD   (0x1 << 1)
#define CARD_TYPE_bmMMC   (0x2 << 1)
#define CARD_TYPE_bmSDIO   (1 << 3)
#define CARD_UNKNOWN   (0)
#define CARD_SD   (CARD_TYPE_bmSD)
#define CARD_SDHC   (CARD_TYPE_bmSD|CARD_TYPE_bmHC)
#define CARD_MMC   (CARD_TYPE_bmMMC)
#define CARD_MMCHD   (CARD_TYPE_bmMMC|CARD_TYPE_bmHC)
#define CARD_SDIO   (CARD_TYPE_bmSDIO)
#define CARD_SDCOMBO   (CARD_TYPE_bmSDIO|CARD_SD)
#define CARD_SDHCCOMBO   (CARD_TYPE_bmSDIO|CARD_SDHC)
#define SDMMC_SUCCESS   SDMMC_OK
#define SDMMC_ERROR_LOCKED   SDMMC_LOCKED
#define SDMMC_ERROR   SDMMC_ERR
#define SDMMC_ERROR_NORESPONSE   SDMMC_NO_RESPONSE
#define SDMMC_ERROR_NOT_INITIALIZED   SDMMC_NOT_INITIALIZED
#define SDMMC_ERROR_BUSY   SDMMC_BUSY
#define SDMMC_ERROR_PARAM   SDMMC_PARAM
#define SDMMC_ERROR_STATE   SDMMC_STATE
#define SDMMC_ERROR_USER_CANCEL   SDMMC_USER_CANCEL
#define SDMMC_ERROR_NOT_SUPPORT   SDMMC_NOT_SUPPORTED
#define SDMMC_STATE_OFF   0x0
#define SDMMC_STATE_ON   0x1
#define SDMMC_STATE_IDENT   0x2
#define SDMMC_STATE_INACTIVE   0x3
#define SDMMC_STATE_IRQ   0x4
#define SDMMC_STATE_STBY   0x5
#define SDMMC_STATE_TRAN   0x6
#define SDMMC_STATE_DATA_WR   0x7
#define SDMMC_STATE_DATA_RD   0x8
#define SDMMC_IOCTL_BUSY_CHECK   0x0
#define SDMMC_IOCTL_POWER   0x1
#define SDMMC_IOCTL_CANCEL_CMD   0x2
#define SDMMC_IOCTL_RESET   0x3
#define SDMMC_IOCTL_SET_CLOCK   0x11
#define SDMMC_IOCTL_SET_BUSMODE   0x12
#define SDMMC_IOCTL_SET_HSMODE   0x13
#define SDMMC_IOCTL_SET_BOOTMODE   0x14
#define SDMMC_IOCTL_GET_CLOCK   0x21
#define SDMMC_IOCTL_GET_BUSMODE   0x22
#define SDMMC_IOCTL_GET_HSMODE   0x23
#define SDMMC_IOCTL_GET_BOOTMODE   0x24
#define SDMMC_CMD_bmPOWERON   (0x1)
#define SDMMC_CMD_bmCOMMAND   (0x1 << 1)
#define SDMMC_CMD_bmDATAMASK   (0x3 << 2)
#define SDMMC_CMD_bmNODATA   (0x0 << 2)
#define SDMMC_CMD_RX   0x1
#define SDMMC_CMD_bmDATARX   (0x1 << 2)
#define SDMMC_CMD_TX   0x2
#define SDMMC_CMD_bmDATATX   (0x2 << 2)
#define SDMMC_CMD_STOPXFR   0x3
#define SDMMC_CMD_bmSTOPXFR   (0x3 << 2)
#define SDMMC_CMD_bmRESPMASK   (0x7 << 4)
#define SDMMC_CMD_bmRESP(R)   (((R)&0x7) << 4)
#define SDMMC_CMD_bmCRC   (0x1 << 7)
#define SDMMC_CMD_bmOD   (0x1 << 8)
#define SDMMC_CMD_bmIO   (0x1 << 9)
#define SDMMC_CMD_bmBUSY   (0x1 << 10)
#define SDMMC_CMD_POWERONINIT   (SDMMC_CMD_bmPOWERON)
#define SDMMC_CMD_DATARX   (SDMMC_CMD_bmDATARX)
#define SDMMC_CMD_DATATX   (SDMMC_CMD_bmDATATX)
#define SDMMC_CMD_CNODATA(R)
#define SDMMC_CMD_CDATARX(R)
#define SDMMC_CMD_CDATATX(R)
#define SDMMC_CMD_CSTOP
#define SDMMC_CMD_STOPTOKEN   (SDMMC_CMD_bmSTOPXFR)
#define SDMMC_BLOCK_SIZE   512

Typedefs

typedef void(* fSdmmcCallback )(uint32_t status, void *pArg)
typedef uint32_t(* fSdmmcLock )(void *pDrv, uint8_t bSlot)
typedef uint32_t(* fSdmmcRelease )(void *pDrv)
typedef uint32_t(* fSdmmcSendCommand )(void *pDrv, sSdmmcCommand *pCmd)
typedef uint32_t(* fSdmmcIOCtrl )(void *pDrv, uint32_t dwCtrl, uint32_t param)

Enumerations

enum  eSDMMC_RC {
  SDMMC_OK = 0, SDMMC_LOCKED = 1, SDMMC_BUSY = 2, SDMMC_NO_RESPONSE = 3,
  SDMMC_CHANGED, SDMMC_ERR, SDMMC_ERR_IO, SDMMC_ERR_RESP,
  SDMMC_NOT_INITIALIZED, SDMMC_PARAM, SDMMC_STATE, SDMMC_USER_CANCEL,
  SDMMC_NOT_SUPPORTED
}

Detailed Description

Definition in file sdmmc_cmd.h.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines