diff options
Diffstat (limited to 'ports/stm32/sdio.c')
| -rw-r--r-- | ports/stm32/sdio.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ports/stm32/sdio.c b/ports/stm32/sdio.c index 87f550e3a..3ebd4947f 100644 --- a/ports/stm32/sdio.c +++ b/ports/stm32/sdio.c @@ -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 |
