Microchip® Advanced Software Framework

hsmci.h File Reference

SAM HSMCI driver.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include "compiler.h"
#include "sd_mmc_protocol.h"

Functions

bool hsmci_adtc_start (sdmmc_cmd_def_t cmd, uint32_t arg, uint16_t block_size, uint16_t nb_block, bool access_block)
 Send an ADTC command on the selected slot An ADTC (Addressed Data Transfer Commands) command is used for read/write access. More...
 
bool hsmci_adtc_stop (sdmmc_cmd_def_t cmd, uint32_t arg)
 Send a command to stop an ADTC command on the selected slot. More...
 
void hsmci_deselect_device (uint8_t slot)
 Deselect a slot. More...
 
uint8_t hsmci_get_bus_width (uint8_t slot)
 Return the maximum bus width of a slot. More...
 
uint32_t hsmci_get_response (void)
 Return the 32 bits response of the last command. More...
 
void hsmci_get_response_128 (uint8_t *response)
 Return the 128 bits response of the last command. More...
 
void hsmci_init (void)
 Initializes the low level driver. More...
 
bool hsmci_is_high_speed_capable (void)
 Return the high speed capability of the driver. More...
 
bool hsmci_read_word (uint32_t *value)
 Read a word on the line. More...
 
void hsmci_select_device (uint8_t slot, uint32_t clock, uint8_t bus_width, bool high_speed)
 Select a slot and initialize it. More...
 
void hsmci_send_clock (void)
 Send 74 clock cycles on the line of selected slot Note: It is required after card plug and before card install. More...
 
bool hsmci_send_cmd (sdmmc_cmd_def_t cmd, uint32_t arg)
 Send a command on the selected slot. More...
 
bool hsmci_start_read_blocks (void *dest, uint16_t nb_block)
 Start a read blocks transfer on the line Note: The driver will use the DMA available to speed up the transfer. More...
 
bool hsmci_start_write_blocks (const void *src, uint16_t nb_block)
 Start a write blocks transfer on the line Note: The driver will use the DMA available to speed up the transfer. More...
 
bool hsmci_wait_end_of_read_blocks (void)
 Wait the end of transfer initiated by mci_start_read_blocks() More...
 
bool hsmci_wait_end_of_write_blocks (void)
 Wait the end of transfer initiated by mci_start_write_blocks() More...
 
bool hsmci_write_word (uint32_t value)
 Write a word on the line. More...