Hi,
I am facing a problem with the PB14 pin set as a GPIO and the USB HS with external PHY. I am using the PB14 to control a relay and USB communication using the ULPI interface (external PHY). For what we understand if the USB is using ULPI then PB14 and PB15 should be free to be used as GPIO, but after the USB_Connect function is executed the PB14 seems to be taken by the USB driver or library.
I know is a problem with the USB driver that is powering ON the internal PHY (setting bit PWRDWN of OTG_HS_GCCFG register) even it is configured to used the external one, I just do not remember the workaround for this issue. I need to reinstall the complete environment in a new computer so I lost the configuration was working. I am using the MDK-Pro variant with USB driver version 6.2.0 and cannot upgrade it since it will involve a major overhaul of the existing code.
on the RTE_Device.h file the defines RTE_USB_OTG_HS and RTE_USB_OTG_HS_PHY are set to 1, this to use the HS interface with the external PHY... but as I said the function USBD_Connect() is overriding this setting and turning on the internal PHY making the pin PB14 useless.
Looking on the internet it seems another people with similar problems it seems that issue is on the USB driver but we cannot longer access the post they have (below a link to what we found).... Can you please let us know how to solve this?
https://community.st.com/t5/stm32-mcus-products/stm32f4xx-spi2-and-usb-hs-conflict/td-p/438246
Regards
Mark Burger