7#ifndef __PHAL_G4_RCC_PRIV_H__
8#define __PHAL_G4_RCC_PRIV_H__
12#include "stm32g474xx.h"
42typedef enum : uint32_t {
G4 RCC public API implementation.
RCC_PRIV_PLLSource_t
Oscillator source for RCC->PLLCFGR. Either HSI or HSE.
Definition rcc_priv.h:42
@ RCC_PRIV_PLL_SRC_HSI
Definition rcc_priv.h:43
@ RCC_PRIV_PLL_SRC_HSE
Definition rcc_priv.h:44
void PHAL_RCC_priv_switchSysclkToHSE(void)
Switch SYSCLK to HSE and block until the switch is confirmed.
Definition rcc_priv.c:159
void PHAL_RCC_priv_enableHSI(void)
Enable HSI16 and block until it's ready.
Definition rcc_priv.c:9
void PHAL_RCC_priv_enableHSE(void)
Definition rcc_priv.c:37
void PHAL_RCC_priv_configurePLL(RCC_PRIV_PLLSource_t src)
Definition rcc_priv.c:71
void PHAL_RCC_priv_setFlashLatency(uint32_t latency_ws)
Definition rcc_priv.c:52
static constexpr uint32_t RCC_PRIV_HSI_CLOCK_RATE_HZ
Definition rcc_priv.h:20
static constexpr uint32_t RCC_PRIV_PLL_N
Definition rcc_priv.h:28
static constexpr uint32_t RCC_PRIV_PLL_R
Definition rcc_priv.h:29
void PHAL_RCC_priv_switchSysclkToPLL(void)
Switch SYSCLK to the PLL and block until the switch is confirmed.
Definition rcc_priv.c:170
void PHAL_RCC_priv_switchSysclkToHSI(void)
Switch SYSCLK to HSI16 and block until the switch is confirmed.
Definition rcc_priv.c:146
static constexpr uint32_t RCC_PRIV_PLL_M
Definition rcc_priv.h:27
static constexpr uint32_t RCC_PRIV_PLL_VCO_OUTPUT_HZ
Definition rcc_priv.h:32
static constexpr uint32_t RCC_PRIV_HSE_CLOCK_RATE_HZ
Definition rcc_priv.h:21
void PHAL_RCC_priv_setBusPrescalersToDiv1(void)
Set the AHB, APB1, and APB2 prescalers to divide-by-1 (undivided)
Definition rcc_priv.c:181
static constexpr uint32_t RCC_PRIV_PLL_VCO_INPUT_HZ
Definition rcc_priv.h:31
void PHAL_RCC_priv_enableBoostMode(void)
Definition rcc_priv.c:119
static constexpr uint32_t RCC_PRIV_PLL_OUTPUT_HZ
Definition rcc_priv.h:33
void PHAL_RCC_priv_disableHSI(void)
Disable HSI16 and block until it's off.
Definition rcc_priv.c:23