📄 csl_mmcsd.h
字号:
typedef enum {
CSL_MMCSD_MEMCLK_DISABLE = CSL_MMCSD_MMCCLK_CLKEN_DISABLE,/**< <b>: Memory
clock appears on SD_CLK pin only when required </b> */
CSL_MMCSD_MEMCLK_ENABLE = CSL_MMCSD_MMCCLK_CLKEN_ENABLE
/**< <b>: Memory clock always appears on SD_CLK pin </b> */
} CSL_MmcsdMclkCtl;
/**
@} */
/**\defgroup CSL_MMCSD_ENDIAN_ENUM MMC/SD Endianness
* \ingroup CSL_MMCSD_ENUM
*
*
@{*/
/** \brief Enumeration for MMC/SD endianness */
typedef enum {
CSL_MMCSD_LITTLE_ENDIAN,/**< <b>: Little endian </b> */
CSL_MMCSD_BIG_ENDIAN/**< <b>: Big endian </b>*/
} CSL_MmcsdEndian;
/**
@} */
/**\defgroup CSL_MMCSD_DAT3_ENUM MMC/SD DAT3 Edge Detection
* \ingroup CSL_MMCSD_ENUM
*
*
@{*/
/** \brief Enumeration for MMC/SD DAT3 edge detection */
typedef enum {
CSL_MMCSD_DAT3_DISABLE = CSL_MMCSD_MMCCTL_DATEG_DISABLE,
/**< <b>: DAT3 edge detection is disabled </b> */
CSL_MMCSD_DAT3_RISING_EDGE = CSL_MMCSD_MMCCTL_DATEG_R_EDGE,
/**< <b>: DAT3 rising edge detection is enabled </b>*/
CSL_MMCSD_DAT3_FALLING_EDGE = CSL_MMCSD_MMCCTL_DATEG_F_EDGE,
/**< <b>: DAT3 falling edge detection is enabled </b>*/
CSL_MMCSD_DAT3_DUAL_EDGE = CSL_MMCSD_MMCCTL_DATEG_RF_EDGE
/**< <b>: DAT3 both edge detection is enabled </b>*/
} CSL_MmcsdDat3EdgeDetect;
/**
@} */
/**\defgroup CSL_MMCSD_BUSWIDTH_ENUM MMC/SD Bus Width
* \ingroup CSL_MMCSD_ENUM
*
*
@{*/
/** \brief Enumeration for MMC/SD bus widths */
typedef enum {
CSL_MMCSD_SD_BUSWIDTH_1BIT = CSL_MMCSD_MMCCTL_WIDTH_BIT1,
/**< <b>: Bus width of MMCSD is 1 </b>*/
CSL_MMCSD_SD_BUSWIDTH_4BIT = CSL_MMCSD_MMCCTL_WIDTH_BIT4
/**< <b>: Bus width of MMCSD is 4 </b>*/
} CSL_MmcsdBusWidth;
/**
@} */
/**\defgroup CSL_MMCSD_FIFOLEV_ENUM FIFO Threshold
* \ingroup CSL_MMCSD_ENUM
*
*
@{*/
/** \brief Enumeration for MMC/SD FIFO threshold level */
typedef enum {
CSL_MMCSD_FIFO_THRESHOLD_128BIT = CSL_MMCSD_MMCFIFOCTL_FIFOLEV_128BIT,
/**< <b>: DMA Request triggered every 128 bit
sent/received </b> */
CSL_MMCSD_FIFO_THRESHOLD_256BIT = CSL_MMCSD_MMCFIFOCTL_FIFOLEV_256BIT
/** <b>: DMA Request triggered every 256 bit
sent/received </b> */
} CSL_MmcsdFifoThreshold;
/**
@} */
/**\defgroup CSL_MMCSD_FIFODIR_ENUM FIFO Direction
* \ingroup CSL_MMCSD_ENUM
*
*
@{*/
/** \brief Enumeration for MMC/SD FIFO direction */
typedef enum {
CSL_MMCSD_FIFODIR_READ = CSL_MMCSD_MMCFIFOCTL_FIFODIR_READ,
/**< <b>: DMA Request triggered every 128 bit
sent/received </b> */
CSL_MMCSD_FIFODIR_WRITE = CSL_MMCSD_MMCFIFOCTL_FIFODIR_WRITE
/** <b>: DMA Request triggered every 256 bit
sent/received </b> */
} CSL_MmcsdFifoDir;
/**
@} */
/**\defgroup CSL_MMCSD_FIFOACCWD_ENUM FIFO Access Width
* \ingroup CSL_MMCSD_ENUM
*
*
@{*/
/** \brief Enumeration for MMC/SD FIFO access width
* \n Used by FIFO control to determine full/empty flag
*/
typedef enum {
CSL_MMCSD_FIFOACCWD_1BYTE = CSL_MMCSD_MMCFIFOCTL_ACCWD_1BYTE,
/**< <b>: CPU/DMA access width of 1 byte </b> */
CSL_MMCSD_FIFOACCWD_2BYTES = CSL_MMCSD_MMCFIFOCTL_ACCWD_2BYTES,
/**< <b>: CPU/DMA access width of 2 bytes </b> */
CSL_MMCSD_FIFOACCWD_3BYTES = CSL_MMCSD_MMCFIFOCTL_ACCWD_3BYTES,
/**< <b>: CPU/DMA access width of 3 bytes </b> */
CSL_MMCSD_FIFOACCWD_4BYTES = CSL_MMCSD_MMCFIFOCTL_ACCWD_4BYTES
/**< <b>: CPU/DMA access width of 4 bytes </b> */
} CSL_MmcsdFifoAccessWidth;
/**
@} */
/**\defgroup CSL_MMCSD_CMDTYP_ENUM MMC/SD Command Type
* \ingroup CSL_MMCSD_ENUM
*
*
@{*/
/** \brief Enumeration for MMC/SD command to write to MMCCMD register */
typedef enum {
CSL_MMCSD_CMDTYP_GO_IDLE_STATE =
CSL_FMKT (MMCSD_MMCCMD_DMATRIG, NO)
|CSL_FMKT (MMCSD_MMCCMD_DCLR, NO)
|CSL_FMKT (MMCSD_MMCCMD_STRMTP, NO)
|CSL_FMKT (MMCSD_MMCCMD_WDATX, NO)
|CSL_FMKT (MMCSD_MMCCMD_DTRW, NO)
|CSL_FMKT (MMCSD_MMCCMD_BSYEXP, NO)
|CSL_FMKT (MMCSD_MMCCMD_RSPFMT, NORSP)
|CSL_FMKT (MMCSD_MMCCMD_INITCK, NO)
|CSL_FMKT (MMCSD_MMCCMD_PPLEN, PP)
|CSL_FMK (MMCSD_MMCCMD_CMD, 0),
/**< <b>: Resets all cards to idle state </b> */
CSL_MMCSD_CMDTYP_MMC_SEND_OP_COND =
CSL_FMKT (MMCSD_MMCCMD_DMATRIG, NO)
|CSL_FMKT (MMCSD_MMCCMD_DCLR, NO)
|CSL_FMKT (MMCSD_MMCCMD_STRMTP,NO)
|CSL_FMKT (MMCSD_MMCCMD_WDATX, NO)
|CSL_FMKT (MMCSD_MMCCMD_DTRW, NO)
|CSL_FMKT (MMCSD_MMCCMD_BSYEXP, NO)
|CSL_FMKT (MMCSD_MMCCMD_RSPFMT, R3)
|CSL_FMKT (MMCSD_MMCCMD_INITCK, NO)
|CSL_FMKT (MMCSD_MMCCMD_PPLEN, OD)
|CSL_FMK (MMCSD_MMCCMD_CMD, 1),
/**< <b>: Asks all cards in idle state to send their operation conditions
register contents in the response on the CMD line </b> */
CSL_MMCSD_CMDTYP_ALL_SEND_CID =
CSL_FMKT (MMCSD_MMCCMD_DMATRIG, NO)
|CSL_FMKT (MMCSD_MMCCMD_DCLR, NO)
|CSL_FMKT (MMCSD_MMCCMD_STRMTP, NO)
|CSL_FMKT (MMCSD_MMCCMD_WDATX, NO)
|CSL_FMKT (MMCSD_MMCCMD_DTRW, NO)
|CSL_FMKT (MMCSD_MMCCMD_BSYEXP, NO)
|CSL_FMKT (MMCSD_MMCCMD_RSPFMT, R2)
|CSL_FMKT (MMCSD_MMCCMD_INITCK, NO)
|CSL_FMKT (MMCSD_MMCCMD_PPLEN, OD)
|CSL_FMK (MMCSD_MMCCMD_CMD, 2),
/**< <b>: Asks all cards to send their CID numberson the CMD line </b>*/
CSL_MMCSD_CMDTYP_MMC_SET_RELATIVE_ADDR =
CSL_FMKT (MMCSD_MMCCMD_DMATRIG, NO)
|CSL_FMKT (MMCSD_MMCCMD_DCLR, NO)
|CSL_FMKT (MMCSD_MMCCMD_STRMTP, NO)
|CSL_FMKT (MMCSD_MMCCMD_WDATX, NO)
|CSL_FMKT (MMCSD_MMCCMD_DTRW, NO)
|CSL_FMKT (MMCSD_MMCCMD_BSYEXP, NO)
|CSL_FMKT (MMCSD_MMCCMD_RSPFMT, R1)
|CSL_FMKT (MMCSD_MMCCMD_INITCK, NO)
|CSL_FMKT (MMCSD_MMCCMD_PPLEN, OD)
|CSL_FMK (MMCSD_MMCCMD_CMD, 3),
/**< <b>: Assigns relative address to the card </b>*/
CSL_MMCSD_CMDTYP_SD_SET_RELATIVE_ADDR =
CSL_FMKT (MMCSD_MMCCMD_DMATRIG, NO)
|CSL_FMKT (MMCSD_MMCCMD_DCLR, NO)
|CSL_FMKT (MMCSD_MMCCMD_STRMTP, NO)
|CSL_FMKT (MMCSD_MMCCMD_WDATX, NO)
|CSL_FMKT (MMCSD_MMCCMD_DTRW, NO)
|CSL_FMKT (MMCSD_MMCCMD_BSYEXP, NO)
|CSL_FMKT (MMCSD_MMCCMD_RSPFMT, R6)
|CSL_FMKT (MMCSD_MMCCMD_INITCK, NO)
|CSL_FMKT (MMCSD_MMCCMD_PPLEN, OD)
|CSL_FMK (MMCSD_MMCCMD_CMD, 3),
/**< <b>: Assigns relative address to the SD card </b> */
CSL_MMCSD_CMDTYP_SET_DSR =
CSL_FMKT (MMCSD_MMCCMD_DMATRIG, NO)
|CSL_FMKT (MMCSD_MMCCMD_DCLR, NO)
|CSL_FMKT (MMCSD_MMCCMD_STRMTP, NO)
|CSL_FMKT (MMCSD_MMCCMD_WDATX, NO)
|CSL_FMKT (MMCSD_MMCCMD_DTRW, NO)
|CSL_FMKT (MMCSD_MMCCMD_BSYEXP, NO)
|CSL_FMKT (MMCSD_MMCCMD_RSPFMT, NORSP)
|CSL_FMKT (MMCSD_MMCCMD_INITCK, NO)
|CSL_FMKT (MMCSD_MMCCMD_PPLEN, PP)
|CSL_FMK (MMCSD_MMCCMD_CMD, 4),
/**< <b>: Programs the DSR of all cards </b> */
CSL_MMCSD_CMDTYP_SD_ACMD6_SET_BUSWIDTH =
CSL_FMKT (MMCSD_MMCCMD_DMATRIG, NO)
|CSL_FMKT (MMCSD_MMCCMD_DCLR, NO)
|CSL_FMKT (MMCSD_MMCCMD_STRMTP, NO)
|CSL_FMKT (MMCSD_MMCCMD_WDATX, NO)
|CSL_FMKT (MMCSD_MMCCMD_DTRW, NO)
|CSL_FMKT (MMCSD_MMCCMD_BSYEXP, NO)
|CSL_FMKT (MMCSD_MMCCMD_RSPFMT, R1)
|CSL_FMKT (MMCSD_MMCCMD_INITCK, NO)
|CSL_FMKT (MMCSD_MMCCMD_PPLEN, PP)
|CSL_FMK (MMCSD_MMCCMD_CMD, 6),
/**< <b>: Sets buswidth of SD card </b> */
CSL_MMCSD_CMDTYP_SELECT_CARD =
CSL_FMKT (MMCSD_MMCCMD_DMATRIG, NO)
|CSL_FMKT (MMCSD_MMCCMD_DCLR, NO)
|CSL_FMKT (MMCSD_MMCCMD_STRMTP, NO)
|CSL_FMKT (MMCSD_MMCCMD_WDATX, NO)
|CSL_FMKT (MMCSD_MMCCMD_DTRW, NO)
|CSL_FMKT (MMCSD_MMCCMD_BSYEXP, BUSY)
|CSL_FMKT (MMCSD_MMCCMD_RSPFMT, R1)
|CSL_FMKT (MMCSD_MMCCMD_INITCK, NO)
|CSL_FMKT (MMCSD_MMCCMD_PPLEN, PP)
|CSL_FMK (MMCSD_MMCCMD_CMD, 7),
/**< <b>: Command toggles a card between the stand-by and transfer states or
between the programming and disconnect states. In both cases the card is
selected by its own relative address and gets deselected by any other
address; address 0 deselects all </b> */
CSL_MMCSD_CMDTYP_DESELECT_CARD =
CSL_FMKT (MMCSD_MMCCMD_DMATRIG, NO)
|CSL_FMKT (MMCSD_MMCCMD_DCLR, NO)
|CSL_FMKT (MMCSD_MMCCMD_STRMTP, NO)
|CSL_FMKT (MMCSD_MMCCMD_WDATX, NO)
|CSL_FMKT (MMCSD_MMCCMD_DTRW, NO)
|CSL_FMKT (MMCSD_MMCCMD_BSYEXP, NO)
|CSL_FMKT (MMCSD_MMCCMD_RSPFMT, NORSP)
|CSL_FMKT (MMCSD_MMCCMD_INITCK, NO)
|CSL_FMKT (MMCSD_MMCCMD_PPLEN, PP)
|CSL_FMK (MMCSD_MMCCMD_CMD, 7),
/**< <b>: Command toggles a card between the stand-by and transfer states or
between the programming and disconnect states. In both cases the card is
selected by its own relative address and gets deselected by any other
address; address 0 deselects all </b> */
CSL_MMCSD_CMDTYP_SEND_CSD =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -