Skip to main content
CHead
Associate III
Nov 14, 2019 11:33 PM UTC
Question

USB SOF period incorrect in host mode during CSleep on STM32H743

My OTG_HS2 kernel clock is PLL3Q at 48 MHz. If I use CSleep (only CSleep, not any of the deep sleep modes), SOFs are generated at the wrong interval (checked with protocol analyzer and oscilloscope). If I remove the WFI, SOFs are generated at the proper interval. It seems that either CSleep is gating the USB clock or else it is turning off PLL3, neither of which it should do. Has anyone else seen this?

This topic has been closed for replies.

2 replies

CHead
CHeadAuthor
Associate III
Dec 20, 2019 9:58 PM UTC

Clarifying comment: lots of other USB things, not just the SOF period, seem to be broken by CSleep.

Visitor II
Mar 22, 2024 3:44 PM UTC

You probably don't needed an answer anymore but it may help the community.


If you use the internal STM32 USB PHY you must disable the ULPI clock in CSleep mode (by setting the USBxOTGHSULPILPEN bit of the RCC_AHB1LPENR register to 0) which is not the case by default.