LPCOpen Platform for LPC112X microcontrollers  112X
LPCOpen Platform for the NXP LPC112X family of Microcontrollers
Macros | Enumerations | Functions
clock_112x.h File Reference

Go to the source code of this file.

Macros

#define SYSCON_IRC_FREQ   (12000000)
 

Enumerations

enum  CHIP_SYSCON_PLLCLKSRC_T { SYSCON_PLLCLKSRC_IRC = 0, SYSCON_PLLCLKSRC_MAINOSC, SYSCON_PLLCLKSRC_RESERVED1, SYSCON_PLLCLKSRC_RESERVED2 }
 
enum  CHIP_WDTLFO_OSC_T {
  WDTLFO_OSC_ILLEGAL, WDTLFO_OSC_0_60, WDTLFO_OSC_1_05, WDTLFO_OSC_1_40,
  WDTLFO_OSC_1_75, WDTLFO_OSC_2_10, WDTLFO_OSC_2_40, WDTLFO_OSC_2_70,
  WDTLFO_OSC_3_00, WDTLFO_OSC_3_25, WDTLFO_OSC_3_50, WDTLFO_OSC_3_75,
  WDTLFO_OSC_4_00, WDTLFO_OSC_4_20, WDTLFO_OSC_4_40, WDTLFO_OSC_4_60
}
 
enum  CHIP_SYSCON_MAINCLKSRC_T {
  SYSCON_MAINCLKSRC_IRC = 0, SYSCON_MAINCLKSRC_PLLIN, SYSCON_MAINCLKSRC_LFOSC, SYSCON_MAINCLKSRC_WDTOSC = SYSCON_MAINCLKSRC_LFOSC,
  SYSCON_MAINCLKSRC_PLLOUT
}
 
enum  CHIP_SYSCON_CLOCK_T {
  SYSCON_CLOCK_SYS = 0, SYSCON_CLOCK_ROM, SYSCON_CLOCK_RAM, SYSCON_CLOCK_FLASHREG,
  SYSCON_CLOCK_FLASHARRAY, SYSCON_CLOCK_I2C, SYSCON_CLOCK_GPIO, SYSCON_CLOCK_CT16B0,
  SYSCON_CLOCK_CT16B1, SYSCON_CLOCK_CT32B0, SYSCON_CLOCK_CT32B1, SYSCON_CLOCK_SSP0,
  SYSCON_CLOCK_UART0, SYSCON_CLOCK_ADC, SYSCON_CLOCK_RESERVED14, SYSCON_CLOCK_WDT,
  SYSCON_CLOCK_IOCON, SYSCON_CLOCK_RESERVED17, SYSCON_CLOCK_SSP1
}
 
enum  CHIP_SYSCON_WDTCLKSRC_T { SYSCON_WDTCLKSRC_IRC = 0, SYSCON_WDTCLKSRC_MAINSYSCLK, SYSCON_WDTCLKSRC_WDTOSC }
 
enum  CHIP_SYSCON_CLKOUTSRC_T {
  SYSCON_CLKOUTSRC_IRC = 0, SYSCON_CLKOUTSRC_MAINOSC, SYSCON_CLKOUTSRC_WDTOSC, SYSCON_CLKOUTSRC_LFOSC = SYSCON_CLKOUTSRC_WDTOSC,
  SYSCON_CLKOUTSRC_MAINSYSCLK
}
 

Functions

STATIC INLINE void Chip_Clock_SetupSystemPLL (uint8_t msel, uint8_t psel)
 Set System PLL divider values. More...
 
STATIC INLINE bool Chip_Clock_IsSystemPLLLocked (void)
 Read System PLL lock status. More...
 
void Chip_Clock_SetSystemPLLSource (CHIP_SYSCON_PLLCLKSRC_T src)
 Set System PLL clock source. More...
 
void Chip_Clock_SetPLLBypass (bool bypass, bool highfr)
 Bypass System Oscillator and set oscillator frequency range. More...
 
STATIC INLINE void Chip_Clock_SetWDTOSC (CHIP_WDTLFO_OSC_T wdtclk, uint8_t div)
 Setup Watchdog oscillator rate and divider. More...
 
void Chip_Clock_SetMainClockSource (CHIP_SYSCON_MAINCLKSRC_T src)
 Set main system clock source. More...
 
STATIC INLINE
CHIP_SYSCON_MAINCLKSRC_T 
Chip_Clock_GetMainClockSource (void)
 Returns the main clock source. More...
 
STATIC INLINE void Chip_Clock_SetSysClockDiv (uint32_t div)
 Set system clock divider. More...
 
STATIC INLINE void Chip_Clock_EnablePeriphClock (CHIP_SYSCON_CLOCK_T clk)
 Enable a system or peripheral clock. More...
 
STATIC INLINE void Chip_Clock_DisablePeriphClock (CHIP_SYSCON_CLOCK_T clk)
 Disable a system or peripheral clock. More...
 
STATIC INLINE void Chip_Clock_SetSSP0ClockDiv (uint32_t div)
 Set SSP0 divider. More...
 
STATIC INLINE uint32_t Chip_Clock_GetSSP0ClockDiv (void)
 Return SSP0 divider. More...
 
STATIC INLINE void Chip_Clock_SetUARTClockDiv (uint32_t div)
 Set UART divider clock. More...
 
STATIC INLINE uint32_t Chip_Clock_GetUARTClockDiv (void)
 Return UART divider. More...
 
STATIC INLINE void Chip_Clock_SetSSP1ClockDiv (uint32_t div)
 Set SSP1 divider clock. More...
 
STATIC INLINE uint32_t Chip_Clock_GetSSP1ClockDiv (void)
 Return SSP1 divider. More...
 
void Chip_Clock_SetWDTClockSource (CHIP_SYSCON_WDTCLKSRC_T src, uint32_t div)
 Set WDT clock source and divider. More...
 
void Chip_Clock_SetCLKOUTSource (CHIP_SYSCON_CLKOUTSRC_T src, uint32_t div)
 Set CLKOUT clock source and divider. More...
 
STATIC INLINE uint32_t Chip_Clock_GetMainOscRate (void)
 Returns the main oscillator clock rate. More...
 
STATIC INLINE uint32_t Chip_Clock_GetIntOscRate (void)
 Returns the internal oscillator (IRC) clock rate. More...
 
uint32_t Chip_Clock_GetWDTOSCRate (void)
 Return estimated watchdog oscillator rate. More...
 
uint32_t Chip_Clock_GetSystemPLLInClockRate (void)
 Return System PLL input clock rate. More...
 
uint32_t Chip_Clock_GetSystemPLLOutClockRate (void)
 Return System PLL output clock rate. More...
 
uint32_t Chip_Clock_GetMainClockRate (void)
 Return main clock rate. More...
 
uint32_t Chip_Clock_GetSystemClockRate (void)
 Return system clock rate. More...