mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-13 04:48:35 -07:00
FuriHal: always clock SMPS from HSI
This commit is contained in:
committed by
Willy-JL
parent
b28480623a
commit
d4daa04609
@@ -76,6 +76,10 @@ void furi_hal_clock_init() {
|
|||||||
LL_RCC_LSI1_Enable();
|
LL_RCC_LSI1_Enable();
|
||||||
while(!LS_CLOCK_IS_READY())
|
while(!LS_CLOCK_IS_READY())
|
||||||
;
|
;
|
||||||
|
|
||||||
|
/* RF wakeup */
|
||||||
|
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_LSE);
|
||||||
|
|
||||||
LL_EXTI_EnableIT_0_31(
|
LL_EXTI_EnableIT_0_31(
|
||||||
LL_EXTI_LINE_18); /* Why? Because that's why. See RM0434, Table 61. CPU1 vector table. */
|
LL_EXTI_LINE_18); /* Why? Because that's why. See RM0434, Table 61. CPU1 vector table. */
|
||||||
LL_EXTI_EnableRisingTrig_0_31(LL_EXTI_LINE_18);
|
LL_EXTI_EnableRisingTrig_0_31(LL_EXTI_LINE_18);
|
||||||
@@ -145,7 +149,7 @@ void furi_hal_clock_init() {
|
|||||||
LL_RCC_SetUSBClockSource(LL_RCC_USB_CLKSOURCE_PLLSAI1);
|
LL_RCC_SetUSBClockSource(LL_RCC_USB_CLKSOURCE_PLLSAI1);
|
||||||
LL_RCC_SetCLK48ClockSource(LL_RCC_CLK48_CLKSOURCE_PLLSAI1);
|
LL_RCC_SetCLK48ClockSource(LL_RCC_CLK48_CLKSOURCE_PLLSAI1);
|
||||||
LL_RCC_HSI_EnableInStopMode(); // Ensure that MR is capable of work in STOP0
|
LL_RCC_HSI_EnableInStopMode(); // Ensure that MR is capable of work in STOP0
|
||||||
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSE);
|
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
|
||||||
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
|
LL_RCC_SetSMPSPrescaler(LL_RCC_SMPS_DIV_1);
|
||||||
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_LSE);
|
LL_RCC_SetRFWKPClockSource(LL_RCC_RFWKP_CLKSOURCE_LSE);
|
||||||
|
|
||||||
@@ -208,8 +212,8 @@ void furi_hal_clock_switch_to_hsi() {
|
|||||||
while(!LL_RCC_HSI_IsReady())
|
while(!LL_RCC_HSI_IsReady())
|
||||||
;
|
;
|
||||||
|
|
||||||
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSI);
|
|
||||||
LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_HSI);
|
LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_HSI);
|
||||||
|
furi_assert(LL_RCC_GetSMPSClockSource() == LL_RCC_SMPS_CLKSOURCE_HSI);
|
||||||
|
|
||||||
while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_HSI)
|
while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_HSI)
|
||||||
;
|
;
|
||||||
@@ -240,7 +244,6 @@ void furi_hal_clock_switch_to_pll() {
|
|||||||
;
|
;
|
||||||
|
|
||||||
LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL);
|
LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL);
|
||||||
LL_RCC_SetSMPSClockSource(LL_RCC_SMPS_CLKSOURCE_HSE);
|
|
||||||
|
|
||||||
while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL)
|
while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL)
|
||||||
;
|
;
|
||||||
|
|||||||
Reference in New Issue
Block a user