Go to the source code of this file.
|
| enum | {
sdmmc_state_idle = 0
, sdmmc_state_ready = 1
, sdmmc_state_identify = 2
, sdmmc_state_standby = 3
,
sdmmc_state_transfer = 4
, sdmmc_state_send_data = 5
, sdmmc_state_receive_data = 6
, sdmmc_state_program = 7
,
sdmmc_state_disconnect = 8
} |
| |
| enum | sdmmc_operation_voltage_t { sdmmc_operation_voltage_1v8 = 5
, sdmmc_operation_voltage_3v0 = 6
, sdmmc_operation_voltage_3v3 = 7
} |
| |
| enum | sdmmc_resp_type_t {
sdmmc_resp_none = 0
, sdmmc_resp_r1
, sdmmc_resp_r1b
, sdmmc_resp_r2
,
sdmmc_resp_r3
, sdmmc_resp_r4
, sdmmc_resp_r5
, sdmmc_resp_r5b
,
sdmmc_resp_r6
, sdmmc_resp_r7
} |
| |
| enum | {
status_sdmmc_card_not_support = MAKE_STATUS(status_group_sdmmc, 0)
, status_sdmmc_wait_card_insert_timeout = MAKE_STATUS(status_group_sdmmc, 1)
, status_sdmmc_no_sd_card_inserted = MAKE_STATUS(status_group_sdmmc, 2)
, status_sdmmc_device_init_required = MAKE_STATUS(status_group_sdmmc, 3)
,
status_sdmmc_wait_busy_timeout = MAKE_STATUS(status_group_sdmmc, 4)
} |
| |
|
| hpm_stat_t | sdmmc_go_idle_state (sdmmc_host_t *host, uint32_t argument) |
| | Switch device to Idle state. More...
|
| |
| hpm_stat_t | sdmmc_go_inactive_state (sdmmc_host_t *host, uint16_t relative_addr) |
| | Switch device to Inactive state. More...
|
| |
| hpm_stat_t | sdmmc_select_card (sdmmc_host_t *host, uint16_t relative_addr, bool is_selected) |
| | Select/De-select the device. More...
|
| |
| hpm_stat_t | sdmmc_send_application_command (sdmmc_host_t *host, uint16_t relative_addr) |
| | Send Application Command. More...
|
| |
| hpm_stat_t | sdmmc_set_block_count (sdmmc_host_t *host, uint32_t block_count) |
| | Set block count. More...
|
| |
| hpm_stat_t | sdmmc_set_block_size (sdmmc_host_t *host, uint32_t block_size) |
| | Set Block size. More...
|
| |
| hpm_stat_t | sdmmc_enable_auto_tuning (sdmmc_host_t *host) |
| | Enable Auto Tuning mode. More...
|
| |
| uint32_t | extract_csd_field (const uint32_t *raw_csd, uint8_t end_offset, uint8_t start_offset) |
| | Extract Fields from raw CSD data. More...
|
| |
| uint32_t | sdmmc_get_sys_addr (sdmmc_host_t *host, uint32_t addr) |
| | Get System address. More...
|
| |
◆ MMC_CLOCK_26MHz
| #define MMC_CLOCK_26MHz (26000000UL) |
◆ MMC_CLOCK_52MHz
| #define MMC_CLOCK_52MHz (52000000UL) |
◆ MMC_CLOCK_DDR52
| #define MMC_CLOCK_DDR52 (52000000UL) |
◆ MMC_CLOCK_HS200
| #define MMC_CLOCK_HS200 (200000000UL) |
◆ MMC_CLOCK_HS400
| #define MMC_CLOCK_HS400 (200000000UL) |
◆ SD_CLOCK_100MHZ
| #define SD_CLOCK_100MHZ (100000000UL) |
◆ SD_CLOCK_208MHZ
| #define SD_CLOCK_208MHZ (208000000UL) |
◆ SD_CLOCK_25MHZ
| #define SD_CLOCK_25MHZ (25000000UL) |
◆ SD_CLOCK_50MHZ
| #define SD_CLOCK_50MHZ (50000000UL) |
◆ SDMMC_CLOCK_400KHZ
| #define SDMMC_CLOCK_400KHZ (400000UL) |
◆ anonymous enum
| Enumerator |
|---|
| sdmmc_state_idle | |
| sdmmc_state_ready | |
| sdmmc_state_identify | |
| sdmmc_state_standby | |
| sdmmc_state_transfer | |
| sdmmc_state_send_data | |
| sdmmc_state_receive_data | |
| sdmmc_state_program | |
| sdmmc_state_disconnect | |
◆ anonymous enum
| Enumerator |
|---|
| status_sdmmc_card_not_support | |
| status_sdmmc_wait_card_insert_timeout | |
| status_sdmmc_no_sd_card_inserted | |
| status_sdmmc_device_init_required | |
| status_sdmmc_wait_busy_timeout | |
◆ sdmmc_operation_voltage_t
| Enumerator |
|---|
| sdmmc_operation_voltage_1v8 | |
| sdmmc_operation_voltage_3v0 | |
| sdmmc_operation_voltage_3v3 | |
◆ sdmmc_resp_type_t
| Enumerator |
|---|
| sdmmc_resp_none | |
| sdmmc_resp_r1 | |
| sdmmc_resp_r1b | |
| sdmmc_resp_r2 | |
| sdmmc_resp_r3 | |
| sdmmc_resp_r4 | |
| sdmmc_resp_r5 | |
| sdmmc_resp_r5b | |
| sdmmc_resp_r6 | |
| sdmmc_resp_r7 | |
◆ extract_csd_field()
| uint32_t extract_csd_field |
( |
const uint32_t * |
raw_csd, |
|
|
uint8_t |
end_offset, |
|
|
uint8_t |
start_offset |
|
) |
| |
Extract Fields from raw CSD data.
- Parameters
-
| [in] | raw_csd | Raw CSD data array |
| [in] | end_offset | end offset of the specific field (in terms of bit) |
| [in] | start_offset | start offset of the specific field (in terms of bit) |
- Returns
- Extracted CSD field
◆ sdmmc_enable_auto_tuning()
Enable Auto Tuning mode.
- Parameters
-
| [in/out] | host SD/MMC Host Context |
- Returns
- status_success if operation is successful
◆ sdmmc_get_sys_addr()
| uint32_t sdmmc_get_sys_addr |
( |
sdmmc_host_t * |
host, |
|
|
uint32_t |
addr |
|
) |
| |
Get System address.
- Parameters
-
| [in] | host | SD/MMC Host Context |
| [in] | addr | memory address |
- Returns
- Converted system address
◆ sdmmc_go_idle_state()
Switch device to Idle state.
- Parameters
-
| [in/out] | host SD/MMC Host Context |
| [in] | argument | Argument for CMD0 |
- Returns
- status_success if operation is successful
◆ sdmmc_go_inactive_state()
Switch device to Inactive state.
- Parameters
-
| [in/out] | host SD/MMC Host Context |
| [in] | relative_addr | device relative address |
- Returns
- status_succes if operation is successful
◆ sdmmc_select_card()
Select/De-select the device.
- Parameters
-
| [in/out] | host SD/MMC Host Context |
| [in] | relative_addr | device relative address |
| [in] | is_selected | true: select, false: de-select |
- Returns
- status_success if operation is successful
◆ sdmmc_send_application_command()
Send Application Command.
- Parameters
-
| [in/out] | host SD/MMC Host Context |
| [in] | relative_addr | device related address |
- Returns
- status_success if operation is successful
◆ sdmmc_set_block_count()
Set block count.
- Parameters
-
| [in/out] | host SD/MMC Host Context |
| [in] | block_count | SD/MMC Block count |
- Returns
- status_success if operation is successful
◆ sdmmc_set_block_size()
Set Block size.
- Parameters
-
| [in/out] | host SD/MMC Host Context |
| [in] | block_size | SD/MMC Block size |
- Returns
- status_success if operation is successful