MG32F157 Standard Peripherals Firmware Library
Data Structures | Macros | Functions
mg32f157_sdio.h File Reference

This file contains all the functions prototypes for the SDIO firmware library. More...

#include "mg32f157.h"

Go to the source code of this file.

Data Structures

struct  SDIO_InitTypeDef
 SDIO Init structure definition. More...
 
struct  SDIO_CmdInitTypeDef
 SDIO Command Control structure. More...
 
struct  SDIO_DataInitTypeDef
 SDIO Data Control structure. More...
 

Macros

#define IS_SDIO_ALL_PERIPH(SDIOX)   (((SDIOX) == SDIO))
 
#define SDIO_CLOCK_POWER_SAVE_DISABLE   0x00000000U
 
#define SDIO_CLOCK_POWER_SAVE_ENABLE   0x0000FFFFU
 
#define IS_SDIO_CLOCK_POWER_SAVE(SAVE)
 
#define SDIO_BUS_WIDE_1B   0x00000000U
 
#define SDIO_BUS_WIDE_4B   0x0000FFFFU
 
#define SDIO_BUS_WIDE_8B   0xFFFFFFFFU
 
#define IS_SDIO_BUS_WIDE(WIDE)
 
#define IS_SDIO_CLKDIV(DIV)   ((DIV) <= 0xFFU)
 
#define IS_SDIO_CMD_INDEX(INDEX)   ((INDEX) < 0x40U)
 
#define SDIO_Response_No   0x00000000U
 
#define SDIO_Response_Short   0x00000040U
 
#define SDIO_Response_Long   0x000000C0U
 
#define IS_SDIO_RESPONSE(RESPONSE)
 
#define SDIO_CPSM_Disable   0x00000000U
 
#define SDIO_CPSM_Enable   0
 
#define IS_SDIO_CPSM(CPSM)   1
 
#define SDIO_RESP1   0x00000000U
 
#define SDIO_RESP2   0x00000004U
 
#define SDIO_RESP3   0x00000008U
 
#define SDIO_RESP4   0x0000000CU
 
#define IS_SDIO_RESP(RESP)
 
#define IS_SDIO_DATA_LENGTH(LENGTH)   ((LENGTH) <= 0x01FFFFFFU)
 
#define SDIO_DATABLOCK_SIZE_1B   0x00000000U
 
#define SDIO_DATABLOCK_SIZE_2B   0x00000002U
 
#define SDIO_DATABLOCK_SIZE_4B   0x00000004U
 
#define SDIO_DATABLOCK_SIZE_8B   0x00000008U
 
#define SDIO_DATABLOCK_SIZE_16B   0x00000010U
 
#define SDIO_DATABLOCK_SIZE_32B   0x00000020U
 
#define SDIO_DATABLOCK_SIZE_64B   0x00000040U
 
#define SDIO_DATABLOCK_SIZE_128B   0x00000080U
 
#define SDIO_DATABLOCK_SIZE_256B   0x00000100U
 
#define SDIO_DATABLOCK_SIZE_512B   0x00000200U
 
#define SDIO_DATABLOCK_SIZE_1024B   0x00000400U
 
#define SDIO_DATABLOCK_SIZE_2048B   0x00000800U
 
#define SDIO_DATABLOCK_SIZE_4096B   0x00001000U
 
#define SDIO_DATABLOCK_SIZE_8192B   0x00002000U
 
#define SDIO_DATABLOCK_SIZE_16384B   0x00004000U
 
#define SDIO_DATABLOCK_SIZE_32768B   0x00008000U
 
#define IS_SDIO_BLOCK_SIZE(SIZE)
 
#define SDIO_TransferDir_ToCard   0x00000000U
 
#define SDIO_TransferDir_ToSDIO   0x00000001U
 
#define IS_SDIO_TRANSFER_DIR(DIR)
 
#define SDIO_TransferMode_Block   0x00000000U
 
#define SDIO_TransferMode_Stream   SDIO_CMD_TRANSFER_MODE
 
#define IS_SDIO_TRANSFER_MODE(MODE)
 
#define SDIO_DPSM_Disable   0x00000000U
 
#define SDIO_DPSM_Enable   0x00000001U
 
#define IS_SDIO_DPSM(DPSM)
 
#define SDIO_IT_CCRCFAIL   SDIO_RINTSTS_RESPCRCERR
 
#define SDIO_IT_DCRCFAIL   SDIO_RINTSTS_DATACRCERR
 
#define SDIO_IT_CTIMEOUT   SDIO_RINTSTS_RESPTIMEOUT
 
#define SDIO_IT_DTIMEOUT   SDIO_RINTSTS_DATATIMEOUT
 
#define SDIO_IT_TXUNDERR   SDIO_RINTSTS_UNDER_OVER_RUN
 
#define SDIO_IT_RXOVERR   SDIO_RINTSTS_UNDER_OVER_RUN
 
#define SDIO_IT_CMDREND   SDIO_RINTSTS_CMDDONE
 
#define SDIO_IT_CMDSENT   SDIO_RINTSTS_CMDDONE
 
#define SDIO_IT_DATAEND   SDIO_RINTSTS_DTRANSFEROVER
 
#define SDIO_IT_STBITERR   SDIO_RINTSTS_STARTERROR
 
#define SDIO_IT_DBCKEND   SDIO_RINTSTS_DTRANSFEROVER
 
#define SDIO_IT_TXFIFOF   SDIO_RINTSTS_UNDER_OVER_RUN
 
#define SDIO_IT_RXFIFOF   SDIO_RINTSTS_UNDER_OVER_RUN
 
#define SDIO_IT_TXDAVL   SDIO_RINTSTS_TXDATAREQ
 
#define SDIO_IT_RXDAVL   SDIO_RINTSTS_RXDATAREQ
 
#define SDIO_IT_SDIOIT   SDIO_RINTSTS_SDIOIT
 
#define SDIO_IT_ALL   0xFFFFFFFF
 
#define IS_SDIO_IT(IT)
 
#define SDIO_FLAG_CCRCFAIL   SDIO_RINTSTS_RESPCRCERR
 
#define SDIO_FLAG_DCRCFAIL   SDIO_RINTSTS_DATACRCERR
 
#define SDIO_FLAG_CTIMEOUT   SDIO_RINTSTS_RESPTIMEOUT
 
#define SDIO_FLAG_DTIMEOUT   SDIO_RINTSTS_DATATIMEOUT
 
#define SDIO_FLAG_TXUNDERR   SDIO_RINTSTS_UNDER_OVER_RUN
 
#define SDIO_FLAG_RXOVERR   SDIO_RINTSTS_UNDER_OVER_RUN
 
#define SDIO_FLAG_CMDREND   SDIO_RINTSTS_CMDDONE
 
#define SDIO_FLAG_CMDSENT   SDIO_RINTSTS_CMDDONE
 
#define SDIO_FLAG_DATAEND   SDIO_RINTSTS_DTRANSFEROVER
 
#define SDIO_FLAG_STBITERR   SDIO_RINTSTS_STARTERROR
 
#define SDIO_FLAG_DBCKEND   SDIO_RINTSTS_DTRANSFEROVER
 
#define SDIO_FLAG_BUSYCLEAR   SDIO_RINTSTS_BUSYCLEAR
 
#define SDIO_FLAG_TXFIFOF   SDIO_RINTSTS_UNDER_OVER_RUN
 
#define SDIO_FLAG_RXFIFOF   SDIO_RINTSTS_UNDER_OVER_RUN
 
#define SDIO_FLAG_TXDAVL   SDIO_RINTSTS_TXDATAREQ
 
#define SDIO_FLAG_RXDAVL   SDIO_RINTSTS_RXDATAREQ
 
#define SDIO_FLAG_SDIOIT   SDIO_RINTSTS_SDIOIT
 
#define SDIO_FLAG_ALL   0xFFFFFFFF
 
#define SDIO_STATIC_FLAGS
 
#define SDIO_CMD_CLK_UPDATE   0xA0202000
 
#define SDIO_CMD_COMPLATE_FLAG   0x80000000
 
#define SDIO_CTRL_RESET   0x00000007
 
#define SDIO_PowerState_OFF   0x01
 
#define SDIO_PowerState_ON   0x02
 

Functions

void SDIO_DeInit (SDIO_TypeDef *SDIOx)
 Deinitializes the SDIOx peripheral registers to their default reset values. More...
 
void SDIO_Init (SDIO_TypeDef *SDIOx, SDIO_InitTypeDef *SDIO_InitStruct)
 Initializes the SDIO according to the specified parameters in the SDIO_InitTypeDef and create the associated handle. More...
 
void SDIO_ClockUpdate (SDIO_TypeDef *SDIOx)
 Update the SDIO Clock. More...
 
void SDIO_ControlReset (SDIO_TypeDef *SDIOx)
 Reset the SDIO Controller. More...
 
void SDIO_PowerON (SDIO_TypeDef *SDIOx)
 Set SDIO Power state to ON. More...
 
void SDIO_PowerOFF (SDIO_TypeDef *SDIOx)
 Set SDIO Power state to OFF. More...
 
uint32_t SDIO_GetPower (SDIO_TypeDef *SDIOx)
 Get SDIO Power state. More...
 
void SDIO_ClockCmd (SDIO_TypeDef *SDIOx, FunctionalState NewState)
 Enables or disables the SDIO Clock. More...
 
uint8_t SDIO_GetCommandResponse (SDIO_TypeDef *SDIOx)
 Return the command index of last command for which response received. More...
 
uint32_t SDIO_GetResponse (SDIO_TypeDef *SDIOx, uint32_t Response)
 Return the response received from the card for the last command. More...
 
void SDIO_ConfigData (SDIO_TypeDef *SDIOx, SDIO_DataInitTypeDef *Data)
 Configure the SDIO data path according to the specified parameters in the SDIO_DataInitTypeDef. More...
 
void SDIO_SendCommand (SDIO_TypeDef *SDIOx, SDIO_CmdInitTypeDef *Command)
 Configure the SDIO command path according to the specified parameters in SDIO_CmdInitTypeDef structure and send the command. More...
 
uint32_t SDIO_ReadFIFO (SDIO_TypeDef *SDIOx)
 Read data (word) from Rx FIFO in blocking mode (polling) More...
 
void SDIO_WriteFIFO (SDIO_TypeDef *SDIOx, uint32_t *pWriteData)
 Write data (word) to Tx FIFO in blocking mode (polling) More...
 
FlagStatus SDIO_GetFlagStatus (SDIO_TypeDef *SDIOx, uint32_t SDIO_FLAG)
 Checks whether the specified SDIO flag is set or not. More...
 
void SDIO_ClearFlagStatus (SDIO_TypeDef *SDIOx, uint32_t SDIO_FLAG)
 Clears the SDIO's pending flags. More...
 
ITStatus SDIO_GetITStatus (SDIO_TypeDef *SDIOx, uint32_t SDIO_IT)
 Checks whether the specified SDIO interrupt has occurred or not. More...
 
void SDIO_ClearITPendingBit (SDIO_TypeDef *SDIOx, uint32_t SDIO_IT)
 Clears the SDIO's interrupt pending bits. More...
 
void SDIO_ConfigBusWidth (SDIO_TypeDef *SDIOx, uint32_t BusWidth)
 Configure the width of the SDIO data bus. More...
 
void SDIO_DMACmd (SDIO_TypeDef *SDIOx, FunctionalState NewState)
 Enables or disables the SDIO DMA request. More...
 
void SDIO_ITConfig (SDIO_TypeDef *SDIOx, uint32_t SDIO_IT, FunctionalState NewState)
 Enables or disables the SDIO interrupts. More...
 

Detailed Description

This file contains all the functions prototypes for the SDIO firmware library.

Author
MegawinTech Application Team
Version
V0.0.4
Date
16-June-2023