stm32/sdio: Add functions to re/enable SDIO/SDIOIT.

pull/6265/merge
iabdalkader 2021-04-28 21:32:57 +02:00 zatwierdzone przez Damien George
rodzic 4d96786823
commit 80788154b3
2 zmienionych plików z 17 dodań i 0 usunięć

Wyświetl plik

@ -93,6 +93,21 @@ void sdio_deinit(void) {
#endif
}
void sdio_reenable(void) {
if (__HAL_RCC_SDMMC1_IS_CLK_DISABLED()) {
__HAL_RCC_SDMMC1_CLK_ENABLE(); // enable SDIO peripheral
sdio_enable_high_speed_4bit();
}
}
void sdio_enable_irq(bool enable) {
if (enable) {
SDMMC1->MASK |= SDMMC_MASK_SDIOITIE;
} else {
SDMMC1->MASK &= ~SDMMC_MASK_SDIOITIE;
}
}
void sdio_enable_high_speed_4bit(void) {
SDMMC_TypeDef *SDIO = SDMMC1;
SDIO->POWER = 0; // power off

Wyświetl plik

@ -31,6 +31,8 @@
void sdio_init(uint32_t irq_pri);
void sdio_deinit(void);
void sdio_reenable(void);
void sdio_enable_irq(bool enable);
void sdio_enable_high_speed_4bit(void);
int sdio_transfer(uint32_t cmd, uint32_t arg, uint32_t *resp);
int sdio_transfer_cmd53(bool write, uint32_t block_size, uint32_t arg, size_t len, uint8_t *buf);