You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by an...@apache.org on 2021/05/05 16:22:23 UTC

[incubator-nuttx] 01/02: stm32f7:Allow for reuse of the OTG_ID GPIO

This is an automated email from the ASF dual-hosted git repository.

antmerlino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit cd603af95870d4c0b6df8fbbce3dfb15b0929c15
Author: David Sidrane <Da...@NscDg.com>
AuthorDate: Mon May 3 10:37:57 2021 -0700

    stm32f7:Allow for reuse of the OTG_ID GPIO
---
 arch/arm/src/stm32f7/Kconfig        | 13 +++++++++++++
 arch/arm/src/stm32f7/stm32_otgdev.c |  6 +++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/arch/arm/src/stm32f7/Kconfig b/arch/arm/src/stm32f7/Kconfig
index b819744..9074db7 100644
--- a/arch/arm/src/stm32f7/Kconfig
+++ b/arch/arm/src/stm32f7/Kconfig
@@ -1734,6 +1734,19 @@ config STM32F7_SYSCFG_IOCOMPENSATION
 		The I/O compensation cell can be used only when the supply voltage ranges
 		from 2.4 to 3.6 V.
 
+menu "OTG Configuration"
+	depends on STM32F7_OTGFS
+
+config OTG_ID_GPIO_DISABLE
+	bool "Disable the use of GPIO_OTG_ID pin."
+	default n
+	---help---
+		Disables/Enabled the use of GPIO_OTG_ID pin. This allows non OTG use
+		cases to reuse this GPIO pin and ensure it is not set incorrectlty
+		during OS boot.
+
+endmenu
+
 menu "U[S]ART Configuration"
 	depends on STM32F7_USART
 
diff --git a/arch/arm/src/stm32f7/stm32_otgdev.c b/arch/arm/src/stm32f7/stm32_otgdev.c
index c719157..c4e6593 100644
--- a/arch/arm/src/stm32f7/stm32_otgdev.c
+++ b/arch/arm/src/stm32f7/stm32_otgdev.c
@@ -5726,7 +5726,11 @@ void arm_usbinitialize(void)
 
   stm32_configgpio(GPIO_OTG_DM);
   stm32_configgpio(GPIO_OTG_DP);
-  stm32_configgpio(GPIO_OTG_ID);        /* Only needed for OTG */
+
+  /* Only needed for OTG */
+#  ifndef CONFIG_OTG_ID_GPIO_DISABLE
+  stm32_configgpio(GPIO_OTG_ID);
+#  endif
 
   /* SOF output pin configuration is configurable. */