@@ -374,12 +374,13 @@ void spi_free(spi_t *obj)
374
374
#if defined(DUAL_CORE ) && (TARGET_STM32H7 )
375
375
LL_HSEM_ReleaseLock (HSEM , CFG_HW_RCC_SEMID , HSEM_CR_COREID_CURRENT );
376
376
#endif /* DUAL_CORE */
377
- // Configure GPIOs
378
- pin_function (spiobj -> pin_miso , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
379
- pin_function (spiobj -> pin_mosi , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
380
- pin_function (spiobj -> pin_sclk , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
377
+
378
+ // Configure GPIOs back to reset value
379
+ pin_function (spiobj -> pin_miso , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
380
+ pin_function (spiobj -> pin_mosi , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
381
+ pin_function (spiobj -> pin_sclk , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
381
382
if (handle -> Init .NSS != SPI_NSS_SOFT ) {
382
- pin_function (spiobj -> pin_ssel , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
383
+ pin_function (spiobj -> pin_ssel , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
383
384
}
384
385
}
385
386
0 commit comments