cancel
Showing results for 
Search instead for 
Did you mean: 

BOOSTEN / BOOSTRDY doesn't seem to be working on STM32U575

ShawnP
Associate II

STM32u575 reference mannual indicates that PWR->VOSR BOOSTEN must be set and PWR->VSOR BOOSTRDY must be set by hardware before clocks are raised past 55MH.

 

using this code to try and accomplish that:

	// set boost enable to support clocks above 55MHZand wait for BOOSTRDY
	MODIFY_REG(PWR->VOSR, PWR_VOSR_BOOSTEN, PWR_VOSR_BOOSTEN);
	while (READ_BIT(PWR->VOSR, PWR_VOSR_BOOSTRDY) != PWR_VOSR_BOOSTRDY) {}

I see BOOSTEN getting set but loop hangs and BOOSTRDY is never set by hardware.

Is there some other item that need to be configured for this to work?

All assistance approciated.

 

Shawn

 

4 REPLIES 4
ShawnP
Associate II

Addendum - it's strange that I don't see the sample applications setting BOOSTEN yet having no difficulting running at 160MHZ...

 

Puzzling....

2nd addendum - 

seems that the BOOSTRDY bit does not come on until after I've enabled MSIS and set the PLL1 source to MSI.

Not sure if there are other ways that BOOSTRDY will get activated.

Also, the example I'm using for testing is an LL example RCC_UseHSI_PLLasSystemClock.  out of the box, this example never sets BOOSTEN and runs fine at 160MHZ.  I watch the VSOR register in debug while the application is running and BOOSTEN and BOOSTRDY are never set.

The only way I got BOOSTRDY to trigger in this application is adding code to set BOOSTEN prior to running SystemClock_Config().  When I do this I can see the BOOSTEN flag getting set in the debugger but the BOOSTRDY bit does not get set until after MSIS is enabled and RCC->PLL1CFGR is configured with MSI as the source.

AScha3_0-1723360259463.png

So whats your Vdda level ?

If you feel a post has answered your question, please click "Accept as Solution".

@AScha.3,

that's  a different booster, for the analog switches.

What @ShawnP talks about is what the RM calls EPOD booster, needed to achieve higher system clocks.

JW