|
ELIOT1 HAL
|
Интерфейс драйвера модуля SDMMC. Подробнее...
#include "hal_common.h"Структуры данных | |
| struct | sdmmc_card_t |
| Контекст драйвера контроллера SDMMC. Подробнее... | |
Макросы | |
| #define | SDMMC_CALC_DIVIDER(input_freq_hz, required_freq_hz) (((input_freq_hz) / (required_freq_hz)) / 2) |
| Формула подсчета делителя выходной частоты контроллера SDMMC. | |
Константы контроллера SDMMC | |
| #define | SDMMC_SDHC_SECTOR_SIZE 512 |
| #define | SDMMC_SD_SEND_IF_COND_PATTERN 0x1AA |
| #define | SDMMC_SD_OCR_INIT_VALUE 0xFF80 |
| #define | SDMMC_MMC_RCA_ADDR 0x00010000 |
| #define | SDMMC_TIMEOUTCONTROL_MAX_VALUE 0xE |
Типы слота карты контроллера SDMMC | |
| #define | SDMMC_CORECFG0_SLOTTYPE_REMOVABLE 0 |
| #define | SDMMC_CORECFG0_SLOTTYPE_EMBEDDED 1 |
| #define | SDMMC_CORECFG0_SLOTTYPE_SHARED_BUS 2 |
Режимы UHS-I карты SD | |
| #define | SDMMC_SD_UHS_MODE_DEFAULT_SDR12 0 |
| #define | SDMMC_SD_UHS_MODE_HIGHSPEED_SDR25 1 |
| #define | SDMMC_SD_UHS_MODE_SDR50 2 |
| #define | SDMMC_SD_UHS_MODE_SDR104 3 |
| #define | SDMMC_SD_UHS_MODE_DDR50 4 |
Выравнивание адреса буфера данных SDMA | |
Возможные варианты значений:
| |
| #define | SDMMC_SDMA_ALIGN 0 |
| #define | SDMMC_SDMA_BLOCK_SIZE (4096 << SDMMC_SDMA_ALIGN) |
| #define | SDMMC_SDMA_BLOCK_ALIGN __attribute__((aligned(SDMMC_SDMA_BLOCK_SIZE))) |
| #define | SDMMC_SDMA_IS_BLOCK_ALIGN_ADDR(x) (((uint32_t) (x) & (SDMMC_SDMA_BLOCK_SIZE - 1)) == 0) |
Перечисления | |
| enum | sdmmc_status_t |
| Статусы драйвера SDMMC. Подробнее... | |
| enum | sdmmc_voltage_t |
| Рабочие напряжения питания карты Подробнее... | |
Рабочие напряжения контроллера SDMMC | |
| enum | |
Направления передачи SDMA канала контроллера SDMMC | |
| enum | |
Типы и размеры ответов карты | |
| enum | |
Ширина шины данных карты в битах | |
| enum | |
Функции | |
| sdmmc_status_t | SDMMC_InitCard (sdmmc_card_t *sd, uint32_t num, sdmmc_voltage_t vol, void *init_buf) |
| Инициализация SDMMC контроллера и вставленной карты SD или MMC. | |
| void | SDMMC_DisableCard (sdmmc_card_t *sd) |
| Остановка SDMMC контроллера и выключение питания вставленной карты | |
| sdmmc_status_t | SDMMC_CalcMemorySpace (sdmmc_card_t *sd, void *sector_buf, bool unsafe) |
| Подсчет размера пространства памяти карты | |
| sdmmc_status_t | SDMMC_Read (sdmmc_card_t *sd, uint32_t start_block, void *data, uint32_t nblocks) |
| Чтение карты блоками размером 512 байт | |
| sdmmc_status_t | SDMMC_ReadAsync (sdmmc_card_t *sd, uint32_t start_block, void *data, uint32_t nblocks) |
| Асинхронное чтение карты блоками размером 512 байт | |
| sdmmc_status_t | SDMMC_ReadWait (sdmmc_card_t *sd) |
| Ожидание завершения операции асинхронного чтения памяти карты | |
| sdmmc_status_t | SDMMC_Write (sdmmc_card_t *sd, uint32_t start_block, const void *data, uint32_t nblocks) |
| Запись карты блоками размером 512 байт | |
| sdmmc_status_t | SDMMC_WriteAsync (sdmmc_card_t *sd, uint32_t start_block, const void *data, uint32_t nblocks) |
| Асинхронная запись карты блоками размером 512 байт | |
| sdmmc_status_t | SDMMC_WriteWait (sdmmc_card_t *sd) |
| Ожидание завершения операции асинхронной записи памяти карты | |
Количество слотов под карты и их типы | |
| #define | SDMMC_IS_MMC(x) ((x)->type == SDMMC_TypeMMC) |
| #define | SDMMC_IS_SD(x) ((x)->type == SDMMC_TypeSD) |
| enum | |
Интерфейс драйвера модуля SDMMC.