@@ -656,13 +656,13 @@ qspi_status_t qspi_free(qspi_t *obj)
656656 }
657657#endif
658658
659- // Configure GPIOs
660- pin_function (obj -> io0 , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
661- pin_function (obj -> io1 , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
662- pin_function (obj -> io2 , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
663- pin_function (obj -> io3 , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
664- pin_function (obj -> sclk , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
665- pin_function (obj -> ssel , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
659+ // Configure GPIOs back to reset value
660+ pin_function (obj -> io0 , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
661+ pin_function (obj -> io1 , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
662+ pin_function (obj -> io2 , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
663+ pin_function (obj -> io3 , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
664+ pin_function (obj -> sclk , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
665+ pin_function (obj -> ssel , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
666666
667667 (void )(obj );
668668 return QSPI_STATUS_OK ;
@@ -691,12 +691,12 @@ qspi_status_t qspi_free(qspi_t *obj)
691691 __HAL_RCC_QSPI_CLK_DISABLE ();
692692
693693 // Configure GPIOs
694- pin_function (obj -> io0 , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
695- pin_function (obj -> io1 , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
696- pin_function (obj -> io2 , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
697- pin_function (obj -> io3 , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
698- pin_function (obj -> sclk , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
699- pin_function (obj -> ssel , STM_PIN_DATA (STM_MODE_INPUT , GPIO_NOPULL , 0 ));
694+ pin_function (obj -> io0 , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
695+ pin_function (obj -> io1 , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
696+ pin_function (obj -> io2 , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
697+ pin_function (obj -> io3 , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
698+ pin_function (obj -> sclk , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
699+ pin_function (obj -> ssel , STM_PIN_DATA (STM_MODE_ANALOG , GPIO_NOPULL , 0 ));
700700
701701 (void )(obj );
702702 return QSPI_STATUS_OK ;
0 commit comments