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_typeb = 0 , sd_drive_strength_typea = 1 , sd_drive_strength_typec = 2 , sd_drive_strength_typed = 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)
 
void sd_deinit (sd_card_t *card)
 
hpm_stat_t sd_card_init (sd_card_t *card)
 
void sd_card_deinit (sd_card_t *card)
 
hpm_stat_t sd_host_init (sd_card_t *card)
 
hpm_stat_t sd_host_deinit (sd_card_t *card)
 
void sd_set_card_power (sd_card_t *card, bool enable)
 
bool sd_is_card_present (sd_card_t *card)
 
bool sd_check_readonly (sd_card_t *card)
 
hpm_stat_t sd_select_card (sd_card_t *card, bool is_selected)
 
hpm_stat_t sd_read_status (sd_card_t *card)
 
hpm_stat_t sd_read_blocks (sd_card_t *card, uint8_t *buffer, uint32_t start_block, uint32_t block_count)
 
hpm_stat_t sd_write_blocks (sd_card_t *card, const uint8_t *buffer, uint32_t start_block, uint32_t block_count)
 
hpm_stat_t sd_erase_blocks (sd_card_t *card, uint32_t start_block, uint32_t block_count)
 
hpm_stat_t sd_set_driver_strength (sd_card_t *card, sd_drive_strength_t driver_strength)
 
hpm_stat_t sd_set_max_current (sd_card_t *card, sd_max_current_t max_current)
 
hpm_stat_t sd_polling_card_status_busy (sd_card_t *card, uint32_t timeout_ms)
 

Typedef Documentation

◆ sd_card_t

typedef struct _sdmmc_sdcard sd_card_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
sd_switch_function_group_access_mode 
sd_switch_function_group_command_system 
sd_switch_function_group_drive_strength 
sd_switch_function_group_power_limit 

◆ anonymous enum

anonymous enum
Enumerator
sd_switch_function_mode_check 
sd_switch_function_mode_set 

◆ sd_drive_strength_t

Enumerator
sd_drive_strength_typeb 
sd_drive_strength_typea 
sd_drive_strength_typec 
sd_drive_strength_typed 

◆ sd_max_current_t

Enumerator
sd_current_limit_200ma 
sd_current_limit_400ma 
sd_current_limit_600ma 
sd_current_limit_800ma 

◆ sd_timing_mode_t

Enumerator
sd_timing_sdr12_default 
sd_timing_sdr25_highspeed 
sd_timing_sdr50 
sd_timing_sdr104 
sd_timing_ddr50 

Function Documentation

◆ sd_card_deinit()

void sd_card_deinit ( sd_card_t card)

◆ sd_card_init()

hpm_stat_t sd_card_init ( sd_card_t card)

Send CMD: Set power limit

◆ sd_check_readonly()

bool sd_check_readonly ( sd_card_t card)

◆ sd_deinit()

void sd_deinit ( sd_card_t card)

◆ sd_erase_blocks()

hpm_stat_t sd_erase_blocks ( sd_card_t card,
uint32_t  start_block,
uint32_t  block_count 
)

◆ sd_host_deinit()

hpm_stat_t sd_host_deinit ( sd_card_t card)

◆ sd_host_init()

hpm_stat_t sd_host_init ( sd_card_t card)

◆ sd_init()

hpm_stat_t sd_init ( sd_card_t card)

◆ sd_is_card_present()

bool sd_is_card_present ( sd_card_t card)

◆ sd_polling_card_status_busy()

hpm_stat_t sd_polling_card_status_busy ( sd_card_t card,
uint32_t  timeout_ms 
)

◆ sd_read_blocks()

hpm_stat_t sd_read_blocks ( sd_card_t card,
uint8_t *  buffer,
uint32_t  start_block,
uint32_t  block_count 
)

◆ sd_read_status()

hpm_stat_t sd_read_status ( sd_card_t card)

◆ sd_select_card()

hpm_stat_t sd_select_card ( sd_card_t card,
bool  is_selected 
)

◆ sd_set_card_power()

void sd_set_card_power ( sd_card_t card,
bool  enable 
)

◆ sd_set_driver_strength()

hpm_stat_t sd_set_driver_strength ( sd_card_t card,
sd_drive_strength_t  driver_strength 
)

◆ sd_set_max_current()

hpm_stat_t sd_set_max_current ( sd_card_t card,
sd_max_current_t  max_current 
)

◆ sd_write_blocks()

hpm_stat_t sd_write_blocks ( sd_card_t card,
const uint8_t *  buffer,
uint32_t  start_block,
uint32_t  block_count 
)