Setting up the clock tree is fundamental for the Cortex M family but it isn't an often used capability. Generally these functions are called once in a piece of startup code and then forgotten. In the ST Micro family of Cortex-M processors, support for their clock trees has varied from family to family, both in name and in features. This proposal is to unify that support around some key API calls that would be available on all members of the family.
Generally there are a small number of clocks that can be used as the system clock for the ST Micro processors, these usually include a default "High Speed" internal (HSI) RC oscillator, a high speed, externally supplied, clock (HSE), and a PLL which is primed by either HSI or HSE and provides a system clock frequency that is different than the input frequency. The Lx family has added a medium speed internal clock (MSI) to this mix.
This proposal suggests that setup of all these clocks should be done in a function named: `rcc_XXX_