LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
clock_18xx_43xx.h
Go to the documentation of this file.
1
/*
2
* @brief LPC18xx/43xx clock driver
3
*
4
* @note
5
* Copyright(C) NXP Semiconductors, 2012
6
* All rights reserved.
7
*
8
* @par
9
* Software that is described herein is for illustrative purposes only
10
* which provides customers with programming information regarding the
11
* LPC products. This software is supplied "AS IS" without any warranties of
12
* any kind, and NXP Semiconductors and its licenser disclaim any and
13
* all warranties, express or implied, including all implied warranties of
14
* merchantability, fitness for a particular purpose and non-infringement of
15
* intellectual property rights. NXP Semiconductors assumes no responsibility
16
* or liability for the use of the software, conveys no license or rights under any
17
* patent, copyright, mask work right, or any other intellectual property rights in
18
* or to any products. NXP Semiconductors reserves the right to make changes
19
* in the software without notification. NXP Semiconductors also makes no
20
* representation or warranty that such application will be suitable for the
21
* specified use without further testing or modification.
22
*
23
* @par
24
* Permission to use, copy, modify, and distribute this software and its
25
* documentation is hereby granted, under NXP Semiconductors' and its
26
* licensor's relevant copyrights in the software, without fee, provided that it
27
* is used in conjunction with NXP Semiconductors microcontrollers. This
28
* copyright, permission, and disclaimer notice must appear in all copies of
29
* this code.
30
*/
31
32
#ifndef __CLOCK_18XX_43XX_H_
33
#define __CLOCK_18XX_43XX_H_
34
35
#include "
chip.h
"
36
37
#ifdef __cplusplus
38
extern
"C"
{
39
#endif
40
61
/* Internal oscillator frequency */
62
#define CGU_IRC_FREQ (12000000)
63
64
#ifndef MAX_CLOCK_FREQ
65
#if defined(CHIP_LPC43XX)
66
#define MAX_CLOCK_FREQ (204000000)
67
#else
68
#define MAX_CLOCK_FREQ (180000000)
69
#endif
70
#endif
/* MAX_CLOCK_FREQ */
71
76
void
Chip_Clock_EnableCrystal
(
void
);
77
82
void
Chip_Clock_DisableCrystal
(
void
);
83
95
uint32_t
Chip_Clock_SetupMainPLLHz
(
CGU_CLKIN_T
Input,
uint32_t
MinHz,
uint32_t
DesiredHz,
uint32_t
MaxHz);
96
103
uint32_t
Chip_Clock_SetupMainPLLMult
(
CGU_CLKIN_T
Input,
uint32_t
mult);
104
110
uint32_t
Chip_Clock_GetMainPLLHz
(
void
);
111
118
void
Chip_Clock_DisableMainPLL
(
void
);
119
125
bool
Chip_Clock_MainPLLLocked
(
void
);
126
134
void
Chip_Clock_SetDivider
(
CGU_IDIV_T
Divider,
CGU_CLKIN_T
Input,
uint32_t
Divisor);
135
141
CGU_CLKIN_T
Chip_Clock_GetDividerSource
(
CGU_IDIV_T
Divider);
142
148
uint32_t
Chip_Clock_GetDividerDivisor
(
CGU_IDIV_T
Divider);
149
157
uint32_t
Chip_Clock_GetClockInputHz
(
CGU_CLKIN_T
input);
158
166
uint32_t
Chip_Clock_GetBaseClocktHz
(
CGU_BASE_CLK_T
clock);
167
176
void
Chip_Clock_SetBaseClock
(
CGU_BASE_CLK_T
BaseClock,
CGU_CLKIN_T
Input,
bool
autoblocken,
bool
powerdn);
177
183
CGU_CLKIN_T
Chip_Clock_GetBaseClock
(
CGU_BASE_CLK_T
BaseClock);
184
190
void
Chip_Clock_EnableBaseClock
(
CGU_BASE_CLK_T
BaseClock);
191
197
void
Chip_Clock_DisableBaseClock
(
CGU_BASE_CLK_T
BaseClock);
198
207
void
Chip_Clock_EnableOpts
(
CCU_CLK_T
clk,
bool
autoen,
bool
wakeupen,
int
div);
208
214
void
Chip_Clock_Enable
(
CCU_CLK_T
clk);
215
221
void
Chip_Clock_Disable
(
CCU_CLK_T
clk);
222
228
uint32_t
Chip_Clock_GetRate
(
CCU_CLK_T
clk);
229
234
#ifdef __cplusplus
235
}
236
#endif
237
238
#endif
/* __CLOCK_18XX_43XX_H_ */
software
lpc_core
lpc_chip
chip_18xx_43xx
clock_18xx_43xx.h
Generated on Fri Nov 16 2012 13:36:41 for LPCOpen Platform by
1.8.2