libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
rcc.h File Reference
Include dependency graph for rcc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  osc_src {
  OSCSRC_MOSC = SYSCTL_RCC2_OSCSRC2_MOSC , OSCSRC_PIOSC = SYSCTL_RCC2_OSCSRC2_PIOSC , OSCSRC_PIOSC_D4 = SYSCTL_RCC2_OSCSRC2_PIOSC_D4 , OSCSRC_30K_INT = SYSCTL_RCC2_OSCSRC2_30K ,
  OSCSRC_32K_EXT = SYSCTL_RCC2_OSCSRC2_32K768
}
 Oscillator source values. More...
 
enum  pwm_clkdiv {
  PWMDIV_2 = SYSCTL_RCC_PWMDIV_2 , PWMDIV_4 = SYSCTL_RCC_PWMDIV_4 , PWMDIV_8 = SYSCTL_RCC_PWMDIV_8 , PWMDIV_16 = SYSCTL_RCC_PWMDIV_16 ,
  PWMDIV_32 = SYSCTL_RCC_PWMDIV_32 , PWMDIV_64 = SYSCTL_RCC_PWMDIV_64
}
 PWM clock divisor values. More...
 
enum  xtal_t {
  XTAL_4M = SYSCTL_RCC_XTAL_4M , XTAL_4M_096 = SYSCTL_RCC_XTAL_4M_096 , XTAL_4M_9152 = SYSCTL_RCC_XTAL_4M_9152 , XTAL_5M = SYSCTL_RCC_XTAL_5M ,
  XTAL_5M_12 = SYSCTL_RCC_XTAL_5M_12 , XTAL_6M = SYSCTL_RCC_XTAL_6M , XTAL_6M_144 = SYSCTL_RCC_XTAL_6M_144 , XTAL_7M_3728 = SYSCTL_RCC_XTAL_7M_3728 ,
  XTAL_8M = SYSCTL_RCC_XTAL_8M , XTAL_8M_192 = SYSCTL_RCC_XTAL_8M_192 , XTAL_10M = SYSCTL_RCC_XTAL_10M , XTAL_12M = SYSCTL_RCC_XTAL_12M ,
  XTAL_12M_288 = SYSCTL_RCC_XTAL_12M_288 , XTAL_13M_56 = SYSCTL_RCC_XTAL_13M_56 , XTAL_14M_31818 = SYSCTL_RCC_XTAL_14M_31818 , XTAL_16M = SYSCTL_RCC_XTAL_16M ,
  XTAL_16M_384 = SYSCTL_RCC_XTAL_16M_384 , XTAL_18M = SYSCTL_RCC_XTAL_18M , XTAL_20M = SYSCTL_RCC_XTAL_20M , XTAL_24M = SYSCTL_RCC_XTAL_24M ,
  XTAL_25M = SYSCTL_RCC_XTAL_25M
}
 Predefined crystal values. More...
 

Functions

void rcc_configure_xtal (enum xtal_t xtal)
 Configure the crystal type connected to the device. More...
 
void rcc_disable_main_osc (void)
 Disable the main oscillator. More...
 
void rcc_disable_interal_osc (void)
 Disable the internal oscillator. More...
 
void rcc_enable_main_osc (void)
 Enable the main oscillator. More...
 
void rcc_enable_interal_osc (void)
 Enable the internal oscillator. More...
 
void rcc_enable_rcc2 (void)
 Enable the use of SYSCTL_RCC2 register for clock control. More...
 
void rcc_pll_off (void)
 Power down the main PLL. More...
 
void rcc_pll_on (void)
 Power up the main PLL. More...
 
void rcc_set_osc_source (enum osc_src src)
 Set the oscillator source to be used by the system clock. More...
 
void rcc_pll_bypass_disable (void)
 Disable the PLL bypass and use the PLL clock. More...
 
void rcc_pll_bypass_enable (void)
 Enable the PLL bypass and use the oscillator clock. More...
 
void rcc_set_pll_divisor (uint8_t div400)
 Set the PLL clock divisor (from 400MHz) More...
 
void rcc_set_pwm_divisor (enum pwm_clkdiv div)
 Set the PWM unit clock divisor. More...
 
void rcc_usb_pll_off (void)
 Power down the USB PLL. More...
 
void rcc_usb_pll_on (void)
 Power up the USB PLL. More...
 
void rcc_wait_for_pll_ready (void)
 Wait for main PLL to lock. More...
 
void rcc_change_pll_divisor (uint8_t plldiv400)
 Change the PLL divisor. More...
 
uint32_t rcc_get_system_clock_frequency (void)
 Get the system clock frequency. More...
 
void rcc_sysclk_config (enum osc_src src, enum xtal_t xtal, uint8_t pll_div400)
 Configure the system clock source. More...