Go to the documentation of this file.
32 #ifndef __CLOCK_11XX_H_
33 #define __CLOCK_11XX_H_
45 #define SYSCTL_IRC_FREQ (12000000)
56 LPC_SYSCTL->SYSPLLCTRL = (msel & 0x1F) | ((psel & 0x3) << 5);
65 return (
bool) ((
LPC_SYSCTL->SYSPLLSTAT & 1) != 0);
74 #if defined(CHIP_LPC11AXX)
75 SYSCTL_PLLCLKSRC_EXT_CLKIN,
91 #if defined(CHIP_LPC11UXX)
101 LPC_SYSCTL->USBPLLCTRL = (msel & 0x1F) | ((psel & 0x3) << 5);
110 return (
bool) ((
LPC_SYSCTL->USBPLLSTAT & 1) != 0);
169 #if defined(CHIP_LPC11AXX)
234 #if defined(CHIP_LPC110X)
235 SYSCTL_CLOCK_RESERVED5,
247 #if defined(CHIP_LPC11UXX)
254 #if defined(CHIP_LPC11CXX)
259 #if !(defined(CHIP_LPC110X) || defined(CHIP_LPC11XXLV))
261 #if !defined(CHIP_LPC11CXX)
263 #if defined(CHIP_LPC11AXX)
276 #if defined(CHIP_LPC11EXX) || defined(CHIP_LPC11UXX)
281 #if defined(CHIP_LPC11UXX)
354 #if defined(CHIP_LPC11CXX) || defined(CHIP_LPC11EXX) || defined(CHIP_LPC11AXX) || defined(CHIP_LPC11UXX) || defined(CHIP_LPC1125)
379 #if defined(CHIP_LPC11UXX)
383 typedef enum CHIP_SYSCTL_USBCLKSRC {
384 SYSCTL_USBCLKSRC_PLLOUT = 0,
385 SYSCTL_USBCLKSRC_MAINSYSCLK,
386 } CHIP_SYSCTL_USBCLKSRC_T;
398 void Chip_Clock_SetUSBClockSource(CHIP_SYSCTL_USBCLKSRC_T src,
uint32_t div);
402 #if defined(CHIP_LPC110X) || defined(CHIP_LPC11XXLV) || defined(CHIP_LPC11CXX) || defined(CHIP_LPC11EXX) || defined(CHIP_LPC1125)
406 typedef enum CHIP_SYSCTL_WDTCLKSRC {
407 SYSCTL_WDTCLKSRC_IRC = 0,
408 SYSCTL_WDTCLKSRC_MAINSYSCLK,
409 SYSCTL_WDTCLKSRC_WDTOSC,
410 } CHIP_SYSCTL_WDTCLKSRC_T;
422 void Chip_Clock_SetWDTClockSource(CHIP_SYSCTL_WDTCLKSRC_T src,
uint32_t div);
426 #if !defined(CHIP_LPC110X)
470 #if defined(CHIP_LPC11AXX)
490 #if defined(CHIP_LPC11AXX)
496 uint32_t Chip_Clock_GetLFOOSCRate(
void);
512 #if defined(CHIP_LPC11UXX)
517 uint32_t Chip_Clock_GetUSBPLLInClockRate(
void);
523 uint32_t Chip_Clock_GetUSBPLLOutClockRate(
void);
void Chip_Clock_SetPLLBypass(bool bypass, bool highfr)
Bypass System Oscillator and set oscillator frequency range.
STATIC INLINE void Chip_Clock_SetupSystemPLL(uint8_t msel, uint8_t psel)
Set System PLL divider values.
@ SYSCTL_MAINCLKSRC_PLLOUT
@ SYSCTL_CLOCK_RESERVED21
@ SYSCTL_PLLCLKSRC_MAINOSC
STATIC INLINE uint32_t Chip_Clock_GetIntOscRate(void)
Returns the internal oscillator (IRC) clock rate.
STATIC INLINE bool Chip_Clock_IsSystemPLLLocked(void)
Read System PLL lock status.
@ SYSCTL_CLOCK_RESERVED27
@ SYSCTL_CLKOUTSRC_MAINSYSCLK
@ SYSCTL_PLLCLKSRC_RESERVED2
STATIC INLINE uint32_t Chip_Clock_GetUARTClockDiv(void)
Return UART divider.
enum CHIP_SYSCTL_CLKOUTSRC CHIP_SYSCTL_CLKOUTSRC_T
STATIC INLINE void Chip_Clock_SetSSP0ClockDiv(uint32_t div)
Set SSP0 divider.
@ SYSCTL_PLLCLKSRC_RESERVED1
@ SYSCTL_CLOCK_RESERVED26
@ SYSCTL_CLKOUTSRC_MAINOSC
enum CHIP_SYSCTL_MAINCLKSRC CHIP_SYSCTL_MAINCLKSRC_T
uint32_t Chip_Clock_GetSystemPLLOutClockRate(void)
Return System PLL output clock rate.
uint32_t Chip_Clock_GetSystemPLLInClockRate(void)
Return System PLL input clock rate.
enum CHIP_WDTLFO_OSC CHIP_WDTLFO_OSC_T
STATIC INLINE void Chip_Clock_EnablePeriphClock(CHIP_SYSCTL_CLOCK_T clk)
Enable a system or peripheral clock.
uint32_t Chip_Clock_GetWDTOSCRate(void)
Return estimated watchdog oscillator rate.
void Chip_Clock_SetSystemPLLSource(CHIP_SYSCTL_PLLCLKSRC_T src)
Set System PLL clock source.
STATIC INLINE uint32_t Chip_Clock_GetSSP0ClockDiv(void)
Return SSP0 divider.
STATIC INLINE void Chip_Clock_SetUARTClockDiv(uint32_t div)
Set UART divider clock.
const uint32_t ExtRateIn
Clock rate on the CLKIN pin This value is defined externally to the chip layer and contains the value...
@ SYSCTL_CLOCK_RESERVED20
STATIC INLINE void Chip_Clock_SetWDTOSC(CHIP_WDTLFO_OSC_T wdtclk, uint8_t div)
Setup Watchdog oscillator rate and divider.
@ SYSCTL_MAINCLKSRC_LFOSC
@ SYSCTL_CLOCK_RESERVED22
void Chip_Clock_SetCLKOUTSource(CHIP_SYSCTL_CLKOUTSRC_T src, uint32_t div)
Set CLKOUT clock source and divider.
STATIC INLINE void Chip_Clock_SetSysClockDiv(uint32_t div)
Set system clock divider.
STATIC INLINE CHIP_SYSCTL_MAINCLKSRC_T Chip_Clock_GetMainClockSource(void)
Returns the main clock source.
@ SYSCTL_MAINCLKSRC_WDTOSC
uint32_t Chip_Clock_GetSystemClockRate(void)
Return system clock rate.
uint32_t Chip_Clock_GetMainClockRate(void)
Return main clock rate.
STATIC INLINE uint32_t Chip_Clock_GetMainOscRate(void)
Returns the main oscillator clock rate.
@ SYSCTL_CLOCK_RESERVED25
const uint32_t OscRateIn
System oscillator rate This value is defined externally to the chip layer and contains the value in H...
@ SYSCTL_CLOCK_RESERVED17
@ SYSCTL_CLKOUTSRC_WDTOSC
void Chip_Clock_SetMainClockSource(CHIP_SYSCTL_MAINCLKSRC_T src)
Set main system clock source.
@ SYSCTL_MAINCLKSRC_PLLIN
STATIC INLINE void Chip_Clock_DisablePeriphClock(CHIP_SYSCTL_CLOCK_T clk)
Disable a system or peripheral clock.
@ SYSCTL_CLOCK_FLASHARRAY
enum CHIP_SYSCTL_PLLCLKSRC CHIP_SYSCTL_PLLCLKSRC_T
enum CHIP_SYSCTL_CLOCK CHIP_SYSCTL_CLOCK_T
@ SYSCTL_CLOCK_RESERVED14