]> git.sur5r.net Git - freertos/blob - Demo/Common/drivers/LuminaryMicro/sysctl.h
Update to V5.0.0.
[freertos] / Demo / Common / drivers / LuminaryMicro / sysctl.h
1 //*****************************************************************************\r
2 //\r
3 // sysctl.h - Prototypes for the system control driver.\r
4 //\r
5 // Copyright (c) 2005-2008 Luminary Micro, Inc.  All rights reserved.\r
6 // \r
7 // Software License Agreement\r
8 // \r
9 // Luminary Micro, Inc. (LMI) is supplying this software for use solely and\r
10 // exclusively on LMI's microcontroller products.\r
11 // \r
12 // The software is owned by LMI and/or its suppliers, and is protected under\r
13 // applicable copyright laws.  All rights are reserved.  You may not combine\r
14 // this software with "viral" open-source software in order to form a larger\r
15 // program.  Any use in violation of the foregoing restrictions may subject\r
16 // the user to criminal sanctions under applicable laws, as well as to civil\r
17 // liability for the breach of the terms and conditions of this license.\r
18 // \r
19 // THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED\r
20 // OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\r
21 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\r
22 // LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\r
23 // CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.\r
24 // \r
25 // This is part of revision 2523 of the Stellaris Peripheral Driver Library.\r
26 //\r
27 //*****************************************************************************\r
28 \r
29 #ifndef __SYSCTL_H__\r
30 #define __SYSCTL_H__\r
31 \r
32 //*****************************************************************************\r
33 //\r
34 // If building with a C++ compiler, make all of the definitions in this header\r
35 // have a C binding.\r
36 //\r
37 //*****************************************************************************\r
38 #ifdef __cplusplus\r
39 extern "C"\r
40 {\r
41 #endif\r
42 \r
43 //*****************************************************************************\r
44 //\r
45 // The following are values that can be passed to the\r
46 // SysCtlPeripheralPresent(), SysCtlPeripheralEnable(),\r
47 // SysCtlPeripheralDisable(), and SysCtlPeripheralReset() APIs as the\r
48 // ulPeripheral parameter.  The peripherals in the fourth group (upper nibble\r
49 // is 3) can only be used with the SysCtlPeripheralPresent() API.\r
50 //\r
51 //*****************************************************************************\r
52 #define SYSCTL_PERIPH_WDOG      0x00000008  // Watchdog\r
53 #define SYSCTL_PERIPH_HIBERNATE 0x00000040  // Hibernation module\r
54 #define SYSCTL_PERIPH_ADC       0x00100001  // ADC\r
55 #define SYSCTL_PERIPH_PWM       0x00100010  // PWM\r
56 #define SYSCTL_PERIPH_CAN0      0x00100100  // CAN 0\r
57 #define SYSCTL_PERIPH_CAN1      0x00100200  // CAN 1\r
58 #define SYSCTL_PERIPH_CAN2      0x00100400  // CAN 2\r
59 #define SYSCTL_PERIPH_UART0     0x10000001  // UART 0\r
60 #define SYSCTL_PERIPH_UART1     0x10000002  // UART 1\r
61 #define SYSCTL_PERIPH_UART2     0x10000004  // UART 2\r
62 #ifndef DEPRECATED\r
63 #define SYSCTL_PERIPH_SSI       0x10000010  // SSI\r
64 #endif\r
65 #define SYSCTL_PERIPH_SSI0      0x10000010  // SSI 0\r
66 #define SYSCTL_PERIPH_SSI1      0x10000020  // SSI 1\r
67 #ifndef DEPRECATED\r
68 #define SYSCTL_PERIPH_QEI       0x10000100  // QEI\r
69 #endif\r
70 #define SYSCTL_PERIPH_QEI0      0x10000100  // QEI 0\r
71 #define SYSCTL_PERIPH_QEI1      0x10000200  // QEI 1\r
72 #ifndef DEPRECATED\r
73 #define SYSCTL_PERIPH_I2C       0x10001000  // I2C\r
74 #endif\r
75 #define SYSCTL_PERIPH_I2C0      0x10001000  // I2C 0\r
76 #define SYSCTL_PERIPH_I2C1      0x10004000  // I2C 1\r
77 #define SYSCTL_PERIPH_TIMER0    0x10100001  // Timer 0\r
78 #define SYSCTL_PERIPH_TIMER1    0x10100002  // Timer 1\r
79 #define SYSCTL_PERIPH_TIMER2    0x10100004  // Timer 2\r
80 #define SYSCTL_PERIPH_TIMER3    0x10100008  // Timer 3\r
81 #define SYSCTL_PERIPH_COMP0     0x10100100  // Analog comparator 0\r
82 #define SYSCTL_PERIPH_COMP1     0x10100200  // Analog comparator 1\r
83 #define SYSCTL_PERIPH_COMP2     0x10100400  // Analog comparator 2\r
84 #define SYSCTL_PERIPH_GPIOA     0x20000001  // GPIO A\r
85 #define SYSCTL_PERIPH_GPIOB     0x20000002  // GPIO B\r
86 #define SYSCTL_PERIPH_GPIOC     0x20000004  // GPIO C\r
87 #define SYSCTL_PERIPH_GPIOD     0x20000008  // GPIO D\r
88 #define SYSCTL_PERIPH_GPIOE     0x20000010  // GPIO E\r
89 #define SYSCTL_PERIPH_GPIOF     0x20000020  // GPIO F\r
90 #define SYSCTL_PERIPH_GPIOG     0x20000040  // GPIO G\r
91 #define SYSCTL_PERIPH_GPIOH     0x20000080  // GPIO H\r
92 #define SYSCTL_PERIPH_UDMA      0x20002000  // uDMA\r
93 #define SYSCTL_PERIPH_USB0      0x20100001  // USB0\r
94 #define SYSCTL_PERIPH_ETH       0x20105000  // ETH\r
95 #define SYSCTL_PERIPH_IEEE1588  0x20100100  // IEEE1588\r
96 #define SYSCTL_PERIPH_PLL       0x30000010  // PLL\r
97 #define SYSCTL_PERIPH_TEMP      0x30000020  // Temperature sensor\r
98 #define SYSCTL_PERIPH_MPU       0x30000080  // Cortex M3 MPU\r
99 \r
100 //*****************************************************************************\r
101 //\r
102 // The following are values that can be passed to the SysCtlPinPresent() API\r
103 // as the ulPin parameter.\r
104 //\r
105 //*****************************************************************************\r
106 #define SYSCTL_PIN_PWM0         0x00000001  // PWM0 pin\r
107 #define SYSCTL_PIN_PWM1         0x00000002  // PWM1 pin\r
108 #define SYSCTL_PIN_PWM2         0x00000004  // PWM2 pin\r
109 #define SYSCTL_PIN_PWM3         0x00000008  // PWM3 pin\r
110 #define SYSCTL_PIN_PWM4         0x00000010  // PWM4 pin\r
111 #define SYSCTL_PIN_PWM5         0x00000020  // PWM5 pin\r
112 #define SYSCTL_PIN_PWM6         0x00000040  // PWM6 pin\r
113 #define SYSCTL_PIN_PWM7         0x00000080  // PWM7 pin\r
114 #define SYSCTL_PIN_C0MINUS      0x00000040  // C0- pin\r
115 #define SYSCTL_PIN_C0PLUS       0x00000080  // C0+ pin\r
116 #define SYSCTL_PIN_C0O          0x00000100  // C0o pin\r
117 #define SYSCTL_PIN_C1MINUS      0x00000200  // C1- pin\r
118 #define SYSCTL_PIN_C1PLUS       0x00000400  // C1+ pin\r
119 #define SYSCTL_PIN_C1O          0x00000800  // C1o pin\r
120 #define SYSCTL_PIN_C2MINUS      0x00001000  // C2- pin\r
121 #define SYSCTL_PIN_C2PLUS       0x00002000  // C2+ pin\r
122 #define SYSCTL_PIN_C2O          0x00004000  // C2o pin\r
123 #define SYSCTL_PIN_MC_FAULT0    0x00008000  // MC0 Fault pin\r
124 #define SYSCTL_PIN_ADC0         0x00010000  // ADC0 pin\r
125 #define SYSCTL_PIN_ADC1         0x00020000  // ADC1 pin\r
126 #define SYSCTL_PIN_ADC2         0x00040000  // ADC2 pin\r
127 #define SYSCTL_PIN_ADC3         0x00080000  // ADC3 pin\r
128 #define SYSCTL_PIN_ADC4         0x00100000  // ADC4 pin\r
129 #define SYSCTL_PIN_ADC5         0x00200000  // ADC5 pin\r
130 #define SYSCTL_PIN_ADC6         0x00400000  // ADC6 pin\r
131 #define SYSCTL_PIN_ADC7         0x00800000  // ADC7 pin\r
132 #define SYSCTL_PIN_CCP0         0x01000000  // CCP0 pin\r
133 #define SYSCTL_PIN_CCP1         0x02000000  // CCP1 pin\r
134 #define SYSCTL_PIN_CCP2         0x04000000  // CCP2 pin\r
135 #define SYSCTL_PIN_CCP3         0x08000000  // CCP3 pin\r
136 #define SYSCTL_PIN_CCP4         0x10000000  // CCP4 pin\r
137 #define SYSCTL_PIN_CCP5         0x20000000  // CCP5 pin\r
138 #define SYSCTL_PIN_32KHZ        0x80000000  // 32kHz pin\r
139 \r
140 //*****************************************************************************\r
141 //\r
142 // The following are values that can be passed to the SysCtlLDOSet() API as\r
143 // the ulVoltage value, or returned by the SysCtlLDOGet() API.\r
144 //\r
145 //*****************************************************************************\r
146 #define SYSCTL_LDO_2_25V        0x00000005  // LDO output of 2.25V\r
147 #define SYSCTL_LDO_2_30V        0x00000004  // LDO output of 2.30V\r
148 #define SYSCTL_LDO_2_35V        0x00000003  // LDO output of 2.35V\r
149 #define SYSCTL_LDO_2_40V        0x00000002  // LDO output of 2.40V\r
150 #define SYSCTL_LDO_2_45V        0x00000001  // LDO output of 2.45V\r
151 #define SYSCTL_LDO_2_50V        0x00000000  // LDO output of 2.50V\r
152 #define SYSCTL_LDO_2_55V        0x0000001f  // LDO output of 2.55V\r
153 #define SYSCTL_LDO_2_60V        0x0000001e  // LDO output of 2.60V\r
154 #define SYSCTL_LDO_2_65V        0x0000001d  // LDO output of 2.65V\r
155 #define SYSCTL_LDO_2_70V        0x0000001c  // LDO output of 2.70V\r
156 #define SYSCTL_LDO_2_75V        0x0000001b  // LDO output of 2.75V\r
157 \r
158 //*****************************************************************************\r
159 //\r
160 // The following are values that can be passed to the SysCtlLDOConfigSet() API.\r
161 //\r
162 //*****************************************************************************\r
163 #define SYSCTL_LDOCFG_ARST      0x00000001  // Allow LDO failure to reset\r
164 #define SYSCTL_LDOCFG_NORST     0x00000000  // Do not reset on LDO failure\r
165 \r
166 //*****************************************************************************\r
167 //\r
168 // The following are values that can be passed to the SysCtlIntEnable(),\r
169 // SysCtlIntDisable(), and SysCtlIntClear() APIs, or returned in the bit mask\r
170 // by the SysCtlIntStatus() API.\r
171 //\r
172 //*****************************************************************************\r
173 #define SYSCTL_INT_PLL_LOCK     0x00000040  // PLL lock interrupt\r
174 #define SYSCTL_INT_CUR_LIMIT    0x00000020  // Current limit interrupt\r
175 #define SYSCTL_INT_IOSC_FAIL    0x00000010  // Internal oscillator failure int\r
176 #define SYSCTL_INT_MOSC_FAIL    0x00000008  // Main oscillator failure int\r
177 #define SYSCTL_INT_POR          0x00000004  // Power on reset interrupt\r
178 #define SYSCTL_INT_BOR          0x00000002  // Brown out interrupt\r
179 #define SYSCTL_INT_PLL_FAIL     0x00000001  // PLL failure interrupt\r
180 \r
181 //*****************************************************************************\r
182 //\r
183 // The following are values that can be passed to the SysCtlResetCauseClear()\r
184 // API or returned by the SysCtlResetCauseGet() API.\r
185 //\r
186 //*****************************************************************************\r
187 #define SYSCTL_CAUSE_LDO        0x00000020  // LDO power not OK reset\r
188 #define SYSCTL_CAUSE_SW         0x00000010  // Software reset\r
189 #define SYSCTL_CAUSE_WDOG       0x00000008  // Watchdog reset\r
190 #define SYSCTL_CAUSE_BOR        0x00000004  // Brown-out reset\r
191 #define SYSCTL_CAUSE_POR        0x00000002  // Power on reset\r
192 #define SYSCTL_CAUSE_EXT        0x00000001  // External reset\r
193 \r
194 //*****************************************************************************\r
195 //\r
196 // The following are values that can be passed to the SysCtlBrownOutConfigSet()\r
197 // API as the ulConfig parameter.\r
198 //\r
199 //*****************************************************************************\r
200 #define SYSCTL_BOR_RESET        0x00000002  // Reset instead of interrupting\r
201 #define SYSCTL_BOR_RESAMPLE     0x00000001  // Resample BOR before asserting\r
202 \r
203 //*****************************************************************************\r
204 //\r
205 // The following are values that can be passed to the SysCtlPWMClockSet() API\r
206 // as the ulConfig parameter, and can be returned by the SysCtlPWMClockGet()\r
207 // API.\r
208 //\r
209 //*****************************************************************************\r
210 #define SYSCTL_PWMDIV_1         0x00000000  // PWM clock is processor clock /1\r
211 #define SYSCTL_PWMDIV_2         0x00100000  // PWM clock is processor clock /2\r
212 #define SYSCTL_PWMDIV_4         0x00120000  // PWM clock is processor clock /4\r
213 #define SYSCTL_PWMDIV_8         0x00140000  // PWM clock is processor clock /8\r
214 #define SYSCTL_PWMDIV_16        0x00160000  // PWM clock is processor clock /16\r
215 #define SYSCTL_PWMDIV_32        0x00180000  // PWM clock is processor clock /32\r
216 #define SYSCTL_PWMDIV_64        0x001A0000  // PWM clock is processor clock /64\r
217 \r
218 //*****************************************************************************\r
219 //\r
220 // The following are values that can be passed to the SysCtlADCSpeedSet() API\r
221 // as the ulSpeed parameter, and can be returned by the SyCtlADCSpeedGet()\r
222 // API.\r
223 //\r
224 //*****************************************************************************\r
225 #define SYSCTL_ADCSPEED_1MSPS   0x00000300  // 1,000,000 samples per second\r
226 #define SYSCTL_ADCSPEED_500KSPS 0x00000200  // 500,000 samples per second\r
227 #define SYSCTL_ADCSPEED_250KSPS 0x00000100  // 250,000 samples per second\r
228 #define SYSCTL_ADCSPEED_125KSPS 0x00000000  // 125,000 samples per second\r
229 \r
230 //*****************************************************************************\r
231 //\r
232 // The following are values that can be passed to the SysCtlClockSet() API as\r
233 // the ulConfig parameter.\r
234 //\r
235 //*****************************************************************************\r
236 #define SYSCTL_SYSDIV_1         0x07800000  // Processor clock is osc/pll /1\r
237 #define SYSCTL_SYSDIV_2         0x00C00000  // Processor clock is osc/pll /2\r
238 #define SYSCTL_SYSDIV_3         0x01400000  // Processor clock is osc/pll /3\r
239 #define SYSCTL_SYSDIV_4         0x01C00000  // Processor clock is osc/pll /4\r
240 #define SYSCTL_SYSDIV_5         0x02400000  // Processor clock is osc/pll /5\r
241 #define SYSCTL_SYSDIV_6         0x02C00000  // Processor clock is osc/pll /6\r
242 #define SYSCTL_SYSDIV_7         0x03400000  // Processor clock is osc/pll /7\r
243 #define SYSCTL_SYSDIV_8         0x03C00000  // Processor clock is osc/pll /8\r
244 #define SYSCTL_SYSDIV_9         0x04400000  // Processor clock is osc/pll /9\r
245 #define SYSCTL_SYSDIV_10        0x04C00000  // Processor clock is osc/pll /10\r
246 #define SYSCTL_SYSDIV_11        0x05400000  // Processor clock is osc/pll /11\r
247 #define SYSCTL_SYSDIV_12        0x05C00000  // Processor clock is osc/pll /12\r
248 #define SYSCTL_SYSDIV_13        0x06400000  // Processor clock is osc/pll /13\r
249 #define SYSCTL_SYSDIV_14        0x06C00000  // Processor clock is osc/pll /14\r
250 #define SYSCTL_SYSDIV_15        0x07400000  // Processor clock is osc/pll /15\r
251 #define SYSCTL_SYSDIV_16        0x07C00000  // Processor clock is osc/pll /16\r
252 #define SYSCTL_SYSDIV_17        0x88400000  // Processor clock is osc/pll /17\r
253 #define SYSCTL_SYSDIV_18        0x88C00000  // Processor clock is osc/pll /18\r
254 #define SYSCTL_SYSDIV_19        0x89400000  // Processor clock is osc/pll /19\r
255 #define SYSCTL_SYSDIV_20        0x89C00000  // Processor clock is osc/pll /20\r
256 #define SYSCTL_SYSDIV_21        0x8A400000  // Processor clock is osc/pll /21\r
257 #define SYSCTL_SYSDIV_22        0x8AC00000  // Processor clock is osc/pll /22\r
258 #define SYSCTL_SYSDIV_23        0x8B400000  // Processor clock is osc/pll /23\r
259 #define SYSCTL_SYSDIV_24        0x8BC00000  // Processor clock is osc/pll /24\r
260 #define SYSCTL_SYSDIV_25        0x8C400000  // Processor clock is osc/pll /25\r
261 #define SYSCTL_SYSDIV_26        0x8CC00000  // Processor clock is osc/pll /26\r
262 #define SYSCTL_SYSDIV_27        0x8D400000  // Processor clock is osc/pll /27\r
263 #define SYSCTL_SYSDIV_28        0x8DC00000  // Processor clock is osc/pll /28\r
264 #define SYSCTL_SYSDIV_29        0x8E400000  // Processor clock is osc/pll /29\r
265 #define SYSCTL_SYSDIV_30        0x8EC00000  // Processor clock is osc/pll /30\r
266 #define SYSCTL_SYSDIV_31        0x8F400000  // Processor clock is osc/pll /31\r
267 #define SYSCTL_SYSDIV_32        0x8FC00000  // Processor clock is osc/pll /32\r
268 #define SYSCTL_SYSDIV_33        0x90400000  // Processor clock is osc/pll /33\r
269 #define SYSCTL_SYSDIV_34        0x90C00000  // Processor clock is osc/pll /34\r
270 #define SYSCTL_SYSDIV_35        0x91400000  // Processor clock is osc/pll /35\r
271 #define SYSCTL_SYSDIV_36        0x91C00000  // Processor clock is osc/pll /36\r
272 #define SYSCTL_SYSDIV_37        0x92400000  // Processor clock is osc/pll /37\r
273 #define SYSCTL_SYSDIV_38        0x92C00000  // Processor clock is osc/pll /38\r
274 #define SYSCTL_SYSDIV_39        0x93400000  // Processor clock is osc/pll /39\r
275 #define SYSCTL_SYSDIV_40        0x93C00000  // Processor clock is osc/pll /40\r
276 #define SYSCTL_SYSDIV_41        0x94400000  // Processor clock is osc/pll /41\r
277 #define SYSCTL_SYSDIV_42        0x94C00000  // Processor clock is osc/pll /42\r
278 #define SYSCTL_SYSDIV_43        0x95400000  // Processor clock is osc/pll /43\r
279 #define SYSCTL_SYSDIV_44        0x95C00000  // Processor clock is osc/pll /44\r
280 #define SYSCTL_SYSDIV_45        0x96400000  // Processor clock is osc/pll /45\r
281 #define SYSCTL_SYSDIV_46        0x96C00000  // Processor clock is osc/pll /46\r
282 #define SYSCTL_SYSDIV_47        0x97400000  // Processor clock is osc/pll /47\r
283 #define SYSCTL_SYSDIV_48        0x97C00000  // Processor clock is osc/pll /48\r
284 #define SYSCTL_SYSDIV_49        0x98400000  // Processor clock is osc/pll /49\r
285 #define SYSCTL_SYSDIV_50        0x98C00000  // Processor clock is osc/pll /50\r
286 #define SYSCTL_SYSDIV_51        0x99400000  // Processor clock is osc/pll /51\r
287 #define SYSCTL_SYSDIV_52        0x99C00000  // Processor clock is osc/pll /52\r
288 #define SYSCTL_SYSDIV_53        0x9A400000  // Processor clock is osc/pll /53\r
289 #define SYSCTL_SYSDIV_54        0x9AC00000  // Processor clock is osc/pll /54\r
290 #define SYSCTL_SYSDIV_55        0x9B400000  // Processor clock is osc/pll /55\r
291 #define SYSCTL_SYSDIV_56        0x9BC00000  // Processor clock is osc/pll /56\r
292 #define SYSCTL_SYSDIV_57        0x9C400000  // Processor clock is osc/pll /57\r
293 #define SYSCTL_SYSDIV_58        0x9CC00000  // Processor clock is osc/pll /58\r
294 #define SYSCTL_SYSDIV_59        0x9D400000  // Processor clock is osc/pll /59\r
295 #define SYSCTL_SYSDIV_60        0x9DC00000  // Processor clock is osc/pll /60\r
296 #define SYSCTL_SYSDIV_61        0x9E400000  // Processor clock is osc/pll /61\r
297 #define SYSCTL_SYSDIV_62        0x9EC00000  // Processor clock is osc/pll /62\r
298 #define SYSCTL_SYSDIV_63        0x9F400000  // Processor clock is osc/pll /63\r
299 #define SYSCTL_SYSDIV_64        0x9FC00000  // Processor clock is osc/pll /64\r
300 #define SYSCTL_USE_PLL          0x00000000  // System clock is the PLL clock\r
301 #define SYSCTL_USE_OSC          0x00003800  // System clock is the osc clock\r
302 #define SYSCTL_XTAL_1MHZ        0x00000000  // External crystal is 1MHz\r
303 #define SYSCTL_XTAL_1_84MHZ     0x00000040  // External crystal is 1.8432MHz\r
304 #define SYSCTL_XTAL_2MHZ        0x00000080  // External crystal is 2MHz\r
305 #define SYSCTL_XTAL_2_45MHZ     0x000000C0  // External crystal is 2.4576MHz\r
306 #define SYSCTL_XTAL_3_57MHZ     0x00000100  // External crystal is 3.579545MHz\r
307 #define SYSCTL_XTAL_3_68MHZ     0x00000140  // External crystal is 3.6864MHz\r
308 #define SYSCTL_XTAL_4MHZ        0x00000180  // External crystal is 4MHz\r
309 #define SYSCTL_XTAL_4_09MHZ     0x000001C0  // External crystal is 4.096MHz\r
310 #define SYSCTL_XTAL_4_91MHZ     0x00000200  // External crystal is 4.9152MHz\r
311 #define SYSCTL_XTAL_5MHZ        0x00000240  // External crystal is 5MHz\r
312 #define SYSCTL_XTAL_5_12MHZ     0x00000280  // External crystal is 5.12MHz\r
313 #define SYSCTL_XTAL_6MHZ        0x000002C0  // External crystal is 6MHz\r
314 #define SYSCTL_XTAL_6_14MHZ     0x00000300  // External crystal is 6.144MHz\r
315 #define SYSCTL_XTAL_7_37MHZ     0x00000340  // External crystal is 7.3728MHz\r
316 #define SYSCTL_XTAL_8MHZ        0x00000380  // External crystal is 8MHz\r
317 #define SYSCTL_XTAL_8_19MHZ     0x000003C0  // External crystal is 8.192MHz\r
318 #define SYSCTL_XTAL_10MHZ       0x00000400  // External crystal is 10 MHz\r
319 #define SYSCTL_XTAL_12MHZ       0x00000440  // External crystal is 12 MHz\r
320 #define SYSCTL_XTAL_12_2MHZ     0x00000480  // External crystal is 12.288 MHz\r
321 #define SYSCTL_XTAL_13_5MHZ     0x000004C0  // External crystal is 13.56 MHz\r
322 #define SYSCTL_XTAL_14_3MHZ     0x00000500  // External crystal is 14.31818 MHz\r
323 #define SYSCTL_XTAL_16MHZ       0x00000540  // External crystal is 16 MHz\r
324 #define SYSCTL_XTAL_16_3MHZ     0x00000580  // External crystal is 16.384 MHz\r
325 #define SYSCTL_OSC_MAIN         0x00000000  // Oscillator source is main osc\r
326 #define SYSCTL_OSC_INT          0x00000010  // Oscillator source is int. osc\r
327 #define SYSCTL_OSC_INT4         0x00000020  // Oscillator source is int. osc /4\r
328 #define SYSCTL_OSC_INT30        0x80000030  // Oscillator source is int. 30 KHz\r
329 #define SYSCTL_OSC_EXT32        0x80000038  // Oscillator source is ext. 32 KHz\r
330 #define SYSCTL_INT_OSC_DIS      0x00000002  // Disable internal oscillator\r
331 #define SYSCTL_MAIN_OSC_DIS     0x00000001  // Disable main oscillator\r
332 \r
333 //*****************************************************************************\r
334 //\r
335 // Prototypes for the APIs.\r
336 //\r
337 //*****************************************************************************\r
338 extern unsigned long SysCtlSRAMSizeGet(void);\r
339 extern unsigned long SysCtlFlashSizeGet(void);\r
340 extern tBoolean SysCtlPinPresent(unsigned long ulPin);\r
341 extern tBoolean SysCtlPeripheralPresent(unsigned long ulPeripheral);\r
342 extern void SysCtlPeripheralReset(unsigned long ulPeripheral);\r
343 extern void SysCtlPeripheralEnable(unsigned long ulPeripheral);\r
344 extern void SysCtlPeripheralDisable(unsigned long ulPeripheral);\r
345 extern void SysCtlPeripheralSleepEnable(unsigned long ulPeripheral);\r
346 extern void SysCtlPeripheralSleepDisable(unsigned long ulPeripheral);\r
347 extern void SysCtlPeripheralDeepSleepEnable(unsigned long ulPeripheral);\r
348 extern void SysCtlPeripheralDeepSleepDisable(unsigned long ulPeripheral);\r
349 extern void SysCtlPeripheralClockGating(tBoolean bEnable);\r
350 extern void SysCtlIntRegister(void (*pfnHandler)(void));\r
351 extern void SysCtlIntUnregister(void);\r
352 extern void SysCtlIntEnable(unsigned long ulInts);\r
353 extern void SysCtlIntDisable(unsigned long ulInts);\r
354 extern void SysCtlIntClear(unsigned long ulInts);\r
355 extern unsigned long SysCtlIntStatus(tBoolean bMasked);\r
356 extern void SysCtlLDOSet(unsigned long ulVoltage);\r
357 extern unsigned long SysCtlLDOGet(void);\r
358 extern void SysCtlLDOConfigSet(unsigned long ulConfig);\r
359 extern void SysCtlReset(void);\r
360 extern void SysCtlSleep(void);\r
361 extern void SysCtlDeepSleep(void);\r
362 extern unsigned long SysCtlResetCauseGet(void);\r
363 extern void SysCtlResetCauseClear(unsigned long ulCauses);\r
364 extern void SysCtlBrownOutConfigSet(unsigned long ulConfig,\r
365                                     unsigned long ulDelay);\r
366 extern void SysCtlDelay(unsigned long ulCount);\r
367 extern void SysCtlClockSet(unsigned long ulConfig);\r
368 extern unsigned long SysCtlClockGet(void);\r
369 extern void SysCtlPWMClockSet(unsigned long ulConfig);\r
370 extern unsigned long SysCtlPWMClockGet(void);\r
371 extern void SysCtlADCSpeedSet(unsigned long ulSpeed);\r
372 extern unsigned long SysCtlADCSpeedGet(void);\r
373 extern void SysCtlIOSCVerificationSet(tBoolean bEnable);\r
374 extern void SysCtlMOSCVerificationSet(tBoolean bEnable);\r
375 extern void SysCtlPLLVerificationSet(tBoolean bEnable);\r
376 extern void SysCtlClkVerificationClear(void);\r
377 extern void SysCtlGPIOAHBEnable(unsigned long ulGPIOPeripheral);\r
378 extern void SysCtlGPIOAHBDisable(unsigned long ulGPIOPeripheral);\r
379 extern void SysCtlUSBPLLEnable(void);\r
380 extern void SysCtlUSBPLLDisable(void);\r
381 \r
382 //*****************************************************************************\r
383 //\r
384 // Mark the end of the C bindings section for C++ compilers.\r
385 //\r
386 //*****************************************************************************\r
387 #ifdef __cplusplus\r
388 }\r
389 #endif\r
390 \r
391 #endif // __SYSCTL_H__\r