cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F7 register reset value doesn't match the reference manual

Adam Davis
Associate II

Hi all.

I'm currently writing my own set of drivers based on the provided stm32f7 header written by ST. I'm a little confused understanding the USB reset values in section 37.15 of the reference manual. The reset values for my GPIO, APB, and a few other things I've written are correct. However, the USB register values are completely off. For instance the OTG_GOTCTL register should be 0x0001 0000 as shown within the manual .However, during debugging, the same register reads 0x4c10000.

Am I missing something fundamental here in regards to the reset values. It's weird that the GPIO and APB registers reset values are correct but not the USB. It's throwing me off me developing a USB driver.

Thanks

6 REPLIES 6

Which reference manual are you looking at? For which part? RM0385, RM0410,or RM0431 ?

RM0410 describes OTG_GOTGCTL reset value as 0x0X01 0000

Also "Bits 31:21 Reserved, must be kept at reset value."

>>It's throwing me off me developing a USB driver.

Ok, but at the end of the day these would be reserved bits, your driver should have no dependencies on them.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Adam Davis
Associate II

I would of thought when they state the reset value, they would based this on the state of the reserve bits

Comparing to other chips with the Synopsys OTG module, these bits are likely to be related to the battery charging (BC) functions. This, according to mentioned RM0385 is not supported in the 'F74x/'F75x. I wouldn't be surprised, if there is some of the functionality implemented, though, just "administratively" suppressed, either for marketing reasons, or because of buggy or missing sub-functionality (e.g. the analog front-end for the BC is missing or does not conform to the BC specification).

If the mismatch of reset values annoy you, wait until you get to the real deficiencies of the documentation.

JW

Adam Davis
Associate II

Thanks for the reply. So it confuses me that when you see register "Reset Value" within the reference manual but in fact it's actually different to what's stated within the manual. If this is the case, why it's this stated anywhere. Could somebody enlighten me on this please?

Thanks

It's okay that you are disturbed by the documentation not matching the reality. What I wanted to say is, that this is dominantly a user-driven forum and you are not likely to get answers to certain type of questions.

More particularly, I am asking Synopsys-OTG-related questions for some 2 years now. Some have been answered by modifying the documentation (at least in one case this resulted in removing reference to existing but not-essential and confusing functionality); but some have been left unanswered all the time.

You of course may try to contact ST directly or through FAE, but you may want to wait until the more serious questions surface. What's your buying power?

JW