mirror of
https://github.com/licsber/micropython.git
synced 2024-09-20 09:00:23 +08:00
stm32/sdio: Add functions to re/enable SDIO/SDIOIT.
This commit is contained in:
parent
4d96786823
commit
80788154b3
@ -93,6 +93,21 @@ void sdio_deinit(void) {
|
|||||||
#endif
|
#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) {
|
void sdio_enable_high_speed_4bit(void) {
|
||||||
SDMMC_TypeDef *SDIO = SDMMC1;
|
SDMMC_TypeDef *SDIO = SDMMC1;
|
||||||
SDIO->POWER = 0; // power off
|
SDIO->POWER = 0; // power off
|
||||||
|
@ -31,6 +31,8 @@
|
|||||||
|
|
||||||
void sdio_init(uint32_t irq_pri);
|
void sdio_init(uint32_t irq_pri);
|
||||||
void sdio_deinit(void);
|
void sdio_deinit(void);
|
||||||
|
void sdio_reenable(void);
|
||||||
|
void sdio_enable_irq(bool enable);
|
||||||
void sdio_enable_high_speed_4bit(void);
|
void sdio_enable_high_speed_4bit(void);
|
||||||
int sdio_transfer(uint32_t cmd, uint32_t arg, uint32_t *resp);
|
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);
|
int sdio_transfer_cmd53(bool write, uint32_t block_size, uint32_t arg, size_t len, uint8_t *buf);
|
||||||
|
Loading…
Reference in New Issue
Block a user