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);
120 void Chip_Clock_SetUSBPLLSource(CHIP_SYSCTL_PLLCLKSRC_T src);
169 #if defined(CHIP_LPC11AXX) 210 return (CHIP_SYSCTL_MAINCLKSRC_T) (
LPC_SYSCTL->MAINCLKSEL);
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.
const uint32_t OscRateIn
System oscillator rate This value is defined externally to the chip layer and contains the value in H...
enum CHIP_SYSCTL_CLKOUTSRC CHIP_SYSCTL_CLKOUTSRC_T
STATIC INLINE void Chip_Clock_SetSSP0ClockDiv(uint32_t div)
Set SSP0 divider.
enum CHIP_SYSCTL_MAINCLKSRC CHIP_SYSCTL_MAINCLKSRC_T
void Chip_Clock_SetSystemPLLSource(CHIP_SYSCTL_PLLCLKSRC_T src)
Set System PLL clock source.
STATIC INLINE uint32_t Chip_Clock_GetUARTClockDiv(void)
Return UART divider.
STATIC INLINE void Chip_Clock_SetWDTOSC(CHIP_WDTLFO_OSC_T wdtclk, uint8_t div)
Setup Watchdog oscillator rate and divider.
STATIC INLINE uint32_t Chip_Clock_GetSSP0ClockDiv(void)
Return SSP0 divider.
uint32_t Chip_Clock_GetWDTOSCRate(void)
Return estimated watchdog oscillator rate.
STATIC INLINE bool Chip_Clock_IsSystemPLLLocked(void)
Read System PLL lock status.
enum CHIP_SYSCTL_CLOCK CHIP_SYSCTL_CLOCK_T
uint32_t Chip_Clock_GetMainClockRate(void)
Return main clock rate.
STATIC INLINE CHIP_SYSCTL_MAINCLKSRC_T Chip_Clock_GetMainClockSource(void)
Returns the main clock source.
enum CHIP_WDTLFO_OSC CHIP_WDTLFO_OSC_T
uint32_t Chip_Clock_GetSystemPLLInClockRate(void)
Return System PLL input clock rate.
enum CHIP_SYSCTL_PLLCLKSRC CHIP_SYSCTL_PLLCLKSRC_T
STATIC INLINE void Chip_Clock_SetSysClockDiv(uint32_t div)
Set system clock divider.
STATIC INLINE void Chip_Clock_SetUARTClockDiv(uint32_t div)
Set UART divider clock.
uint32_t Chip_Clock_GetSystemClockRate(void)
Return system clock rate.
STATIC INLINE uint32_t Chip_Clock_GetMainOscRate(void)
Returns the main oscillator clock rate.
STATIC INLINE void Chip_Clock_DisablePeriphClock(CHIP_SYSCTL_CLOCK_T clk)
Disable a system or peripheral clock.
STATIC INLINE void Chip_Clock_EnablePeriphClock(CHIP_SYSCTL_CLOCK_T clk)
Enable a system or peripheral clock.
void Chip_Clock_SetMainClockSource(CHIP_SYSCTL_MAINCLKSRC_T src)
Set main system clock source.
STATIC INLINE uint32_t Chip_Clock_GetIntOscRate(void)
Returns the internal oscillator (IRC) clock rate.
void Chip_Clock_SetCLKOUTSource(CHIP_SYSCTL_CLKOUTSRC_T src, uint32_t div)
Set CLKOUT clock source and divider.
const uint32_t ExtRateIn
Clock rate on the CLKIN pin This value is defined externally to the chip layer and contains the value...
STATIC INLINE void Chip_Clock_SetupSystemPLL(uint8_t msel, uint8_t psel)
Set System PLL divider values.
uint32_t Chip_Clock_GetSystemPLLOutClockRate(void)
Return System PLL output clock rate.