-
Hello, I'm developing firmware for STM32H750VB that uses the USB PHY to send MIDI over USB. I'm using the TinyUSB library for the USB stack. Right now I'm having trouble initializing the USB PHY due to it getting stuck in an infinite loop because it's not clearing the reset signal. In other words, the code is getting stuck in this while loop: usb_otg->GRSTCTL |= USB_OTG_GRSTCTL_CSRST; I checked that USB is getting the 48MHz clock it should be getting and in the RCC_AHB1ENR register, both USB2OTGFSEN and USB2OTGFSULPIEN bits are set. I checked USB33RDY as well and it's zero all the time. Do I need to power on the 3.3v USB I/O supply in order for it to clear its reset? If so, I'm confused about how to even do this because the 100-pin LQFP package doesn't even have the VDD33USB/VDD50USB pins. My product is a device only and is self-powered. Can you think of anything else I should check that might be preventing the USB PHY from coming out of reset? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 9 replies
-
|
Beta Was this translation helpful? Give feedback.
-
I found the solution with the help of ST technical support. Apparently the USB2OTGFSEN bit in the RCC_AHB1ENR register is supposed to be set but the USB2OTGFSULPIEN should NOT be set. This is of course not adequately explained in ST's reference manual like countless other things. Maybe if someone finds this thread here it will save them some of the time I wasted tracking this issue down... |
Beta Was this translation helpful? Give feedback.
I found the solution with the help of ST technical support.
Apparently the USB2OTGFSEN bit in the RCC_AHB1ENR register is supposed to be set but the USB2OTGFSULPIEN should NOT be set.
This is of course not adequately explained in ST's reference manual like countless other things. Maybe if someone finds this thread here it will save them some of the time I wasted tracking this issue down...