diff --git a/ports/stm32/sdcard.c b/ports/stm32/sdcard.c
index bb972bea94a3f9a0268e13b72dd5f234f6f12b75..1d49016e7dab721866fa92f4d536693e06d29aff 100644
--- a/ports/stm32/sdcard.c
+++ b/ports/stm32/sdcard.c
@@ -169,9 +169,14 @@ void HAL_SD_MspInit(SD_HandleTypeDef *hsd) {
 
     #if defined(STM32H7)
     // Reset SDMMC
+    #if defined(MICROPY_HW_SDMMC2_CK)
+    __HAL_RCC_SDMMC2_FORCE_RESET();
+    __HAL_RCC_SDMMC2_RELEASE_RESET();
+    #else
     __HAL_RCC_SDMMC1_FORCE_RESET();
     __HAL_RCC_SDMMC1_RELEASE_RESET();
     #endif
+    #endif
 
     // NVIC configuration for SDIO interrupts
     NVIC_SetPriority(SDMMC_IRQn, IRQ_PRI_SDIO);