HPM SDK
HPMicro Software Development Kit
hpm_sdmmc_sd.h File Reference
#include "hpm_sdmmc_common.h"
#include "hpm_sdmmc_card.h"
#include "hpm_sdmmc_port.h"

Go to the source code of this file.

Data Structures

union  sd_flags_t
 
union  switch_function_status_t
 

Typedefs

typedef struct _sdmmc_sdcard sd_card_t
 

Enumerations

enum  sd_timing_mode_t {
  sd_timing_sdr12_default = 0 , sd_timing_sdr25_highspeed = 1 , sd_timing_sdr50 = 2 , sd_timing_sdr104 = 3 ,
  sd_timing_ddr50 = 4
}
 
enum  sd_drive_strength_t { sd_drive_strength_type_b = 0 , sd_drive_strength_type_a = 1 , sd_drive_strength_type_c = 2 , sd_drive_strength_type_d = 3 }
 
enum  sd_max_current_t { sd_current_limit_200ma , sd_current_limit_400ma , sd_current_limit_600ma , sd_current_limit_800ma }
 
enum  { sd_switch_function_group_access_mode = 1 , sd_switch_function_group_command_system = 2 , sd_switch_function_group_drive_strength = 3 , sd_switch_function_group_power_limit = 4 }
 
enum  { sd_switch_function_mode_check = 0 , sd_switch_function_mode_set = 1 }
 

Functions

hpm_stat_t sd_init (sd_card_t *card)
 Initialize SD device. More...
 
void sd_deinit (const sd_card_t *card)
 De-Initialize SD device. More...
 
hpm_stat_t sd_card_init (sd_card_t *card)
 Initialize SD card. More...
 
void sd_card_deinit (sd_card_t *card)
 De-Initialize SD card. More...
 
hpm_stat_t sd_host_init (sd_card_t *card)
 Initialize SD Host. More...
 
hpm_stat_t sd_host_deinit (sd_card_t *card)
 De-Initialize SD Host. More...
 
bool sd_is_card_present (const sd_card_t *card)
 Check whether the SD card is present. More...
 
hpm_stat_t sd_select_card (const sd_card_t *card, bool is_selected)
 Select/Deselect SD card. More...
 
hpm_stat_t sd_read_status (sd_card_t *card)
 Read SD card status. More...
 
hpm_stat_t sd_read_blocks (sd_card_t *card, uint8_t *buffer, uint32_t start_block, uint32_t block_count)
 Read data from specified SD block. More...
 
hpm_stat_t sd_write_blocks (sd_card_t *card, const uint8_t *buffer, uint32_t start_block, uint32_t block_count)
 Write data to specified SD block. More...
 
hpm_stat_t sd_erase_blocks (sd_card_t *card, uint32_t start_block, uint32_t block_count)
 Erase specified SD ranges. More...
 
hpm_stat_t sd_set_driver_strength (sd_card_t *card, sd_drive_strength_t driver_strength)
 Set the driver strength for SD card. More...
 
hpm_stat_t sd_set_max_current (sd_card_t *card, sd_max_current_t max_current)
 Set the maximum current for SD card. More...
 
hpm_stat_t sd_polling_card_status_busy (sd_card_t *card, uint32_t timeout_ms)
 Polling SD card status busy. More...