![]() |
LPCOpen Platform
v1.03
LPCOpen Platform for NXP LPC Microcontrollers
|
Data Structures | |
| struct | CGU_USBAUDIO_PLL_SETUP_T |
Modules | |
| CHIP: LPC18xx/43xx Clock Driver driver options | |
Macros | |
| #define | CGU_IRC_FREQ (12000000) |
| #define | MAX_CLOCK_FREQ (180000000) |
| #define | CGU_PLL_LOCKED (1 << 0) /* PLL locked status */ |
| #define | CGU_PLL_FR (1 << 1) /* PLL free running indicator status */ |
Functions | |
| void | Chip_Clock_EnableCrystal (void) |
| Enables the crystal oscillator. | |
| void | Chip_Clock_DisableCrystal (void) |
| Disables the crystal oscillator. | |
| uint32_t | Chip_Clock_SetupMainPLLHz (CHIP_CGU_CLKIN_T Input, uint32_t MinHz, uint32_t DesiredHz, uint32_t MaxHz) |
| Configures the main PLL. | |
| uint32_t | Chip_Clock_SetupMainPLLMult (CHIP_CGU_CLKIN_T Input, uint32_t mult) |
| Directly set the PLL multipler. | |
| uint32_t | Chip_Clock_GetMainPLLHz (void) |
| Returns the frequency of the main PLL. | |
| void | Chip_Clock_DisableMainPLL (void) |
| Disables the main PLL. | |
| void | Chip_Clock_EnableMainPLL (void) |
| Enbles the main PLL. | |
| bool | Chip_Clock_MainPLLLocked (void) |
| Returns the lock status of the main PLL. | |
| void | Chip_Clock_SetDivider (CHIP_CGU_IDIV_T Divider, CHIP_CGU_CLKIN_T Input, uint32_t Divisor) |
| Sets up a CGU clock divider and it's input clock. | |
| CHIP_CGU_CLKIN_T | Chip_Clock_GetDividerSource (CHIP_CGU_IDIV_T Divider) |
| Gets a CGU clock divider source. | |
| uint32_t | Chip_Clock_GetDividerDivisor (CHIP_CGU_IDIV_T Divider) |
| Gets a CGU clock divider divisor. | |
| uint32_t | Chip_Clock_GetClockInputHz (CHIP_CGU_CLKIN_T input) |
| Returns the frequency of the specified input clock source. | |
| uint32_t | Chip_Clock_GetBaseClocktHz (CHIP_CGU_BASE_CLK_T clock) |
| Returns the frequency of the specified base clock source. | |
| void | Chip_Clock_SetBaseClock (CHIP_CGU_BASE_CLK_T BaseClock, CHIP_CGU_CLKIN_T Input, bool autoblocken, bool powerdn) |
| Sets a CGU Base Clock clock source. | |
| void | Chip_Clock_GetBaseClockOpts (CHIP_CGU_BASE_CLK_T BaseClock, CHIP_CGU_CLKIN_T *Input, bool *autoblocken, bool *powerdn) |
| Get CGU Base Clock clock source information. | |
| CHIP_CGU_CLKIN_T | Chip_Clock_GetBaseClock (CHIP_CGU_BASE_CLK_T BaseClock) |
| Gets a CGU Base Clock clock source. | |
| void | Chip_Clock_EnableBaseClock (CHIP_CGU_BASE_CLK_T BaseClock) |
| Enables a base clock source. | |
| void | Chip_Clock_DisableBaseClock (CHIP_CGU_BASE_CLK_T BaseClock) |
| Disables a base clock source. | |
| bool | Chip_Clock_IsBaseClockEnabled (CHIP_CGU_BASE_CLK_T BaseClock) |
| Returns base clock enable state. | |
| void | Chip_Clock_EnableOpts (CHIP_CCU_CLK_T clk, bool autoen, bool wakeupen, int div) |
| Enables a peripheral clock and sets clock states. | |
| void | Chip_Clock_Enable (CHIP_CCU_CLK_T clk) |
| Enables a peripheral clock. | |
| void | Chip_Clock_Disable (CHIP_CCU_CLK_T clk) |
| Disables a peripheral clock. | |
| uint32_t | Chip_Clock_GetRate (CHIP_CCU_CLK_T clk) |
| Returns a peripheral clock rate. | |
| void | Chip_Clock_StartPowerDown (void) |
| Start the power down sequence by disabling the branch output clocks with wake up mechanism (Only the clocks which wake up mechanism bit enabled will be disabled) | |
| void | Chip_Clock_ClearPowerDown (void) |
| Clear the power down mode bit & proceed normal operation of branch output clocks (Only the clocks which wake up mechanism bit enabled will be enabled after the wake up event) | |
| void | Chip_Clock_SetupPLL (CHIP_CGU_CLKIN_T Input, CHIP_CGU_USB_AUDIO_PLL_T pllnum, const CGU_USBAUDIO_PLL_SETUP_T *pPLLSetup) |
| Sets up the audio or USB PLL. | |
| void | Chip_Clock_EnablePLL (CHIP_CGU_USB_AUDIO_PLL_T pllnum) |
| Enables the audio or USB PLL. | |
| void | Chip_Clock_DisablePLL (CHIP_CGU_USB_AUDIO_PLL_T pllnum) |
| Disables the audio or USB PLL. | |
| uint32_t | Chip_Clock_GetPLLStatus (CHIP_CGU_USB_AUDIO_PLL_T pllnum) |
| Returns the PLL status. | |
| #define CGU_IRC_FREQ (12000000) |
Definition at line 67 of file clock_18xx_43xx.h.
| #define CGU_PLL_FR (1 << 1) /* PLL free running indicator status */ |
Definition at line 314 of file clock_18xx_43xx.h.
| #define CGU_PLL_LOCKED (1 << 0) /* PLL locked status */ |
Definition at line 313 of file clock_18xx_43xx.h.
| #define MAX_CLOCK_FREQ (180000000) |
Definition at line 73 of file clock_18xx_43xx.h.
| enum CHIP_CCU_CLK_T |
Peripheral clocks Peripheral clocks are individual clocks routed to peripherals. Although multiple peripherals may share a same base clock, each peripheral's clock can be enabled or disabled individually. Some peripheral clocks also have additional dividers associated with them.
Definition at line 149 of file chip_clocks.h.
| enum CHIP_CGU_BASE_CLK_T |
CGU base clocks CGU base clocks are clocks that are associated with a single input clock and are routed out to 1 or more peripherals. For example, the CLK_BASE_PERIPH clock can be configured to use the CLKIN_MAINPLL input clock, which will in turn route that clock to the CLK_PERIPH_BUS, CLK_PERIPH_CORE, and CLK_PERIPH_SGPIO periphral clocks.
Definition at line 80 of file chip_clocks.h.
| enum CHIP_CGU_CLKIN_T |
CGU clock input list These are possible input clocks for the CGU and can come from both external (crystal) and internal (PLL) sources. These clock inputs can be routed to the base clocks (CHIP_CGU_BASE_CLK_T).
Definition at line 51 of file chip_clocks.h.
| enum CHIP_CGU_IDIV_T |
CGU dividers CGU dividers provide an extra clock state where a specific clock can be divided before being routed to a peripheral group. A divider accepts an input clock and then divides it. To use the divided clock for a base clock group, use the divider as the input clock for the base clock (for example, use CLKIN_IDIVB, where CLKIN_MAINPLL might be the input into the divider).
| CLK_IDIV_A |
CGU clock divider A |
| CLK_IDIV_B |
CGU clock divider B |
| CLK_IDIV_C |
CGU clock divider A |
| CLK_IDIV_D |
CGU clock divider D |
| CLK_IDIV_E |
CGU clock divider E |
| CLK_IDIV_LAST |
Definition at line 133 of file chip_clocks.h.
Audio or USB PLL selection
Definition at line 49 of file cguccu_18xx_43xx.h.
| void Chip_Clock_ClearPowerDown | ( | void | ) |
Clear the power down mode bit & proceed normal operation of branch output clocks (Only the clocks which wake up mechanism bit enabled will be enabled after the wake up event)
Enable all branch output clocks after the wake up event. Only the clocks with wake up mechanism enabled will be enabled
Definition at line 599 of file clock_18xx_43xx.c.
| void Chip_Clock_Disable | ( | CHIP_CCU_CLK_T | clk | ) |
Disables a peripheral clock.
| clk | : CHIP_CCU_CLK_T value indicating which clock to disable |
Definition at line 572 of file clock_18xx_43xx.c.
| void Chip_Clock_DisableBaseClock | ( | CHIP_CGU_BASE_CLK_T | BaseClock | ) |
Disables a base clock source.
| BaseClock | : CHIP_CGU_BASE_CLK_T value indicating which base clock to disable |
Definition at line 491 of file clock_18xx_43xx.c.
| void Chip_Clock_DisableCrystal | ( | void | ) |
| void Chip_Clock_DisableMainPLL | ( | void | ) |
Disables the main PLL.
Definition at line 283 of file clock_18xx_43xx.c.
| void Chip_Clock_DisablePLL | ( | CHIP_CGU_USB_AUDIO_PLL_T | pllnum | ) |
Disables the audio or USB PLL.
| pllnum | : PLL identifier |
Definition at line 668 of file clock_18xx_43xx.c.
| void Chip_Clock_Enable | ( | CHIP_CCU_CLK_T | clk | ) |
Enables a peripheral clock.
| clk | : CHIP_CCU_CLK_T value indicating which clock to enable |
Definition at line 560 of file clock_18xx_43xx.c.
| void Chip_Clock_EnableBaseClock | ( | CHIP_CGU_BASE_CLK_T | BaseClock | ) |
Enables a base clock source.
| BaseClock | : CHIP_CGU_BASE_CLK_T value indicating which base clock to enable |
Definition at line 483 of file clock_18xx_43xx.c.
| void Chip_Clock_EnableCrystal | ( | void | ) |
| void Chip_Clock_EnableMainPLL | ( | void | ) |
Enbles the main PLL.
Definition at line 290 of file clock_18xx_43xx.c.
| void Chip_Clock_EnableOpts | ( | CHIP_CCU_CLK_T | clk, |
| bool | autoen, | ||
| bool | wakeupen, | ||
| int | div | ||
| ) |
Enables a peripheral clock and sets clock states.
| clk | : CHIP_CCU_CLK_T value indicating which clock to enable |
| autoen | : true to enable autoblocking on a clock rate change, false to disable |
| wakeupen | : true to enable wakeup mechanism, false to disable |
| div | : Divider for the clock, must be 1 for most clocks, 2 supported on others |
Definition at line 533 of file clock_18xx_43xx.c.
| void Chip_Clock_EnablePLL | ( | CHIP_CGU_USB_AUDIO_PLL_T | pllnum | ) |
Enables the audio or USB PLL.
| pllnum | : PLL identifier |
Definition at line 662 of file clock_18xx_43xx.c.
| CHIP_CGU_CLKIN_T Chip_Clock_GetBaseClock | ( | CHIP_CGU_BASE_CLK_T | BaseClock | ) |
Gets a CGU Base Clock clock source.
| BaseClock | : CHIP_CGU_BASE_CLK_T value indicating which base clock to get inpuot clock for |
Definition at line 514 of file clock_18xx_43xx.c.
| void Chip_Clock_GetBaseClockOpts | ( | CHIP_CGU_BASE_CLK_T | BaseClock, |
| CHIP_CGU_CLKIN_T * | Input, | ||
| bool * | autoblocken, | ||
| bool * | powerdn | ||
| ) |
Get CGU Base Clock clock source information.
| BaseClock | : CHIP_CGU_BASE_CLK_T value indicating which base clock to get |
| Input | : Pointer to CHIP_CGU_CLKIN_T value of the base clock |
| autoblocken | : Pointer to autoblocking value of the base clock |
| powerdn | : Pointer to power down flag |
Definition at line 463 of file clock_18xx_43xx.c.
| uint32_t Chip_Clock_GetBaseClocktHz | ( | CHIP_CGU_BASE_CLK_T | clock | ) |
Returns the frequency of the specified base clock source.
| clock | : which base clock to return the frequency of. |
Definition at line 429 of file clock_18xx_43xx.c.
| uint32_t Chip_Clock_GetClockInputHz | ( | CHIP_CGU_CLKIN_T | input | ) |
Returns the frequency of the specified input clock source.
| input | : Which clock input to return the frequency of |
Definition at line 341 of file clock_18xx_43xx.c.
| uint32_t Chip_Clock_GetDividerDivisor | ( | CHIP_CGU_IDIV_T | Divider | ) |
Gets a CGU clock divider divisor.
| Divider | : CHIP_CGU_IDIV_T value indicating which divider to get the source of |
Definition at line 335 of file clock_18xx_43xx.c.
| CHIP_CGU_CLKIN_T Chip_Clock_GetDividerSource | ( | CHIP_CGU_IDIV_T | Divider | ) |
Gets a CGU clock divider source.
| Divider | : CHIP_CGU_IDIV_T value indicating which divider to get the source of |
Definition at line 323 of file clock_18xx_43xx.c.
| uint32_t Chip_Clock_GetMainPLLHz | ( | void | ) |
Returns the frequency of the main PLL.
Definition at line 252 of file clock_18xx_43xx.c.
| uint32_t Chip_Clock_GetPLLStatus | ( | CHIP_CGU_USB_AUDIO_PLL_T | pllnum | ) |
Returns the PLL status.
| pllnum | : PLL identifier |
Definition at line 674 of file clock_18xx_43xx.c.
| uint32_t Chip_Clock_GetRate | ( | CHIP_CCU_CLK_T | clk | ) |
Returns a peripheral clock rate.
| clk | : CHIP_CCU_CLK_T value indicating which clock to get rate for |
Definition at line 607 of file clock_18xx_43xx.c.
| bool Chip_Clock_IsBaseClockEnabled | ( | CHIP_CGU_BASE_CLK_T | BaseClock | ) |
Returns base clock enable state.
| BaseClock | : CHIP_CGU_BASE_CLK_T value indicating which base clock to check |
Definition at line 499 of file clock_18xx_43xx.c.
| bool Chip_Clock_MainPLLLocked | ( | void | ) |
Returns the lock status of the main PLL.
Definition at line 297 of file clock_18xx_43xx.c.
| void Chip_Clock_SetBaseClock | ( | CHIP_CGU_BASE_CLK_T | BaseClock, |
| CHIP_CGU_CLKIN_T | Input, | ||
| bool | autoblocken, | ||
| bool | powerdn | ||
| ) |
Sets a CGU Base Clock clock source.
| BaseClock | : CHIP_CGU_BASE_CLK_T value indicating which base clock to set |
| Input | : CHIP_CGU_CLKIN_T value indicating which clock source to use or CLOCKINPUT_PD to power down base clock |
| autoblocken | : Enables autoblocking during frequency change if true |
| powerdn | : The clock base is setup, but powered down if true |
Definition at line 435 of file clock_18xx_43xx.c.
| void Chip_Clock_SetDivider | ( | CHIP_CGU_IDIV_T | Divider, |
| CHIP_CGU_CLKIN_T | Input, | ||
| uint32_t | Divisor | ||
| ) |
Sets up a CGU clock divider and it's input clock.
| Divider | : CHIP_CGU_IDIV_T value indicating which divider to configure |
| Input | : CHIP_CGU_CLKIN_T value indicating which clock source to use or CLOCKINPUT_PD to power down divider |
| Divisor | : value to divide Input clock by |
Definition at line 304 of file clock_18xx_43xx.c.
| uint32_t Chip_Clock_SetupMainPLLHz | ( | CHIP_CGU_CLKIN_T | Input, |
| uint32_t | MinHz, | ||
| uint32_t | DesiredHz, | ||
| uint32_t | MaxHz | ||
| ) |
Configures the main PLL.
| Input | : Which clock input to use as the PLL input |
| MinHz | : Minimum allowable PLL output frequency |
| DesiredHz | : Desired PLL output frequency |
| MaxHz | : Maximum allowable PLL output frequency |
Definition at line 152 of file clock_18xx_43xx.c.
| uint32_t Chip_Clock_SetupMainPLLMult | ( | CHIP_CGU_CLKIN_T | Input, |
| uint32_t | mult | ||
| ) |
Directly set the PLL multipler.
| Input | : Which clock input to use as the PLL input |
| mult | : How many times to multiply the input clock |
Definition at line 212 of file clock_18xx_43xx.c.
| void Chip_Clock_SetupPLL | ( | CHIP_CGU_CLKIN_T | Input, |
| CHIP_CGU_USB_AUDIO_PLL_T | pllnum, | ||
| const CGU_USBAUDIO_PLL_SETUP_T * | pPLLSetup | ||
| ) |
Sets up the audio or USB PLL.
| Input | : Input clock |
| pllnum | : PLL identifier |
| pPLLSetup | : Pointer to PLL setup structure |
Definition at line 646 of file clock_18xx_43xx.c.
| void Chip_Clock_StartPowerDown | ( | void | ) |
Start the power down sequence by disabling the branch output clocks with wake up mechanism (Only the clocks which wake up mechanism bit enabled will be disabled)
Disable all branch output clocks with wake up mechanism enabled. Only the clocks with wake up mechanism enabled will be disabled & power down sequence started
Definition at line 588 of file clock_18xx_43xx.c.