47 #include "mxc_config.h" 48 #include "sdhc_regs.h" 61 #define SDHC_Bus_Voltage_1_8 5 62 #define SDHC_Bus_Voltage_3_0 6 63 #define SDHC_Bus_Voltage_3_3 7 65 #define SDHC_DIRECTION_CFG 0 66 #define SDHC_DIRECTION_READ 1 67 #define SDHC_DIRECTION_WRITE 2 86 typedef void (*sdhc_callback_fn)(
int error_code);
97 sdhc_callback_fn callback;
176 void SDHC_Handler(
void);
void SDHC_ClearFlags(uint32_t mask)
Clear interrupt flags.
unsigned int dma
DMA enable bit.
Definition: sdhc.h:93
void SDHC_Reset(void)
Resets SDHC back to default settings.
void SDHC_Set_Clock_Config(unsigned int clk_div)
Set clock divider.
int SDHC_SendCommandAsync(sdhc_cmd_cfg_t *sd_cmd_cfg)
Send SDHC command Async.
unsigned int clk_div
Divider for SD clock.
Definition: sdhc.h:72
int SDHC_Shutdown(void)
Shutdown SDHC module.
void SDHC_PowerDown(void)
Disable SDHC Bus Power.
int SDHC_Card_Busy(void)
Check if Card is busy.
uint32_t command
Command to be issued on bus (CMD0, CMD1, ...)
Definition: sdhc.h:95
uint32_t block_size
Size of transfer block in bytes.
Definition: sdhc.h:90
uint32_t sdma
SDMA register for read or write transaction.
Definition: sdhc.h:89
void SDHC_Reset_CMD_DAT(void)
Abort any command or data transaction in progress on controller.
unsigned SDHC_GetFlags(void)
Get interrupt flags.
uint32_t SDHC_Get_Response32(void)
Read a 32-bit command response.
void SDHC_Get_Response128(unsigned char *response)
Read a 128-bit command response.
unsigned int bus_voltage
Use constants above for 1.8V, 3.0V, 3.3V.
Definition: sdhc.h:70
uint32_t SDHC_Get_Response32_Auto(void)
Read a 32-bit command response for Auto commands.
uint32_t host_control_1
Host control register 1 to be assigned before command is issued.
Definition: sdhc.h:96
unsigned int direction
Direction of transfer.
Definition: sdhc.h:94
uint32_t arg_1
Argument 1 holds the arguments for the commands sent to the card.
Definition: sdhc.h:92
int SDHC_SendCommand(sdhc_cmd_cfg_t *sd_cmd_cfg)
Send Command, blocking.
unsigned int block_gap
Set block gap register default is 0.
Definition: sdhc.h:71
int SDHC_Init(const sdhc_cfg_t *cfg, const sys_cfg_sdhc_t *sys_cfg)
Initialize and enable SDHC module.
unsigned int SDHC_Get_Clock_Config(void)
Get clock divider.
unsigned int SDHC_Get_Host_Cn_1(void)
Retrieve host control 1 register.
uint32_t block_count
Number of blocks to transfer.
Definition: sdhc.h:91
int SDHC_Card_Inserted(void)
See if card is inserted.
void SDHC_PowerUp(void)
Enable SDHC Bus Power.