Skip to content

Commit d75154d

Browse files
authored
stm32: USB clock source from PLLQCLK on stm32g0 (#5341)
Signed-off-by: Alan.Ma from BigTreeTech <[email protected]>
1 parent c721c20 commit d75154d

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

src/stm32/stm32g0.c

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ clock_setup(void)
8181
}
8282
pllcfgr |= (pll_freq/pll_base) << RCC_PLLCFGR_PLLN_Pos;
8383
pllcfgr |= (pll_freq/CONFIG_CLOCK_FREQ - 1) << RCC_PLLCFGR_PLLR_Pos;
84-
RCC->PLLCFGR = pllcfgr | RCC_PLLCFGR_PLLREN;
84+
pllcfgr |= (pll_freq/FREQ_USB - 1) << RCC_PLLCFGR_PLLQ_Pos;
85+
RCC->PLLCFGR = pllcfgr | RCC_PLLCFGR_PLLREN | RCC_PLLCFGR_PLLQEN;
8586
RCC->CR |= RCC_CR_PLLON;
8687

8788
// Wait for PLL lock
@@ -95,11 +96,8 @@ clock_setup(void)
9596

9697
// Enable USB clock
9798
if (CONFIG_USBSERIAL) {
98-
RCC->CR |= RCC_CR_HSI48ON;
99-
while (!(RCC->CR & RCC_CR_HSI48RDY))
100-
;
101-
enable_pclock(CRS_BASE);
102-
CRS->CR |= CRS_CR_AUTOTRIMEN | CRS_CR_CEN;
99+
// PLLQCLK
100+
RCC->CCIPR2 |= RCC_CCIPR2_USBSEL_1;
103101
}
104102
}
105103

0 commit comments

Comments
 (0)