]> git.sur5r.net Git - freertos/blob
8fc25337edf2af98e7ddd7473f8f3a7f0e2e37b3
[freertos] /
1 /* --COPYRIGHT--,BSD\r
2  * Copyright (c) 2014, Texas Instruments Incorporated\r
3  * All rights reserved.\r
4  *\r
5  * Redistribution and use in source and binary forms, with or without\r
6  * modification, are permitted provided that the following conditions\r
7  * are met:\r
8  *\r
9  * *  Redistributions of source code must retain the above copyright\r
10  *    notice, this list of conditions and the following disclaimer.\r
11  *\r
12  * *  Redistributions in binary form must reproduce the above copyright\r
13  *    notice, this list of conditions and the following disclaimer in the\r
14  *    documentation and/or other materials provided with the distribution.\r
15  *\r
16  * *  Neither the name of Texas Instruments Incorporated nor the names of\r
17  *    its contributors may be used to endorse or promote products derived\r
18  *    from this software without specific prior written permission.\r
19  *\r
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
31  * --/COPYRIGHT--*/\r
32 /* ============================================================================ */\r
33 /* Copyright (c) 2013, Texas Instruments Incorporated                           */\r
34 /*  All rights reserved.                                                        */\r
35 /*                                                                              */\r
36 /*  Redistribution and use in source and binary forms, with or without          */\r
37 /*  modification, are permitted provided that the following conditions          */\r
38 /*  are met:                                                                    */\r
39 /*                                                                              */\r
40 /*  *  Redistributions of source code must retain the above copyright           */\r
41 /*     notice, this list of conditions and the following disclaimer.            */\r
42 /*                                                                              */\r
43 /*  *  Redistributions in binary form must reproduce the above copyright        */\r
44 /*     notice, this list of conditions and the following disclaimer in the      */\r
45 /*     documentation and/or other materials provided with the distribution.     */\r
46 /*                                                                              */\r
47 /*  *  Neither the name of Texas Instruments Incorporated nor the names of      */\r
48 /*     its contributors may be used to endorse or promote products derived      */\r
49 /*     from this software without specific prior written permission.            */\r
50 /*                                                                              */\r
51 /*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" */\r
52 /*  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,       */\r
53 /*  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR      */\r
54 /*  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR            */\r
55 /*  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,       */\r
56 /*  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,         */\r
57 /*  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */\r
58 /*  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,    */\r
59 /*  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR     */\r
60 /*  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,              */\r
61 /*  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          */\r
62 /* ============================================================================ */\r
63 \r
64 /********************************************************************\r
65 *\r
66 * Standard register and bit definitions for the Texas Instruments\r
67 * MSP430 microcontroller.\r
68 *\r
69 * This file supports assembler and C development for\r
70 * MSP430FR5XX_FR6XXGENERIC device.\r
71 *\r
72 * Texas Instruments, Version 1.0\r
73 *\r
74 * Rev. 1.0, Setup\r
75 *\r
76 *\r
77 ********************************************************************/\r
78 \r
79 #ifndef __msp430FR5XX_FR6XXGENERIC\r
80 #define __msp430FR5XX_FR6XXGENERIC\r
81 \r
82 //#define __MSP430_HEADER_VERSION__ 1125\r
83 \r
84 #ifdef __cplusplus\r
85 extern "C" {\r
86 #endif\r
87 \r
88 \r
89 /*----------------------------------------------------------------------------*/\r
90 /* PERIPHERAL FILE MAP                                                        */\r
91 /*----------------------------------------------------------------------------*/\r
92 \r
93 #ifndef SFR_8BIT\r
94 /* External references resolved by a device-specific linker command file */\r
95 #define SFR_8BIT(address)   extern volatile unsigned char address\r
96 #define SFR_16BIT(address)  extern volatile unsigned int address\r
97 //#define SFR_20BIT(address)  extern volatile unsigned int address\r
98 typedef void (* __SFR_FARPTR)();\r
99 #define SFR_20BIT(address) extern __SFR_FARPTR address\r
100 #define SFR_32BIT(address)  extern volatile unsigned long address\r
101 \r
102 #endif\r
103 \r
104 \r
105 /************************************************************\r
106 * STANDARD BITS\r
107 ************************************************************/\r
108 \r
109 #define BIT0                   (0x0001)\r
110 #define BIT1                   (0x0002)\r
111 #define BIT2                   (0x0004)\r
112 #define BIT3                   (0x0008)\r
113 #define BIT4                   (0x0010)\r
114 #define BIT5                   (0x0020)\r
115 #define BIT6                   (0x0040)\r
116 #define BIT7                   (0x0080)\r
117 #define BIT8                   (0x0100)\r
118 #define BIT9                   (0x0200)\r
119 #define BITA                   (0x0400)\r
120 #define BITB                   (0x0800)\r
121 #define BITC                   (0x1000)\r
122 #define BITD                   (0x2000)\r
123 #define BITE                   (0x4000)\r
124 #define BITF                   (0x8000)\r
125 \r
126 /************************************************************\r
127 * STATUS REGISTER BITS\r
128 ************************************************************/\r
129 \r
130 #define C                      (0x0001)\r
131 #define Z                      (0x0002)\r
132 #define N                      (0x0004)\r
133 #define V                      (0x0100)\r
134 #define GIE                    (0x0008)\r
135 #define CPUOFF                 (0x0010)\r
136 #define OSCOFF                 (0x0020)\r
137 #define SCG0                   (0x0040)\r
138 #define SCG1                   (0x0080)\r
139 \r
140 /* Low Power Modes coded with Bits 4-7 in SR */\r
141 \r
142 #ifdef __ASM_HEADER__ /* Begin #defines for assembler */\r
143 #define LPM0                   (CPUOFF)\r
144 #define LPM1                   (SCG0+CPUOFF)\r
145 #define LPM2                   (SCG1+CPUOFF)\r
146 #define LPM3                   (SCG1+SCG0+CPUOFF)\r
147 #define LPM4                   (SCG1+SCG0+OSCOFF+CPUOFF)\r
148 /* End #defines for assembler */\r
149 \r
150 #else /* Begin #defines for C */\r
151 #define LPM0_bits              (CPUOFF)\r
152 #define LPM1_bits              (SCG0+CPUOFF)\r
153 #define LPM2_bits              (SCG1+CPUOFF)\r
154 #define LPM3_bits              (SCG1+SCG0+CPUOFF)\r
155 #define LPM4_bits              (SCG1+SCG0+OSCOFF+CPUOFF)\r
156 \r
157 #include "in430.h"\r
158 #include <intrinsics.h>\r
159 \r
160 #if __MSP430_HEADER_VERSION__ < 1107\r
161         #define LPM0         _bis_SR_register(LPM0_bits)         /* Enter Low Power Mode 0 */\r
162         #define LPM0_EXIT    _bic_SR_register_on_exit(LPM0_bits) /* Exit Low Power Mode 0 */\r
163         #define LPM1         _bis_SR_register(LPM1_bits)         /* Enter Low Power Mode 1 */\r
164         #define LPM1_EXIT    _bic_SR_register_on_exit(LPM1_bits) /* Exit Low Power Mode 1 */\r
165         #define LPM2         _bis_SR_register(LPM2_bits)         /* Enter Low Power Mode 2 */\r
166         #define LPM2_EXIT    _bic_SR_register_on_exit(LPM2_bits) /* Exit Low Power Mode 2 */\r
167         #define LPM3         _bis_SR_register(LPM3_bits)         /* Enter Low Power Mode 3 */\r
168         #define LPM3_EXIT    _bic_SR_register_on_exit(LPM3_bits) /* Exit Low Power Mode 3 */\r
169         #define LPM4         _bis_SR_register(LPM4_bits)         /* Enter Low Power Mode 4 */\r
170         #define LPM4_EXIT    _bic_SR_register_on_exit(LPM4_bits) /* Exit Low Power Mode 4 */\r
171 #else\r
172         #define LPM0      __bis_SR_register(LPM0_bits)         /* Enter Low Power Mode 0 */\r
173         #define LPM0_EXIT __bic_SR_register_on_exit(LPM0_bits) /* Exit Low Power Mode 0 */\r
174         #define LPM1      __bis_SR_register(LPM1_bits)         /* Enter Low Power Mode 1 */\r
175         #define LPM1_EXIT __bic_SR_register_on_exit(LPM1_bits) /* Exit Low Power Mode 1 */\r
176         #define LPM2      __bis_SR_register(LPM2_bits)         /* Enter Low Power Mode 2 */\r
177         #define LPM2_EXIT __bic_SR_register_on_exit(LPM2_bits) /* Exit Low Power Mode 2 */\r
178         #define LPM3      __bis_SR_register(LPM3_bits)         /* Enter Low Power Mode 3 */\r
179         #define LPM3_EXIT __bic_SR_register_on_exit(LPM3_bits) /* Exit Low Power Mode 3 */\r
180         #define LPM4      __bis_SR_register(LPM4_bits)         /* Enter Low Power Mode 4 */\r
181         #define LPM4_EXIT __bic_SR_register_on_exit(LPM4_bits) /* Exit Low Power Mode 4 */\r
182 #endif\r
183 #endif /* End #defines for C */\r
184 \r
185 /************************************************************\r
186 * CPU\r
187 ************************************************************/\r
188 #define __MSP430_HAS_MSP430XV2_CPU__                /* Definition to show that it has MSP430XV2 CPU */\r
189 \r
190 #if defined(__MSP430_HAS_T0A2__) || defined(__MSP430_HAS_T1A2__) || defined(__MSP430_HAS_T2A2__) || defined(__MSP430_HAS_T3A2__) \\r
191  || defined(__MSP430_HAS_T0A3__) || defined(__MSP430_HAS_T1A3__) || defined(__MSP430_HAS_T2A3__) || defined(__MSP430_HAS_T3A3__) \\r
192  || defined(__MSP430_HAS_T0A5__) || defined(__MSP430_HAS_T1A5__) || defined(__MSP430_HAS_T2A5__) || defined(__MSP430_HAS_T3A5__) \\r
193  || defined(__MSP430_HAS_T0A7__) || defined(__MSP430_HAS_T1A7__) || defined(__MSP430_HAS_T2A7__) || defined(__MSP430_HAS_T3A7__)\r
194   #define __MSP430_HAS_TxA7__\r
195 #endif\r
196 #if defined(__MSP430_HAS_T0B3__) || defined(__MSP430_HAS_T0B5__) || defined(__MSP430_HAS_T0B7__) \\r
197  || defined(__MSP430_HAS_T1B3__) || defined(__MSP430_HAS_T1B5__) || defined(__MSP430_HAS_T1B7__)\r
198   #define __MSP430_HAS_TxB7__\r
199 #endif\r
200 #if defined(__MSP430_HAS_T0D3__) || defined(__MSP430_HAS_T0D5__) || defined(__MSP430_HAS_T0D7__) \\r
201  || defined(__MSP430_HAS_T1D3__) || defined(__MSP430_HAS_T1D5__) || defined(__MSP430_HAS_T1D7__)\r
202   #define __MSP430_HAS_TxD7__\r
203 #endif\r
204 #if defined(__MSP430_HAS_USCI_A0__) || defined(__MSP430_HAS_USCI_A1__) || defined(__MSP430_HAS_USCI_A2__) || defined(__MSP430_HAS_USCI_A3__)\r
205   #define __MSP430_HAS_USCI_Ax__\r
206 #endif\r
207 #if defined(__MSP430_HAS_USCI_B0__) || defined(__MSP430_HAS_USCI_B1__) || defined(__MSP430_HAS_USCI_B2__) || defined(__MSP430_HAS_USCI_B3__)\r
208   #define __MSP430_HAS_USCI_Bx__\r
209 #endif\r
210 #if defined(__MSP430_HAS_EUSCI_A0__) || defined(__MSP430_HAS_EUSCI_A1__) || defined(__MSP430_HAS_EUSCI_A2__) || defined(__MSP430_HAS_EUSCI_A3__)\r
211   #define __MSP430_HAS_EUSCI_Ax__\r
212 #endif\r
213 #if defined(__MSP430_HAS_EUSCI_B0__) || defined(__MSP430_HAS_EUSCI_B1__) || defined(__MSP430_HAS_EUSCI_B2__) || defined(__MSP430_HAS_EUSCI_B3__)\r
214   #define __MSP430_HAS_EUSCI_Bx__\r
215 #endif\r
216 #ifdef __MSP430_HAS_EUSCI_B0__\r
217   #define __MSP430_HAS_EUSCI_Bx__\r
218 #endif\r
219 \r
220 /************************************************************\r
221 * ADC12_B\r
222 ************************************************************/\r
223 #ifdef  __MSP430_HAS_ADC12_B__         /* Definition to show that Module is available */\r
224 \r
225 #define OFS_ADC12CTL0          (0x0000)       /* ADC12 B Control 0 */\r
226 #define OFS_ADC12CTL0_L        OFS_ADC12CTL0\r
227 #define OFS_ADC12CTL0_H        OFS_ADC12CTL0+1\r
228 #define OFS_ADC12CTL1          (0x0002)       /* ADC12 B Control 1 */\r
229 #define OFS_ADC12CTL1_L        OFS_ADC12CTL1\r
230 #define OFS_ADC12CTL1_H        OFS_ADC12CTL1+1\r
231 #define OFS_ADC12CTL2          (0x0004)       /* ADC12 B Control 2 */\r
232 #define OFS_ADC12CTL2_L        OFS_ADC12CTL2\r
233 #define OFS_ADC12CTL2_H        OFS_ADC12CTL2+1\r
234 #define OFS_ADC12CTL3          (0x0006)       /* ADC12 B Control 3 */\r
235 #define OFS_ADC12CTL3_L        OFS_ADC12CTL3\r
236 #define OFS_ADC12CTL3_H        OFS_ADC12CTL3+1\r
237 #define OFS_ADC12LO            (0x0008)       /* ADC12 B Window Comparator High Threshold */\r
238 #define OFS_ADC12LO_L          OFS_ADC12LO\r
239 #define OFS_ADC12LO_H          OFS_ADC12LO+1\r
240 #define OFS_ADC12HI            (0x000A)       /* ADC12 B Window Comparator High Threshold */\r
241 #define OFS_ADC12HI_L          OFS_ADC12HI\r
242 #define OFS_ADC12HI_H          OFS_ADC12HI+1\r
243 #define OFS_ADC12IFGR0         (0x000C)       /* ADC12 B Interrupt Flag 0 */\r
244 #define OFS_ADC12IFGR0_L       OFS_ADC12IFGR0\r
245 #define OFS_ADC12IFGR0_H       OFS_ADC12IFGR0+1\r
246 #define OFS_ADC12IFGR1         (0x000E)       /* ADC12 B Interrupt Flag 1 */\r
247 #define OFS_ADC12IFGR1_L       OFS_ADC12IFGR1\r
248 #define OFS_ADC12IFGR1_H       OFS_ADC12IFGR1+1\r
249 #define OFS_ADC12IFGR2         (0x0010)       /* ADC12 B Interrupt Flag 2 */\r
250 #define OFS_ADC12IFGR2_L       OFS_ADC12IFGR2\r
251 #define OFS_ADC12IFGR2_H       OFS_ADC12IFGR2+1\r
252 #define OFS_ADC12IER0          (0x0012)       /* ADC12 B Interrupt Enable 0 */\r
253 #define OFS_ADC12IER0_L        OFS_ADC12IER0\r
254 #define OFS_ADC12IER0_H        OFS_ADC12IER0+1\r
255 #define OFS_ADC12IER1          (0x0014)       /* ADC12 B Interrupt Enable 1 */\r
256 #define OFS_ADC12IER1_L        OFS_ADC12IER1\r
257 #define OFS_ADC12IER1_H        OFS_ADC12IER1+1\r
258 #define OFS_ADC12IER2          (0x0016)       /* ADC12 B Interrupt Enable 2 */\r
259 #define OFS_ADC12IER2_L        OFS_ADC12IER2\r
260 #define OFS_ADC12IER2_H        OFS_ADC12IER2+1\r
261 #define OFS_ADC12IV            (0x0018)       /* ADC12 B Interrupt Vector Word */\r
262 #define OFS_ADC12IV_L          OFS_ADC12IV\r
263 #define OFS_ADC12IV_H          OFS_ADC12IV+1\r
264 \r
265 #define OFS_ADC12MCTL0         (0x0020)       /* ADC12 Memory Control 0 */\r
266 #define OFS_ADC12MCTL0_L       OFS_ADC12MCTL0\r
267 #define OFS_ADC12MCTL0_H       OFS_ADC12MCTL0+1\r
268 #define OFS_ADC12MCTL1         (0x0022)       /* ADC12 Memory Control 1 */\r
269 #define OFS_ADC12MCTL1_L       OFS_ADC12MCTL1\r
270 #define OFS_ADC12MCTL1_H       OFS_ADC12MCTL1+1\r
271 #define OFS_ADC12MCTL2         (0x0024)       /* ADC12 Memory Control 2 */\r
272 #define OFS_ADC12MCTL2_L       OFS_ADC12MCTL2\r
273 #define OFS_ADC12MCTL2_H       OFS_ADC12MCTL2+1\r
274 #define OFS_ADC12MCTL3         (0x0026)       /* ADC12 Memory Control 3 */\r
275 #define OFS_ADC12MCTL3_L       OFS_ADC12MCTL3\r
276 #define OFS_ADC12MCTL3_H       OFS_ADC12MCTL3+1\r
277 #define OFS_ADC12MCTL4         (0x0028)       /* ADC12 Memory Control 4 */\r
278 #define OFS_ADC12MCTL4_L       OFS_ADC12MCTL4\r
279 #define OFS_ADC12MCTL4_H       OFS_ADC12MCTL4+1\r
280 #define OFS_ADC12MCTL5         (0x002A)       /* ADC12 Memory Control 5 */\r
281 #define OFS_ADC12MCTL5_L       OFS_ADC12MCTL5\r
282 #define OFS_ADC12MCTL5_H       OFS_ADC12MCTL5+1\r
283 #define OFS_ADC12MCTL6         (0x002C)       /* ADC12 Memory Control 6 */\r
284 #define OFS_ADC12MCTL6_L       OFS_ADC12MCTL6\r
285 #define OFS_ADC12MCTL6_H       OFS_ADC12MCTL6+1\r
286 #define OFS_ADC12MCTL7         (0x002E)       /* ADC12 Memory Control 7 */\r
287 #define OFS_ADC12MCTL7_L       OFS_ADC12MCTL7\r
288 #define OFS_ADC12MCTL7_H       OFS_ADC12MCTL7+1\r
289 #define OFS_ADC12MCTL8         (0x0030)       /* ADC12 Memory Control 8 */\r
290 #define OFS_ADC12MCTL8_L       OFS_ADC12MCTL8\r
291 #define OFS_ADC12MCTL8_H       OFS_ADC12MCTL8+1\r
292 #define OFS_ADC12MCTL9         (0x0032)       /* ADC12 Memory Control 9 */\r
293 #define OFS_ADC12MCTL9_L       OFS_ADC12MCTL9\r
294 #define OFS_ADC12MCTL9_H       OFS_ADC12MCTL9+1\r
295 #define OFS_ADC12MCTL10        (0x0034)       /* ADC12 Memory Control 10 */\r
296 #define OFS_ADC12MCTL10_L      OFS_ADC12MCTL10\r
297 #define OFS_ADC12MCTL10_H      OFS_ADC12MCTL10+1\r
298 #define OFS_ADC12MCTL11        (0x0036)       /* ADC12 Memory Control 11 */\r
299 #define OFS_ADC12MCTL11_L      OFS_ADC12MCTL11\r
300 #define OFS_ADC12MCTL11_H      OFS_ADC12MCTL11+1\r
301 #define OFS_ADC12MCTL12        (0x0038)       /* ADC12 Memory Control 12 */\r
302 #define OFS_ADC12MCTL12_L      OFS_ADC12MCTL12\r
303 #define OFS_ADC12MCTL12_H      OFS_ADC12MCTL12+1\r
304 #define OFS_ADC12MCTL13        (0x003A)       /* ADC12 Memory Control 13 */\r
305 #define OFS_ADC12MCTL13_L      OFS_ADC12MCTL13\r
306 #define OFS_ADC12MCTL13_H      OFS_ADC12MCTL13+1\r
307 #define OFS_ADC12MCTL14        (0x003C)       /* ADC12 Memory Control 14 */\r
308 #define OFS_ADC12MCTL14_L      OFS_ADC12MCTL14\r
309 #define OFS_ADC12MCTL14_H      OFS_ADC12MCTL14+1\r
310 #define OFS_ADC12MCTL15        (0x003E)       /* ADC12 Memory Control 15 */\r
311 #define OFS_ADC12MCTL15_L      OFS_ADC12MCTL15\r
312 #define OFS_ADC12MCTL15_H      OFS_ADC12MCTL15+1\r
313 #define OFS_ADC12MCTL16        (0x0040)       /* ADC12 Memory Control 16 */\r
314 #define OFS_ADC12MCTL16_L      OFS_ADC12MCTL16\r
315 #define OFS_ADC12MCTL16_H      OFS_ADC12MCTL16+1\r
316 #define OFS_ADC12MCTL17        (0x0042)       /* ADC12 Memory Control 17 */\r
317 #define OFS_ADC12MCTL17_L      OFS_ADC12MCTL17\r
318 #define OFS_ADC12MCTL17_H      OFS_ADC12MCTL17+1\r
319 #define OFS_ADC12MCTL18        (0x0044)       /* ADC12 Memory Control 18 */\r
320 #define OFS_ADC12MCTL18_L      OFS_ADC12MCTL18\r
321 #define OFS_ADC12MCTL18_H      OFS_ADC12MCTL18+1\r
322 #define OFS_ADC12MCTL19        (0x0046)       /* ADC12 Memory Control 19 */\r
323 #define OFS_ADC12MCTL19_L      OFS_ADC12MCTL19\r
324 #define OFS_ADC12MCTL19_H      OFS_ADC12MCTL19+1\r
325 #define OFS_ADC12MCTL20        (0x0048)       /* ADC12 Memory Control 20 */\r
326 #define OFS_ADC12MCTL20_L      OFS_ADC12MCTL20\r
327 #define OFS_ADC12MCTL20_H      OFS_ADC12MCTL20+1\r
328 #define OFS_ADC12MCTL21        (0x004A)       /* ADC12 Memory Control 21 */\r
329 #define OFS_ADC12MCTL21_L      OFS_ADC12MCTL21\r
330 #define OFS_ADC12MCTL21_H      OFS_ADC12MCTL21+1\r
331 #define OFS_ADC12MCTL22        (0x004C)       /* ADC12 Memory Control 22 */\r
332 #define OFS_ADC12MCTL22_L      OFS_ADC12MCTL22\r
333 #define OFS_ADC12MCTL22_H      OFS_ADC12MCTL22+1\r
334 #define OFS_ADC12MCTL23        (0x004E)       /* ADC12 Memory Control 23 */\r
335 #define OFS_ADC12MCTL23_L      OFS_ADC12MCTL23\r
336 #define OFS_ADC12MCTL23_H      OFS_ADC12MCTL23+1\r
337 #define OFS_ADC12MCTL24        (0x0050)       /* ADC12 Memory Control 24 */\r
338 #define OFS_ADC12MCTL24_L      OFS_ADC12MCTL24\r
339 #define OFS_ADC12MCTL24_H      OFS_ADC12MCTL24+1\r
340 #define OFS_ADC12MCTL25        (0x0052)       /* ADC12 Memory Control 25 */\r
341 #define OFS_ADC12MCTL25_L      OFS_ADC12MCTL25\r
342 #define OFS_ADC12MCTL25_H      OFS_ADC12MCTL25+1\r
343 #define OFS_ADC12MCTL26        (0x0054)       /* ADC12 Memory Control 26 */\r
344 #define OFS_ADC12MCTL26_L      OFS_ADC12MCTL26\r
345 #define OFS_ADC12MCTL26_H      OFS_ADC12MCTL26+1\r
346 #define OFS_ADC12MCTL27        (0x0056)       /* ADC12 Memory Control 27 */\r
347 #define OFS_ADC12MCTL27_L      OFS_ADC12MCTL27\r
348 #define OFS_ADC12MCTL27_H      OFS_ADC12MCTL27+1\r
349 #define OFS_ADC12MCTL28        (0x0058)       /* ADC12 Memory Control 28 */\r
350 #define OFS_ADC12MCTL28_L      OFS_ADC12MCTL28\r
351 #define OFS_ADC12MCTL28_H      OFS_ADC12MCTL28+1\r
352 #define OFS_ADC12MCTL29        (0x005A)       /* ADC12 Memory Control 29 */\r
353 #define OFS_ADC12MCTL29_L      OFS_ADC12MCTL29\r
354 #define OFS_ADC12MCTL29_H      OFS_ADC12MCTL29+1\r
355 #define OFS_ADC12MCTL30        (0x005C)       /* ADC12 Memory Control 30 */\r
356 #define OFS_ADC12MCTL30_L      OFS_ADC12MCTL30\r
357 #define OFS_ADC12MCTL30_H      OFS_ADC12MCTL30+1\r
358 #define OFS_ADC12MCTL31        (0x005E)       /* ADC12 Memory Control 31 */\r
359 #define OFS_ADC12MCTL31_L      OFS_ADC12MCTL31\r
360 #define OFS_ADC12MCTL31_H      OFS_ADC12MCTL31+1\r
361 #define ADC12MCTL_             ADC12MCTL      /* ADC12 Memory Control */\r
362 #ifdef __ASM_HEADER__\r
363 #define ADC12MCTL              ADC12MCTL0     /* ADC12 Memory Control (for assembler) */\r
364 #else\r
365 #define ADC12MCTL              ((char*)       &ADC12MCTL0) /* ADC12 Memory Control (for C) */\r
366 #endif\r
367 \r
368 #define OFS_ADC12MEM0          (0x0060)       /* ADC12 Conversion Memory 0 */\r
369 #define OFS_ADC12MEM0_L        OFS_ADC12MEM0\r
370 #define OFS_ADC12MEM0_H        OFS_ADC12MEM0+1\r
371 #define OFS_ADC12MEM1          (0x0062)       /* ADC12 Conversion Memory 1 */\r
372 #define OFS_ADC12MEM1_L        OFS_ADC12MEM1\r
373 #define OFS_ADC12MEM1_H        OFS_ADC12MEM1+1\r
374 #define OFS_ADC12MEM2          (0x0064)       /* ADC12 Conversion Memory 2 */\r
375 #define OFS_ADC12MEM2_L        OFS_ADC12MEM2\r
376 #define OFS_ADC12MEM2_H        OFS_ADC12MEM2+1\r
377 #define OFS_ADC12MEM3          (0x0066)       /* ADC12 Conversion Memory 3 */\r
378 #define OFS_ADC12MEM3_L        OFS_ADC12MEM3\r
379 #define OFS_ADC12MEM3_H        OFS_ADC12MEM3+1\r
380 #define OFS_ADC12MEM4          (0x0068)       /* ADC12 Conversion Memory 4 */\r
381 #define OFS_ADC12MEM4_L        OFS_ADC12MEM4\r
382 #define OFS_ADC12MEM4_H        OFS_ADC12MEM4+1\r
383 #define OFS_ADC12MEM5          (0x006A)       /* ADC12 Conversion Memory 5 */\r
384 #define OFS_ADC12MEM5_L        OFS_ADC12MEM5\r
385 #define OFS_ADC12MEM5_H        OFS_ADC12MEM5+1\r
386 #define OFS_ADC12MEM6          (0x006C)       /* ADC12 Conversion Memory 6 */\r
387 #define OFS_ADC12MEM6_L        OFS_ADC12MEM6\r
388 #define OFS_ADC12MEM6_H        OFS_ADC12MEM6+1\r
389 #define OFS_ADC12MEM7          (0x006E)       /* ADC12 Conversion Memory 7 */\r
390 #define OFS_ADC12MEM7_L        OFS_ADC12MEM7\r
391 #define OFS_ADC12MEM7_H        OFS_ADC12MEM7+1\r
392 #define OFS_ADC12MEM8          (0x0070)       /* ADC12 Conversion Memory 8 */\r
393 #define OFS_ADC12MEM8_L        OFS_ADC12MEM8\r
394 #define OFS_ADC12MEM8_H        OFS_ADC12MEM8+1\r
395 #define OFS_ADC12MEM9          (0x0072)       /* ADC12 Conversion Memory 9 */\r
396 #define OFS_ADC12MEM9_L        OFS_ADC12MEM9\r
397 #define OFS_ADC12MEM9_H        OFS_ADC12MEM9+1\r
398 #define OFS_ADC12MEM10         (0x0074)       /* ADC12 Conversion Memory 10 */\r
399 #define OFS_ADC12MEM10_L       OFS_ADC12MEM10\r
400 #define OFS_ADC12MEM10_H       OFS_ADC12MEM10+1\r
401 #define OFS_ADC12MEM11         (0x0076)       /* ADC12 Conversion Memory 11 */\r
402 #define OFS_ADC12MEM11_L       OFS_ADC12MEM11\r
403 #define OFS_ADC12MEM11_H       OFS_ADC12MEM11+1\r
404 #define OFS_ADC12MEM12         (0x0078)       /* ADC12 Conversion Memory 12 */\r
405 #define OFS_ADC12MEM12_L       OFS_ADC12MEM12\r
406 #define OFS_ADC12MEM12_H       OFS_ADC12MEM12+1\r
407 #define OFS_ADC12MEM13         (0x007A)       /* ADC12 Conversion Memory 13 */\r
408 #define OFS_ADC12MEM13_L       OFS_ADC12MEM13\r
409 #define OFS_ADC12MEM13_H       OFS_ADC12MEM13+1\r
410 #define OFS_ADC12MEM14         (0x007C)       /* ADC12 Conversion Memory 14 */\r
411 #define OFS_ADC12MEM14_L       OFS_ADC12MEM14\r
412 #define OFS_ADC12MEM14_H       OFS_ADC12MEM14+1\r
413 #define OFS_ADC12MEM15         (0x007E)       /* ADC12 Conversion Memory 15 */\r
414 #define OFS_ADC12MEM15_L       OFS_ADC12MEM15\r
415 #define OFS_ADC12MEM15_H       OFS_ADC12MEM15+1\r
416 #define OFS_ADC12MEM16         (0x0080)       /* ADC12 Conversion Memory 16 */\r
417 #define OFS_ADC12MEM16_L       OFS_ADC12MEM16\r
418 #define OFS_ADC12MEM16_H       OFS_ADC12MEM16+1\r
419 #define OFS_ADC12MEM17         (0x0082)       /* ADC12 Conversion Memory 17 */\r
420 #define OFS_ADC12MEM17_L       OFS_ADC12MEM17\r
421 #define OFS_ADC12MEM17_H       OFS_ADC12MEM17+1\r
422 #define OFS_ADC12MEM18         (0x0084)       /* ADC12 Conversion Memory 18 */\r
423 #define OFS_ADC12MEM18_L       OFS_ADC12MEM18\r
424 #define OFS_ADC12MEM18_H       OFS_ADC12MEM18+1\r
425 #define OFS_ADC12MEM19         (0x0086)       /* ADC12 Conversion Memory 19 */\r
426 #define OFS_ADC12MEM19_L       OFS_ADC12MEM19\r
427 #define OFS_ADC12MEM19_H       OFS_ADC12MEM19+1\r
428 #define OFS_ADC12MEM20         (0x0088)       /* ADC12 Conversion Memory 20 */\r
429 #define OFS_ADC12MEM20_L       OFS_ADC12MEM20\r
430 #define OFS_ADC12MEM20_H       OFS_ADC12MEM20+1\r
431 #define OFS_ADC12MEM21         (0x008A)       /* ADC12 Conversion Memory 21 */\r
432 #define OFS_ADC12MEM21_L       OFS_ADC12MEM21\r
433 #define OFS_ADC12MEM21_H       OFS_ADC12MEM21+1\r
434 #define OFS_ADC12MEM22         (0x008C)       /* ADC12 Conversion Memory 22 */\r
435 #define OFS_ADC12MEM22_L       OFS_ADC12MEM22\r
436 #define OFS_ADC12MEM22_H       OFS_ADC12MEM22+1\r
437 #define OFS_ADC12MEM23         (0x008E)       /* ADC12 Conversion Memory 23 */\r
438 #define OFS_ADC12MEM23_L       OFS_ADC12MEM23\r
439 #define OFS_ADC12MEM23_H       OFS_ADC12MEM23+1\r
440 #define OFS_ADC12MEM24         (0x0090)       /* ADC12 Conversion Memory 24 */\r
441 #define OFS_ADC12MEM24_L       OFS_ADC12MEM24\r
442 #define OFS_ADC12MEM24_H       OFS_ADC12MEM24+1\r
443 #define OFS_ADC12MEM25         (0x0092)       /* ADC12 Conversion Memory 25 */\r
444 #define OFS_ADC12MEM25_L       OFS_ADC12MEM25\r
445 #define OFS_ADC12MEM25_H       OFS_ADC12MEM25+1\r
446 #define OFS_ADC12MEM26         (0x0094)       /* ADC12 Conversion Memory 26 */\r
447 #define OFS_ADC12MEM26_L       OFS_ADC12MEM26\r
448 #define OFS_ADC12MEM26_H       OFS_ADC12MEM26+1\r
449 #define OFS_ADC12MEM27         (0x0096)       /* ADC12 Conversion Memory 27 */\r
450 #define OFS_ADC12MEM27_L       OFS_ADC12MEM27\r
451 #define OFS_ADC12MEM27_H       OFS_ADC12MEM27+1\r
452 #define OFS_ADC12MEM28         (0x0098)       /* ADC12 Conversion Memory 28 */\r
453 #define OFS_ADC12MEM28_L       OFS_ADC12MEM28\r
454 #define OFS_ADC12MEM28_H       OFS_ADC12MEM28+1\r
455 #define OFS_ADC12MEM29         (0x009A)       /* ADC12 Conversion Memory 29 */\r
456 #define OFS_ADC12MEM29_L       OFS_ADC12MEM29\r
457 #define OFS_ADC12MEM29_H       OFS_ADC12MEM29+1\r
458 #define OFS_ADC12MEM30         (0x009C)       /* ADC12 Conversion Memory 30 */\r
459 #define OFS_ADC12MEM30_L       OFS_ADC12MEM30\r
460 #define OFS_ADC12MEM30_H       OFS_ADC12MEM30+1\r
461 #define OFS_ADC12MEM31         (0x009E)       /* ADC12 Conversion Memory 31 */\r
462 #define OFS_ADC12MEM31_L       OFS_ADC12MEM31\r
463 #define OFS_ADC12MEM31_H       OFS_ADC12MEM31+1\r
464 #define ADC12MEM_              ADC12MEM       /* ADC12 Conversion Memory */\r
465 #ifdef __ASM_HEADER__\r
466 #define ADC12MEM               ADC12MEM0      /* ADC12 Conversion Memory (for assembler) */\r
467 #else\r
468 #define ADC12MEM               ((int*)        &ADC12MEM0) /* ADC12 Conversion Memory (for C) */\r
469 #endif\r
470 \r
471 /* ADC12CTL0 Control Bits */\r
472 #define ADC12SC                (0x0001)       /* ADC12 Start Conversion */\r
473 #define ADC12ENC               (0x0002)       /* ADC12 Enable Conversion */\r
474 #define ADC12ON                (0x0010)       /* ADC12 On/enable */\r
475 #define ADC12MSC               (0x0080)       /* ADC12 Multiple SampleConversion */\r
476 #define ADC12SHT00             (0x0100)       /* ADC12 Sample Hold 0 Select Bit: 0 */\r
477 #define ADC12SHT01             (0x0200)       /* ADC12 Sample Hold 0 Select Bit: 1 */\r
478 #define ADC12SHT02             (0x0400)       /* ADC12 Sample Hold 0 Select Bit: 2 */\r
479 #define ADC12SHT03             (0x0800)       /* ADC12 Sample Hold 0 Select Bit: 3 */\r
480 #define ADC12SHT10             (0x1000)       /* ADC12 Sample Hold 1 Select Bit: 0 */\r
481 #define ADC12SHT11             (0x2000)       /* ADC12 Sample Hold 1 Select Bit: 1 */\r
482 #define ADC12SHT12             (0x4000)       /* ADC12 Sample Hold 1 Select Bit: 2 */\r
483 #define ADC12SHT13             (0x8000)       /* ADC12 Sample Hold 1 Select Bit: 3 */\r
484 \r
485 /* ADC12CTL0 Control Bits */\r
486 #define ADC12SC_L              (0x0001)       /* ADC12 Start Conversion */\r
487 #define ADC12ENC_L             (0x0002)       /* ADC12 Enable Conversion */\r
488 #define ADC12ON_L              (0x0010)       /* ADC12 On/enable */\r
489 #define ADC12MSC_L             (0x0080)       /* ADC12 Multiple SampleConversion */\r
490 \r
491 /* ADC12CTL0 Control Bits */\r
492 #define ADC12SHT00_H           (0x0001)       /* ADC12 Sample Hold 0 Select Bit: 0 */\r
493 #define ADC12SHT01_H           (0x0002)       /* ADC12 Sample Hold 0 Select Bit: 1 */\r
494 #define ADC12SHT02_H           (0x0004)       /* ADC12 Sample Hold 0 Select Bit: 2 */\r
495 #define ADC12SHT03_H           (0x0008)       /* ADC12 Sample Hold 0 Select Bit: 3 */\r
496 #define ADC12SHT10_H           (0x0010)       /* ADC12 Sample Hold 1 Select Bit: 0 */\r
497 #define ADC12SHT11_H           (0x0020)       /* ADC12 Sample Hold 1 Select Bit: 1 */\r
498 #define ADC12SHT12_H           (0x0040)       /* ADC12 Sample Hold 1 Select Bit: 2 */\r
499 #define ADC12SHT13_H           (0x0080)       /* ADC12 Sample Hold 1 Select Bit: 3 */\r
500 \r
501 #define ADC12SHT0_0            (0*0x100u)     /* ADC12 Sample Hold 0 Select Bit: 0 */\r
502 #define ADC12SHT0_1            (1*0x100u)     /* ADC12 Sample Hold 0 Select Bit: 1 */\r
503 #define ADC12SHT0_2            (2*0x100u)     /* ADC12 Sample Hold 0 Select Bit: 2 */\r
504 #define ADC12SHT0_3            (3*0x100u)     /* ADC12 Sample Hold 0 Select Bit: 3 */\r
505 #define ADC12SHT0_4            (4*0x100u)     /* ADC12 Sample Hold 0 Select Bit: 4 */\r
506 #define ADC12SHT0_5            (5*0x100u)     /* ADC12 Sample Hold 0 Select Bit: 5 */\r
507 #define ADC12SHT0_6            (6*0x100u)     /* ADC12 Sample Hold 0 Select Bit: 6 */\r
508 #define ADC12SHT0_7            (7*0x100u)     /* ADC12 Sample Hold 0 Select Bit: 7 */\r
509 #define ADC12SHT0_8            (8*0x100u)     /* ADC12 Sample Hold 0 Select Bit: 8 */\r
510 #define ADC12SHT0_9            (9*0x100u)     /* ADC12 Sample Hold 0 Select Bit: 9 */\r
511 #define ADC12SHT0_10           (10*0x100u)    /* ADC12 Sample Hold 0 Select Bit: 10 */\r
512 #define ADC12SHT0_11           (11*0x100u)    /* ADC12 Sample Hold 0 Select Bit: 11 */\r
513 #define ADC12SHT0_12           (12*0x100u)    /* ADC12 Sample Hold 0 Select Bit: 12 */\r
514 #define ADC12SHT0_13           (13*0x100u)    /* ADC12 Sample Hold 0 Select Bit: 13 */\r
515 #define ADC12SHT0_14           (14*0x100u)    /* ADC12 Sample Hold 0 Select Bit: 14 */\r
516 #define ADC12SHT0_15           (15*0x100u)    /* ADC12 Sample Hold 0 Select Bit: 15 */\r
517 \r
518 #define ADC12SHT1_0            (0*0x1000u)    /* ADC12 Sample Hold 1 Select Bit: 0 */\r
519 #define ADC12SHT1_1            (1*0x1000u)    /* ADC12 Sample Hold 1 Select Bit: 1 */\r
520 #define ADC12SHT1_2            (2*0x1000u)    /* ADC12 Sample Hold 1 Select Bit: 2 */\r
521 #define ADC12SHT1_3            (3*0x1000u)    /* ADC12 Sample Hold 1 Select Bit: 3 */\r
522 #define ADC12SHT1_4            (4*0x1000u)    /* ADC12 Sample Hold 1 Select Bit: 4 */\r
523 #define ADC12SHT1_5            (5*0x1000u)    /* ADC12 Sample Hold 1 Select Bit: 5 */\r
524 #define ADC12SHT1_6            (6*0x1000u)    /* ADC12 Sample Hold 1 Select Bit: 6 */\r
525 #define ADC12SHT1_7            (7*0x1000u)    /* ADC12 Sample Hold 1 Select Bit: 7 */\r
526 #define ADC12SHT1_8            (8*0x1000u)    /* ADC12 Sample Hold 1 Select Bit: 8 */\r
527 #define ADC12SHT1_9            (9*0x1000u)    /* ADC12 Sample Hold 1 Select Bit: 9 */\r
528 #define ADC12SHT1_10           (10*0x1000u)   /* ADC12 Sample Hold 1 Select Bit: 10 */\r
529 #define ADC12SHT1_11           (11*0x1000u)   /* ADC12 Sample Hold 1 Select Bit: 11 */\r
530 #define ADC12SHT1_12           (12*0x1000u)   /* ADC12 Sample Hold 1 Select Bit: 12 */\r
531 #define ADC12SHT1_13           (13*0x1000u)   /* ADC12 Sample Hold 1 Select Bit: 13 */\r
532 #define ADC12SHT1_14           (14*0x1000u)   /* ADC12 Sample Hold 1 Select Bit: 14 */\r
533 #define ADC12SHT1_15           (15*0x1000u)   /* ADC12 Sample Hold 1 Select Bit: 15 */\r
534 \r
535 /* ADC12CTL1 Control Bits */\r
536 #define ADC12BUSY              (0x0001)       /* ADC12 Busy */\r
537 #define ADC12CONSEQ0           (0x0002)       /* ADC12 Conversion Sequence Select Bit: 0 */\r
538 #define ADC12CONSEQ1           (0x0004)       /* ADC12 Conversion Sequence Select Bit: 1 */\r
539 #define ADC12SSEL0             (0x0008)       /* ADC12 Clock Source Select Bit: 0 */\r
540 #define ADC12SSEL1             (0x0010)       /* ADC12 Clock Source Select Bit: 1 */\r
541 #define ADC12DIV0              (0x0020)       /* ADC12 Clock Divider Select Bit: 0 */\r
542 #define ADC12DIV1              (0x0040)       /* ADC12 Clock Divider Select Bit: 1 */\r
543 #define ADC12DIV2              (0x0080)       /* ADC12 Clock Divider Select Bit: 2 */\r
544 #define ADC12ISSH              (0x0100)       /* ADC12 Invert Sample Hold Signal */\r
545 #define ADC12SHP               (0x0200)       /* ADC12 Sample/Hold Pulse Mode */\r
546 #define ADC12SHS0              (0x0400)       /* ADC12 Sample/Hold Source Bit: 0 */\r
547 #define ADC12SHS1              (0x0800)       /* ADC12 Sample/Hold Source Bit: 1 */\r
548 #define ADC12SHS2              (0x1000)       /* ADC12 Sample/Hold Source Bit: 2 */\r
549 #define ADC12PDIV0             (0x2000)       /* ADC12 Predivider Bit: 0 */\r
550 #define ADC12PDIV1             (0x4000)       /* ADC12 Predivider Bit: 1 */\r
551 \r
552 /* ADC12CTL1 Control Bits */\r
553 #define ADC12BUSY_L            (0x0001)       /* ADC12 Busy */\r
554 #define ADC12CONSEQ0_L         (0x0002)       /* ADC12 Conversion Sequence Select Bit: 0 */\r
555 #define ADC12CONSEQ1_L         (0x0004)       /* ADC12 Conversion Sequence Select Bit: 1 */\r
556 #define ADC12SSEL0_L           (0x0008)       /* ADC12 Clock Source Select Bit: 0 */\r
557 #define ADC12SSEL1_L           (0x0010)       /* ADC12 Clock Source Select Bit: 1 */\r
558 #define ADC12DIV0_L            (0x0020)       /* ADC12 Clock Divider Select Bit: 0 */\r
559 #define ADC12DIV1_L            (0x0040)       /* ADC12 Clock Divider Select Bit: 1 */\r
560 #define ADC12DIV2_L            (0x0080)       /* ADC12 Clock Divider Select Bit: 2 */\r
561 \r
562 /* ADC12CTL1 Control Bits */\r
563 #define ADC12ISSH_H            (0x0001)       /* ADC12 Invert Sample Hold Signal */\r
564 #define ADC12SHP_H             (0x0002)       /* ADC12 Sample/Hold Pulse Mode */\r
565 #define ADC12SHS0_H            (0x0004)       /* ADC12 Sample/Hold Source Bit: 0 */\r
566 #define ADC12SHS1_H            (0x0008)       /* ADC12 Sample/Hold Source Bit: 1 */\r
567 #define ADC12SHS2_H            (0x0010)       /* ADC12 Sample/Hold Source Bit: 2 */\r
568 #define ADC12PDIV0_H           (0x0020)       /* ADC12 Predivider Bit: 0 */\r
569 #define ADC12PDIV1_H           (0x0040)       /* ADC12 Predivider Bit: 1 */\r
570 \r
571 #define ADC12CONSEQ_0          (0*0x0002u)    /* ADC12 Conversion Sequence Select: 0 */\r
572 #define ADC12CONSEQ_1          (1*0x0002u)    /* ADC12 Conversion Sequence Select: 1 */\r
573 #define ADC12CONSEQ_2          (2*0x0002u)    /* ADC12 Conversion Sequence Select: 2 */\r
574 #define ADC12CONSEQ_3          (3*0x0002u)    /* ADC12 Conversion Sequence Select: 3 */\r
575 \r
576 #define ADC12SSEL_0            (0*0x0008u)    /* ADC12 Clock Source Select: 0 */\r
577 #define ADC12SSEL_1            (1*0x0008u)    /* ADC12 Clock Source Select: 1 */\r
578 #define ADC12SSEL_2            (2*0x0008u)    /* ADC12 Clock Source Select: 2 */\r
579 #define ADC12SSEL_3            (3*0x0008u)    /* ADC12 Clock Source Select: 3 */\r
580 \r
581 #define ADC12DIV_0             (0*0x0020u)    /* ADC12 Clock Divider Select: 0 */\r
582 #define ADC12DIV_1             (1*0x0020u)    /* ADC12 Clock Divider Select: 1 */\r
583 #define ADC12DIV_2             (2*0x0020u)    /* ADC12 Clock Divider Select: 2 */\r
584 #define ADC12DIV_3             (3*0x0020u)    /* ADC12 Clock Divider Select: 3 */\r
585 #define ADC12DIV_4             (4*0x0020u)    /* ADC12 Clock Divider Select: 4 */\r
586 #define ADC12DIV_5             (5*0x0020u)    /* ADC12 Clock Divider Select: 5 */\r
587 #define ADC12DIV_6             (6*0x0020u)    /* ADC12 Clock Divider Select: 6 */\r
588 #define ADC12DIV_7             (7*0x0020u)    /* ADC12 Clock Divider Select: 7 */\r
589 \r
590 #define ADC12SHS_0             (0*0x0400u)    /* ADC12 Sample/Hold Source: 0 */\r
591 #define ADC12SHS_1             (1*0x0400u)    /* ADC12 Sample/Hold Source: 1 */\r
592 #define ADC12SHS_2             (2*0x0400u)    /* ADC12 Sample/Hold Source: 2 */\r
593 #define ADC12SHS_3             (3*0x0400u)    /* ADC12 Sample/Hold Source: 3 */\r
594 #define ADC12SHS_4             (4*0x0400u)    /* ADC12 Sample/Hold Source: 4 */\r
595 #define ADC12SHS_5             (5*0x0400u)    /* ADC12 Sample/Hold Source: 5 */\r
596 #define ADC12SHS_6             (6*0x0400u)    /* ADC12 Sample/Hold Source: 6 */\r
597 #define ADC12SHS_7             (7*0x0400u)    /* ADC12 Sample/Hold Source: 7 */\r
598 \r
599 #define ADC12PDIV_0            (0*0x2000u)    /* ADC12 Clock predivider Select 0 */\r
600 #define ADC12PDIV_1            (1*0x2000u)    /* ADC12 Clock predivider Select 1 */\r
601 #define ADC12PDIV_2            (2*0x2000u)    /* ADC12 Clock predivider Select 2 */\r
602 #define ADC12PDIV_3            (3*0x2000u)    /* ADC12 Clock predivider Select 3 */\r
603 #define ADC12PDIV__1           (0*0x2000u)    /* ADC12 Clock predivider Select: /1 */\r
604 #define ADC12PDIV__4           (1*0x2000u)    /* ADC12 Clock predivider Select: /4 */\r
605 #define ADC12PDIV__32          (2*0x2000u)    /* ADC12 Clock predivider Select: /32 */\r
606 #define ADC12PDIV__64          (3*0x2000u)    /* ADC12 Clock predivider Select: /64 */\r
607 \r
608 /* ADC12CTL2 Control Bits */\r
609 #define ADC12PWRMD             (0x0001)       /* ADC12 Power Mode */\r
610 #define ADC12DF                (0x0008)       /* ADC12 Data Format */\r
611 #define ADC12RES0              (0x0010)       /* ADC12 Resolution Bit: 0 */\r
612 #define ADC12RES1              (0x0020)       /* ADC12 Resolution Bit: 1 */\r
613 \r
614 /* ADC12CTL2 Control Bits */\r
615 #define ADC12PWRMD_L           (0x0001)       /* ADC12 Power Mode */\r
616 #define ADC12DF_L              (0x0008)       /* ADC12 Data Format */\r
617 #define ADC12RES0_L            (0x0010)       /* ADC12 Resolution Bit: 0 */\r
618 #define ADC12RES1_L            (0x0020)       /* ADC12 Resolution Bit: 1 */\r
619 \r
620 #define ADC12RES_0             (0x0000)       /* ADC12+ Resolution : 8 Bit */\r
621 #define ADC12RES_1             (0x0010)       /* ADC12+ Resolution : 10 Bit */\r
622 #define ADC12RES_2             (0x0020)       /* ADC12+ Resolution : 12 Bit */\r
623 #define ADC12RES_3             (0x0030)       /* ADC12+ Resolution : reserved */\r
624 \r
625 #define ADC12RES__8BIT         (0x0000)       /* ADC12+ Resolution : 8 Bit */\r
626 #define ADC12RES__10BIT        (0x0010)       /* ADC12+ Resolution : 10 Bit */\r
627 #define ADC12RES__12BIT        (0x0020)       /* ADC12+ Resolution : 12 Bit */\r
628 \r
629 /* ADC12CTL3 Control Bits */\r
630 #define ADC12CSTARTADD0        (0x0001)       /* ADC12 Conversion Start Address Bit: 0 */\r
631 #define ADC12CSTARTADD1        (0x0002)       /* ADC12 Conversion Start Address Bit: 1 */\r
632 #define ADC12CSTARTADD2        (0x0004)       /* ADC12 Conversion Start Address Bit: 2 */\r
633 #define ADC12CSTARTADD3        (0x0008)       /* ADC12 Conversion Start Address Bit: 3 */\r
634 #define ADC12CSTARTADD4        (0x0010)       /* ADC12 Conversion Start Address Bit: 4 */\r
635 #define ADC12BATMAP            (0x0040)       /* ADC12 Internal AVCC/2 select */\r
636 #define ADC12TCMAP             (0x0080)       /* ADC12 Internal TempSensor select */\r
637 #define ADC12ICH0MAP           (0x0100)       /* ADC12 Internal Channel 0 select */\r
638 #define ADC12ICH1MAP           (0x0200)       /* ADC12 Internal Channel 1 select */\r
639 #define ADC12ICH2MAP           (0x0400)       /* ADC12 Internal Channel 2 select */\r
640 #define ADC12ICH3MAP           (0x0800)       /* ADC12 Internal Channel 3 select */\r
641 \r
642 /* ADC12CTL3 Control Bits */\r
643 #define ADC12CSTARTADD0_L      (0x0001)       /* ADC12 Conversion Start Address Bit: 0 */\r
644 #define ADC12CSTARTADD1_L      (0x0002)       /* ADC12 Conversion Start Address Bit: 1 */\r
645 #define ADC12CSTARTADD2_L      (0x0004)       /* ADC12 Conversion Start Address Bit: 2 */\r
646 #define ADC12CSTARTADD3_L      (0x0008)       /* ADC12 Conversion Start Address Bit: 3 */\r
647 #define ADC12CSTARTADD4_L      (0x0010)       /* ADC12 Conversion Start Address Bit: 4 */\r
648 #define ADC12BATMAP_L          (0x0040)       /* ADC12 Internal AVCC/2 select */\r
649 #define ADC12TCMAP_L           (0x0080)       /* ADC12 Internal TempSensor select */\r
650 \r
651 /* ADC12CTL3 Control Bits */\r
652 #define ADC12ICH0MAP_H         (0x0001)       /* ADC12 Internal Channel 0 select */\r
653 #define ADC12ICH1MAP_H         (0x0002)       /* ADC12 Internal Channel 1 select */\r
654 #define ADC12ICH2MAP_H         (0x0004)       /* ADC12 Internal Channel 2 select */\r
655 #define ADC12ICH3MAP_H         (0x0008)       /* ADC12 Internal Channel 3 select */\r
656 \r
657 #define ADC12CSTARTADD_0       (              0*0x0001u) /* ADC12 Conversion Start Address: 0 */\r
658 #define ADC12CSTARTADD_1       (              1*0x0001u) /* ADC12 Conversion Start Address: 1 */\r
659 #define ADC12CSTARTADD_2       (              2*0x0001u) /* ADC12 Conversion Start Address: 2 */\r
660 #define ADC12CSTARTADD_3       (              3*0x0001u) /* ADC12 Conversion Start Address: 3 */\r
661 #define ADC12CSTARTADD_4       (              4*0x0001u) /* ADC12 Conversion Start Address: 4 */\r
662 #define ADC12CSTARTADD_5       (              5*0x0001u) /* ADC12 Conversion Start Address: 5 */\r
663 #define ADC12CSTARTADD_6       (              6*0x0001u) /* ADC12 Conversion Start Address: 6 */\r
664 #define ADC12CSTARTADD_7       (              7*0x0001u) /* ADC12 Conversion Start Address: 7 */\r
665 #define ADC12CSTARTADD_8       (              8*0x0001u) /* ADC12 Conversion Start Address: 8 */\r
666 #define ADC12CSTARTADD_9       (              9*0x0001u) /* ADC12 Conversion Start Address: 9 */\r
667 #define ADC12CSTARTADD_10      (10*0x0001u)   /* ADC12 Conversion Start Address: 10 */\r
668 #define ADC12CSTARTADD_11      (11*0x0001u)   /* ADC12 Conversion Start Address: 11 */\r
669 #define ADC12CSTARTADD_12      (12*0x0001u)   /* ADC12 Conversion Start Address: 12 */\r
670 #define ADC12CSTARTADD_13      (13*0x0001u)   /* ADC12 Conversion Start Address: 13 */\r
671 #define ADC12CSTARTADD_14      (14*0x0001u)   /* ADC12 Conversion Start Address: 14 */\r
672 #define ADC12CSTARTADD_15      (15*0x0001u)   /* ADC12 Conversion Start Address: 15 */\r
673 #define ADC12CSTARTADD_16      (16*0x0001u)   /* ADC12 Conversion Start Address: 16 */\r
674 #define ADC12CSTARTADD_17      (17*0x0001u)   /* ADC12 Conversion Start Address: 17 */\r
675 #define ADC12CSTARTADD_18      (18*0x0001u)   /* ADC12 Conversion Start Address: 18 */\r
676 #define ADC12CSTARTADD_19      (19*0x0001u)   /* ADC12 Conversion Start Address: 19 */\r
677 #define ADC12CSTARTADD_20      (20*0x0001u)   /* ADC12 Conversion Start Address: 20 */\r
678 #define ADC12CSTARTADD_21      (21*0x0001u)   /* ADC12 Conversion Start Address: 21 */\r
679 #define ADC12CSTARTADD_22      (22*0x0001u)   /* ADC12 Conversion Start Address: 22 */\r
680 #define ADC12CSTARTADD_23      (23*0x0001u)   /* ADC12 Conversion Start Address: 23 */\r
681 #define ADC12CSTARTADD_24      (24*0x0001u)   /* ADC12 Conversion Start Address: 24 */\r
682 #define ADC12CSTARTADD_25      (25*0x0001u)   /* ADC12 Conversion Start Address: 25 */\r
683 #define ADC12CSTARTADD_26      (26*0x0001u)   /* ADC12 Conversion Start Address: 26 */\r
684 #define ADC12CSTARTADD_27      (27*0x0001u)   /* ADC12 Conversion Start Address: 27 */\r
685 #define ADC12CSTARTADD_28      (28*0x0001u)   /* ADC12 Conversion Start Address: 28 */\r
686 #define ADC12CSTARTADD_29      (29*0x0001u)   /* ADC12 Conversion Start Address: 29 */\r
687 #define ADC12CSTARTADD_30      (30*0x0001u)   /* ADC12 Conversion Start Address: 30 */\r
688 #define ADC12CSTARTADD_31      (31*0x0001u)   /* ADC12 Conversion Start Address: 31 */\r
689 \r
690 /* ADC12MCTLx Control Bits */\r
691 #define ADC12INCH0             (0x0001)       /* ADC12 Input Channel Select Bit 0 */\r
692 #define ADC12INCH1             (0x0002)       /* ADC12 Input Channel Select Bit 1 */\r
693 #define ADC12INCH2             (0x0004)       /* ADC12 Input Channel Select Bit 2 */\r
694 #define ADC12INCH3             (0x0008)       /* ADC12 Input Channel Select Bit 3 */\r
695 #define ADC12INCH4             (0x0010)       /* ADC12 Input Channel Select Bit 4 */\r
696 #define ADC12EOS               (0x0080)       /* ADC12 End of Sequence */\r
697 #define ADC12VRSEL0            (0x0100)       /* ADC12 VR Select Bit 0 */\r
698 #define ADC12VRSEL1            (0x0200)       /* ADC12 VR Select Bit 1 */\r
699 #define ADC12VRSEL2            (0x0400)       /* ADC12 VR Select Bit 2 */\r
700 #define ADC12VRSEL3            (0x0800)       /* ADC12 VR Select Bit 3 */\r
701 #define ADC12DIF               (0x2000)       /* ADC12 Differential mode (only for even Registers) */\r
702 #define ADC12WINC              (0x4000)       /* ADC12 Comparator window enable */\r
703 \r
704 /* ADC12MCTLx Control Bits */\r
705 #define ADC12INCH0_L           (0x0001)       /* ADC12 Input Channel Select Bit 0 */\r
706 #define ADC12INCH1_L           (0x0002)       /* ADC12 Input Channel Select Bit 1 */\r
707 #define ADC12INCH2_L           (0x0004)       /* ADC12 Input Channel Select Bit 2 */\r
708 #define ADC12INCH3_L           (0x0008)       /* ADC12 Input Channel Select Bit 3 */\r
709 #define ADC12INCH4_L           (0x0010)       /* ADC12 Input Channel Select Bit 4 */\r
710 #define ADC12EOS_L             (0x0080)       /* ADC12 End of Sequence */\r
711 \r
712 /* ADC12MCTLx Control Bits */\r
713 #define ADC12VRSEL0_H          (0x0001)       /* ADC12 VR Select Bit 0 */\r
714 #define ADC12VRSEL1_H          (0x0002)       /* ADC12 VR Select Bit 1 */\r
715 #define ADC12VRSEL2_H          (0x0004)       /* ADC12 VR Select Bit 2 */\r
716 #define ADC12VRSEL3_H          (0x0008)       /* ADC12 VR Select Bit 3 */\r
717 #define ADC12DIF_H             (0x0020)       /* ADC12 Differential mode (only for even Registers) */\r
718 #define ADC12WINC_H            (0x0040)       /* ADC12 Comparator window enable */\r
719 \r
720 #define ADC12INCH_0            (0x0000)       /* ADC12 Input Channel 0 */\r
721 #define ADC12INCH_1            (0x0001)       /* ADC12 Input Channel 1 */\r
722 #define ADC12INCH_2            (0x0002)       /* ADC12 Input Channel 2 */\r
723 #define ADC12INCH_3            (0x0003)       /* ADC12 Input Channel 3 */\r
724 #define ADC12INCH_4            (0x0004)       /* ADC12 Input Channel 4 */\r
725 #define ADC12INCH_5            (0x0005)       /* ADC12 Input Channel 5 */\r
726 #define ADC12INCH_6            (0x0006)       /* ADC12 Input Channel 6 */\r
727 #define ADC12INCH_7            (0x0007)       /* ADC12 Input Channel 7 */\r
728 #define ADC12INCH_8            (0x0008)       /* ADC12 Input Channel 8 */\r
729 #define ADC12INCH_9            (0x0009)       /* ADC12 Input Channel 9 */\r
730 #define ADC12INCH_10           (0x000A)       /* ADC12 Input Channel 10 */\r
731 #define ADC12INCH_11           (0x000B)       /* ADC12 Input Channel 11 */\r
732 #define ADC12INCH_12           (0x000C)       /* ADC12 Input Channel 12 */\r
733 #define ADC12INCH_13           (0x000D)       /* ADC12 Input Channel 13 */\r
734 #define ADC12INCH_14           (0x000E)       /* ADC12 Input Channel 14 */\r
735 #define ADC12INCH_15           (0x000F)       /* ADC12 Input Channel 15 */\r
736 #define ADC12INCH_16           (0x0010)       /* ADC12 Input Channel 16 */\r
737 #define ADC12INCH_17           (0x0011)       /* ADC12 Input Channel 17 */\r
738 #define ADC12INCH_18           (0x0012)       /* ADC12 Input Channel 18 */\r
739 #define ADC12INCH_19           (0x0013)       /* ADC12 Input Channel 19 */\r
740 #define ADC12INCH_20           (0x0014)       /* ADC12 Input Channel 20 */\r
741 #define ADC12INCH_21           (0x0015)       /* ADC12 Input Channel 21 */\r
742 #define ADC12INCH_22           (0x0016)       /* ADC12 Input Channel 22 */\r
743 #define ADC12INCH_23           (0x0017)       /* ADC12 Input Channel 23 */\r
744 #define ADC12INCH_24           (0x0018)       /* ADC12 Input Channel 24 */\r
745 #define ADC12INCH_25           (0x0019)       /* ADC12 Input Channel 25 */\r
746 #define ADC12INCH_26           (0x001A)       /* ADC12 Input Channel 26 */\r
747 #define ADC12INCH_27           (0x001B)       /* ADC12 Input Channel 27 */\r
748 #define ADC12INCH_28           (0x001C)       /* ADC12 Input Channel 28 */\r
749 #define ADC12INCH_29           (0x001D)       /* ADC12 Input Channel 29 */\r
750 #define ADC12INCH_30           (0x001E)       /* ADC12 Input Channel 30 */\r
751 #define ADC12INCH_31           (0x001F)       /* ADC12 Input Channel 31 */\r
752 \r
753 #define ADC12VRSEL_0           (0*0x100u)     /* ADC12 Select Reference 0 */\r
754 #define ADC12VRSEL_1           (1*0x100u)     /* ADC12 Select Reference 1 */\r
755 #define ADC12VRSEL_2           (2*0x100u)     /* ADC12 Select Reference 2 */\r
756 #define ADC12VRSEL_3           (3*0x100u)     /* ADC12 Select Reference 3 */\r
757 #define ADC12VRSEL_4           (4*0x100u)     /* ADC12 Select Reference 4 */\r
758 #define ADC12VRSEL_5           (5*0x100u)     /* ADC12 Select Reference 5 */\r
759 #define ADC12VRSEL_6           (6*0x100u)     /* ADC12 Select Reference 6 */\r
760 #define ADC12VRSEL_7           (7*0x100u)     /* ADC12 Select Reference 7 */\r
761 #define ADC12VRSEL_8           (8*0x100u)     /* ADC12 Select Reference 8  */\r
762 #define ADC12VRSEL_9           (9*0x100u)     /* ADC12 Select Reference 9  */\r
763 #define ADC12VRSEL_10          (10*0x100u)    /* ADC12 Select Reference 10 */\r
764 #define ADC12VRSEL_11          (11*0x100u)    /* ADC12 Select Reference 11 */\r
765 #define ADC12VRSEL_12          (12*0x100u)    /* ADC12 Select Reference 12 */\r
766 #define ADC12VRSEL_13          (13*0x100u)    /* ADC12 Select Reference 13 */\r
767 #define ADC12VRSEL_14          (14*0x100u)    /* ADC12 Select Reference 14 */\r
768 #define ADC12VRSEL_15          (15*0x100u)    /* ADC12 Select Reference 15 */\r
769 \r
770 /* ADC12HI Control Bits */\r
771 \r
772 /* ADC12LO Control Bits */\r
773 \r
774 /* ADC12IER0 Control Bits */\r
775 #define ADC12IE0               (0x0001)       /* ADC12 Memory 0 Interrupt Enable */\r
776 #define ADC12IE1               (0x0002)       /* ADC12 Memory 1 Interrupt Enable */\r
777 #define ADC12IE2               (0x0004)       /* ADC12 Memory 2 Interrupt Enable */\r
778 #define ADC12IE3               (0x0008)       /* ADC12 Memory 3 Interrupt Enable */\r
779 #define ADC12IE4               (0x0010)       /* ADC12 Memory 4 Interrupt Enable */\r
780 #define ADC12IE5               (0x0020)       /* ADC12 Memory 5 Interrupt Enable */\r
781 #define ADC12IE6               (0x0040)       /* ADC12 Memory 6 Interrupt Enable */\r
782 #define ADC12IE7               (0x0080)       /* ADC12 Memory 7 Interrupt Enable */\r
783 #define ADC12IE8               (0x0100)       /* ADC12 Memory 8 Interrupt Enable */\r
784 #define ADC12IE9               (0x0200)       /* ADC12 Memory 9 Interrupt Enable */\r
785 #define ADC12IE10              (0x0400)       /* ADC12 Memory 10 Interrupt Enable */\r
786 #define ADC12IE11              (0x0800)       /* ADC12 Memory 11 Interrupt Enable */\r
787 #define ADC12IE12              (0x1000)       /* ADC12 Memory 12 Interrupt Enable */\r
788 #define ADC12IE13              (0x2000)       /* ADC12 Memory 13 Interrupt Enable */\r
789 #define ADC12IE14              (0x4000)       /* ADC12 Memory 14 Interrupt Enable */\r
790 #define ADC12IE15              (0x8000)       /* ADC12 Memory 15 Interrupt Enable */\r
791 \r
792 /* ADC12IER0 Control Bits */\r
793 #define ADC12IE0_L             (0x0001)       /* ADC12 Memory 0 Interrupt Enable */\r
794 #define ADC12IE1_L             (0x0002)       /* ADC12 Memory 1 Interrupt Enable */\r
795 #define ADC12IE2_L             (0x0004)       /* ADC12 Memory 2 Interrupt Enable */\r
796 #define ADC12IE3_L             (0x0008)       /* ADC12 Memory 3 Interrupt Enable */\r
797 #define ADC12IE4_L             (0x0010)       /* ADC12 Memory 4 Interrupt Enable */\r
798 #define ADC12IE5_L             (0x0020)       /* ADC12 Memory 5 Interrupt Enable */\r
799 #define ADC12IE6_L             (0x0040)       /* ADC12 Memory 6 Interrupt Enable */\r
800 #define ADC12IE7_L             (0x0080)       /* ADC12 Memory 7 Interrupt Enable */\r
801 \r
802 /* ADC12IER0 Control Bits */\r
803 #define ADC12IE8_H             (0x0001)       /* ADC12 Memory 8 Interrupt Enable */\r
804 #define ADC12IE9_H             (0x0002)       /* ADC12 Memory 9 Interrupt Enable */\r
805 #define ADC12IE10_H            (0x0004)       /* ADC12 Memory 10 Interrupt Enable */\r
806 #define ADC12IE11_H            (0x0008)       /* ADC12 Memory 11 Interrupt Enable */\r
807 #define ADC12IE12_H            (0x0010)       /* ADC12 Memory 12 Interrupt Enable */\r
808 #define ADC12IE13_H            (0x0020)       /* ADC12 Memory 13 Interrupt Enable */\r
809 #define ADC12IE14_H            (0x0040)       /* ADC12 Memory 14 Interrupt Enable */\r
810 #define ADC12IE15_H            (0x0080)       /* ADC12 Memory 15 Interrupt Enable */\r
811 \r
812 /* ADC12IER1 Control Bits */\r
813 #define ADC12IE16              (0x0001)       /* ADC12 Memory 16 Interrupt Enable */\r
814 #define ADC12IE17              (0x0002)       /* ADC12 Memory 17 Interrupt Enable */\r
815 #define ADC12IE18              (0x0004)       /* ADC12 Memory 18 Interrupt Enable */\r
816 #define ADC12IE19              (0x0008)       /* ADC12 Memory 19 Interrupt Enable */\r
817 #define ADC12IE20              (0x0010)       /* ADC12 Memory 20 Interrupt Enable */\r
818 #define ADC12IE21              (0x0020)       /* ADC12 Memory 21 Interrupt Enable */\r
819 #define ADC12IE22              (0x0040)       /* ADC12 Memory 22 Interrupt Enable */\r
820 #define ADC12IE23              (0x0080)       /* ADC12 Memory 23 Interrupt Enable */\r
821 #define ADC12IE24              (0x0100)       /* ADC12 Memory 24 Interrupt Enable */\r
822 #define ADC12IE25              (0x0200)       /* ADC12 Memory 25 Interrupt Enable */\r
823 #define ADC12IE26              (0x0400)       /* ADC12 Memory 26 Interrupt Enable */\r
824 #define ADC12IE27              (0x0800)       /* ADC12 Memory 27 Interrupt Enable */\r
825 #define ADC12IE28              (0x1000)       /* ADC12 Memory 28 Interrupt Enable */\r
826 #define ADC12IE29              (0x2000)       /* ADC12 Memory 29 Interrupt Enable */\r
827 #define ADC12IE30              (0x4000)       /* ADC12 Memory 30 Interrupt Enable */\r
828 #define ADC12IE31              (0x8000)       /* ADC12 Memory 31 Interrupt Enable */\r
829 \r
830 /* ADC12IER1 Control Bits */\r
831 #define ADC12IE16_L            (0x0001)       /* ADC12 Memory 16 Interrupt Enable */\r
832 #define ADC12IE17_L            (0x0002)       /* ADC12 Memory 17 Interrupt Enable */\r
833 #define ADC12IE18_L            (0x0004)       /* ADC12 Memory 18 Interrupt Enable */\r
834 #define ADC12IE19_L            (0x0008)       /* ADC12 Memory 19 Interrupt Enable */\r
835 #define ADC12IE20_L            (0x0010)       /* ADC12 Memory 20 Interrupt Enable */\r
836 #define ADC12IE21_L            (0x0020)       /* ADC12 Memory 21 Interrupt Enable */\r
837 #define ADC12IE22_L            (0x0040)       /* ADC12 Memory 22 Interrupt Enable */\r
838 #define ADC12IE23_L            (0x0080)       /* ADC12 Memory 23 Interrupt Enable */\r
839 \r
840 /* ADC12IER1 Control Bits */\r
841 #define ADC12IE24_H            (0x0001)       /* ADC12 Memory 24 Interrupt Enable */\r
842 #define ADC12IE25_H            (0x0002)       /* ADC12 Memory 25 Interrupt Enable */\r
843 #define ADC12IE26_H            (0x0004)       /* ADC12 Memory 26 Interrupt Enable */\r
844 #define ADC12IE27_H            (0x0008)       /* ADC12 Memory 27 Interrupt Enable */\r
845 #define ADC12IE28_H            (0x0010)       /* ADC12 Memory 28 Interrupt Enable */\r
846 #define ADC12IE29_H            (0x0020)       /* ADC12 Memory 29 Interrupt Enable */\r
847 #define ADC12IE30_H            (0x0040)       /* ADC12 Memory 30 Interrupt Enable */\r
848 #define ADC12IE31_H            (0x0080)       /* ADC12 Memory 31 Interrupt Enable */\r
849 \r
850 /* ADC12IER2 Control Bits */\r
851 #define ADC12INIE              (0x0002)       /* ADC12 Interrupt enable for the inside of window of the Window comparator */\r
852 #define ADC12LOIE              (0x0004)       /* ADC12 Interrupt enable for lower threshold of the Window comparator */\r
853 #define ADC12HIIE              (0x0008)       /* ADC12 Interrupt enable for upper threshold of the Window comparator */\r
854 #define ADC12OVIE              (0x0010)       /* ADC12 ADC12MEMx Overflow interrupt enable */\r
855 #define ADC12TOVIE             (0x0020)       /* ADC12 Timer Overflow interrupt enable */\r
856 #define ADC12RDYIE             (0x0040)       /* ADC12 local buffered reference ready interrupt enable */\r
857 \r
858 /* ADC12IER2 Control Bits */\r
859 #define ADC12INIE_L            (0x0002)       /* ADC12 Interrupt enable for the inside of window of the Window comparator */\r
860 #define ADC12LOIE_L            (0x0004)       /* ADC12 Interrupt enable for lower threshold of the Window comparator */\r
861 #define ADC12HIIE_L            (0x0008)       /* ADC12 Interrupt enable for upper threshold of the Window comparator */\r
862 #define ADC12OVIE_L            (0x0010)       /* ADC12 ADC12MEMx Overflow interrupt enable */\r
863 #define ADC12TOVIE_L           (0x0020)       /* ADC12 Timer Overflow interrupt enable */\r
864 #define ADC12RDYIE_L           (0x0040)       /* ADC12 local buffered reference ready interrupt enable */\r
865 \r
866 /* ADC12IFGR0 Control Bits */\r
867 #define ADC12IFG0              (0x0001)       /* ADC12 Memory 0 Interrupt Flag */\r
868 #define ADC12IFG1              (0x0002)       /* ADC12 Memory 1 Interrupt Flag */\r
869 #define ADC12IFG2              (0x0004)       /* ADC12 Memory 2 Interrupt Flag */\r
870 #define ADC12IFG3              (0x0008)       /* ADC12 Memory 3 Interrupt Flag */\r
871 #define ADC12IFG4              (0x0010)       /* ADC12 Memory 4 Interrupt Flag */\r
872 #define ADC12IFG5              (0x0020)       /* ADC12 Memory 5 Interrupt Flag */\r
873 #define ADC12IFG6              (0x0040)       /* ADC12 Memory 6 Interrupt Flag */\r
874 #define ADC12IFG7              (0x0080)       /* ADC12 Memory 7 Interrupt Flag */\r
875 #define ADC12IFG8              (0x0100)       /* ADC12 Memory 8 Interrupt Flag */\r
876 #define ADC12IFG9              (0x0200)       /* ADC12 Memory 9 Interrupt Flag */\r
877 #define ADC12IFG10             (0x0400)       /* ADC12 Memory 10 Interrupt Flag */\r
878 #define ADC12IFG11             (0x0800)       /* ADC12 Memory 11 Interrupt Flag */\r
879 #define ADC12IFG12             (0x1000)       /* ADC12 Memory 12 Interrupt Flag */\r
880 #define ADC12IFG13             (0x2000)       /* ADC12 Memory 13 Interrupt Flag */\r
881 #define ADC12IFG14             (0x4000)       /* ADC12 Memory 14 Interrupt Flag */\r
882 #define ADC12IFG15             (0x8000)       /* ADC12 Memory 15 Interrupt Flag */\r
883 \r
884 /* ADC12IFGR0 Control Bits */\r
885 #define ADC12IFG0_L            (0x0001)       /* ADC12 Memory 0 Interrupt Flag */\r
886 #define ADC12IFG1_L            (0x0002)       /* ADC12 Memory 1 Interrupt Flag */\r
887 #define ADC12IFG2_L            (0x0004)       /* ADC12 Memory 2 Interrupt Flag */\r
888 #define ADC12IFG3_L            (0x0008)       /* ADC12 Memory 3 Interrupt Flag */\r
889 #define ADC12IFG4_L            (0x0010)       /* ADC12 Memory 4 Interrupt Flag */\r
890 #define ADC12IFG5_L            (0x0020)       /* ADC12 Memory 5 Interrupt Flag */\r
891 #define ADC12IFG6_L            (0x0040)       /* ADC12 Memory 6 Interrupt Flag */\r
892 #define ADC12IFG7_L            (0x0080)       /* ADC12 Memory 7 Interrupt Flag */\r
893 \r
894 /* ADC12IFGR0 Control Bits */\r
895 #define ADC12IFG8_H            (0x0001)       /* ADC12 Memory 8 Interrupt Flag */\r
896 #define ADC12IFG9_H            (0x0002)       /* ADC12 Memory 9 Interrupt Flag */\r
897 #define ADC12IFG10_H           (0x0004)       /* ADC12 Memory 10 Interrupt Flag */\r
898 #define ADC12IFG11_H           (0x0008)       /* ADC12 Memory 11 Interrupt Flag */\r
899 #define ADC12IFG12_H           (0x0010)       /* ADC12 Memory 12 Interrupt Flag */\r
900 #define ADC12IFG13_H           (0x0020)       /* ADC12 Memory 13 Interrupt Flag */\r
901 #define ADC12IFG14_H           (0x0040)       /* ADC12 Memory 14 Interrupt Flag */\r
902 #define ADC12IFG15_H           (0x0080)       /* ADC12 Memory 15 Interrupt Flag */\r
903 \r
904 /* ADC12IFGR1 Control Bits */\r
905 #define ADC12IFG16             (0x0001)       /* ADC12 Memory 16 Interrupt Flag */\r
906 #define ADC12IFG17             (0x0002)       /* ADC12 Memory 17 Interrupt Flag */\r
907 #define ADC12IFG18             (0x0004)       /* ADC12 Memory 18 Interrupt Flag */\r
908 #define ADC12IFG19             (0x0008)       /* ADC12 Memory 19 Interrupt Flag */\r
909 #define ADC12IFG20             (0x0010)       /* ADC12 Memory 20 Interrupt Flag */\r
910 #define ADC12IFG21             (0x0020)       /* ADC12 Memory 21 Interrupt Flag */\r
911 #define ADC12IFG22             (0x0040)       /* ADC12 Memory 22 Interrupt Flag */\r
912 #define ADC12IFG23             (0x0080)       /* ADC12 Memory 23 Interrupt Flag */\r
913 #define ADC12IFG24             (0x0100)       /* ADC12 Memory 24 Interrupt Flag */\r
914 #define ADC12IFG25             (0x0200)       /* ADC12 Memory 25 Interrupt Flag */\r
915 #define ADC12IFG26             (0x0400)       /* ADC12 Memory 26 Interrupt Flag */\r
916 #define ADC12IFG27             (0x0800)       /* ADC12 Memory 27 Interrupt Flag */\r
917 #define ADC12IFG28             (0x1000)       /* ADC12 Memory 28 Interrupt Flag */\r
918 #define ADC12IFG29             (0x2000)       /* ADC12 Memory 29 Interrupt Flag */\r
919 #define ADC12IFG30             (0x4000)       /* ADC12 Memory 30 Interrupt Flag */\r
920 #define ADC12IFG31             (0x8000)       /* ADC12 Memory 31 Interrupt Flag */\r
921 \r
922 /* ADC12IFGR1 Control Bits */\r
923 #define ADC12IFG16_L           (0x0001)       /* ADC12 Memory 16 Interrupt Flag */\r
924 #define ADC12IFG17_L           (0x0002)       /* ADC12 Memory 17 Interrupt Flag */\r
925 #define ADC12IFG18_L           (0x0004)       /* ADC12 Memory 18 Interrupt Flag */\r
926 #define ADC12IFG19_L           (0x0008)       /* ADC12 Memory 19 Interrupt Flag */\r
927 #define ADC12IFG20_L           (0x0010)       /* ADC12 Memory 20 Interrupt Flag */\r
928 #define ADC12IFG21_L           (0x0020)       /* ADC12 Memory 21 Interrupt Flag */\r
929 #define ADC12IFG22_L           (0x0040)       /* ADC12 Memory 22 Interrupt Flag */\r
930 #define ADC12IFG23_L           (0x0080)       /* ADC12 Memory 23 Interrupt Flag */\r
931 \r
932 /* ADC12IFGR1 Control Bits */\r
933 #define ADC12IFG24_H           (0x0001)       /* ADC12 Memory 24 Interrupt Flag */\r
934 #define ADC12IFG25_H           (0x0002)       /* ADC12 Memory 25 Interrupt Flag */\r
935 #define ADC12IFG26_H           (0x0004)       /* ADC12 Memory 26 Interrupt Flag */\r
936 #define ADC12IFG27_H           (0x0008)       /* ADC12 Memory 27 Interrupt Flag */\r
937 #define ADC12IFG28_H           (0x0010)       /* ADC12 Memory 28 Interrupt Flag */\r
938 #define ADC12IFG29_H           (0x0020)       /* ADC12 Memory 29 Interrupt Flag */\r
939 #define ADC12IFG30_H           (0x0040)       /* ADC12 Memory 30 Interrupt Flag */\r
940 #define ADC12IFG31_H           (0x0080)       /* ADC12 Memory 31 Interrupt Flag */\r
941 \r
942 /* ADC12IFGR2 Control Bits */\r
943 #define ADC12INIFG             (0x0002)       /* ADC12 Interrupt Flag for the inside of window of the Window comparator */\r
944 #define ADC12LOIFG             (0x0004)       /* ADC12 Interrupt Flag for lower threshold of the Window comparator */\r
945 #define ADC12HIIFG             (0x0008)       /* ADC12 Interrupt Flag for upper threshold of the Window comparator */\r
946 #define ADC12OVIFG             (0x0010)       /* ADC12 ADC12MEMx Overflow interrupt Flag */\r
947 #define ADC12TOVIFG            (0x0020)       /* ADC12 Timer Overflow interrupt Flag */\r
948 #define ADC12RDYIFG            (0x0040)       /* ADC12 local buffered reference ready interrupt Flag */\r
949 \r
950 /* ADC12IFGR2 Control Bits */\r
951 #define ADC12INIFG_L           (0x0002)       /* ADC12 Interrupt Flag for the inside of window of the Window comparator */\r
952 #define ADC12LOIFG_L           (0x0004)       /* ADC12 Interrupt Flag for lower threshold of the Window comparator */\r
953 #define ADC12HIIFG_L           (0x0008)       /* ADC12 Interrupt Flag for upper threshold of the Window comparator */\r
954 #define ADC12OVIFG_L           (0x0010)       /* ADC12 ADC12MEMx Overflow interrupt Flag */\r
955 #define ADC12TOVIFG_L          (0x0020)       /* ADC12 Timer Overflow interrupt Flag */\r
956 #define ADC12RDYIFG_L          (0x0040)       /* ADC12 local buffered reference ready interrupt Flag */\r
957 \r
958 /* ADC12IV Definitions */\r
959 #define ADC12IV_NONE           (0x0000)       /* No Interrupt pending */\r
960 #define ADC12IV_ADC12OVIFG     (0x0002)       /* ADC12OVIFG */\r
961 #define ADC12IV_ADC12TOVIFG    (0x0004)       /* ADC12TOVIFG */\r
962 #define ADC12IV_ADC12HIIFG     (0x0006)       /* ADC12HIIFG */\r
963 #define ADC12IV_ADC12LOIFG     (0x0008)       /* ADC12LOIFG */\r
964 #define ADC12IV_ADC12INIFG     (0x000A)       /* ADC12INIFG */\r
965 #define ADC12IV_ADC12IFG0      (0x000C)       /* ADC12IFG0 */\r
966 #define ADC12IV_ADC12IFG1      (0x000E)       /* ADC12IFG1 */\r
967 #define ADC12IV_ADC12IFG2      (0x0010)       /* ADC12IFG2 */\r
968 #define ADC12IV_ADC12IFG3      (0x0012)       /* ADC12IFG3 */\r
969 #define ADC12IV_ADC12IFG4      (0x0014)       /* ADC12IFG4 */\r
970 #define ADC12IV_ADC12IFG5      (0x0016)       /* ADC12IFG5 */\r
971 #define ADC12IV_ADC12IFG6      (0x0018)       /* ADC12IFG6 */\r
972 #define ADC12IV_ADC12IFG7      (0x001A)       /* ADC12IFG7 */\r
973 #define ADC12IV_ADC12IFG8      (0x001C)       /* ADC12IFG8 */\r
974 #define ADC12IV_ADC12IFG9      (0x001E)       /* ADC12IFG9 */\r
975 #define ADC12IV_ADC12IFG10     (0x0020)       /* ADC12IFG10 */\r
976 #define ADC12IV_ADC12IFG11     (0x0022)       /* ADC12IFG11 */\r
977 #define ADC12IV_ADC12IFG12     (0x0024)       /* ADC12IFG12 */\r
978 #define ADC12IV_ADC12IFG13     (0x0026)       /* ADC12IFG13 */\r
979 #define ADC12IV_ADC12IFG14     (0x0028)       /* ADC12IFG14 */\r
980 #define ADC12IV_ADC12IFG15     (0x002A)       /* ADC12IFG15 */\r
981 #define ADC12IV_ADC12IFG16     (0x002C)       /* ADC12IFG16 */\r
982 #define ADC12IV_ADC12IFG17     (0x002E)       /* ADC12IFG17 */\r
983 #define ADC12IV_ADC12IFG18     (0x0030)       /* ADC12IFG18 */\r
984 #define ADC12IV_ADC12IFG19     (0x0032)       /* ADC12IFG19 */\r
985 #define ADC12IV_ADC12IFG20     (0x0034)       /* ADC12IFG20 */\r
986 #define ADC12IV_ADC12IFG21     (0x0036)       /* ADC12IFG21 */\r
987 #define ADC12IV_ADC12IFG22     (0x0038)       /* ADC12IFG22 */\r
988 #define ADC12IV_ADC12IFG23     (0x003A)       /* ADC12IFG23 */\r
989 #define ADC12IV_ADC12IFG24     (0x003C)       /* ADC12IFG24 */\r
990 #define ADC12IV_ADC12IFG25     (0x003E)       /* ADC12IFG25 */\r
991 #define ADC12IV_ADC12IFG26     (0x0040)       /* ADC12IFG26 */\r
992 #define ADC12IV_ADC12IFG27     (0x0042)       /* ADC12IFG27 */\r
993 #define ADC12IV_ADC12IFG28     (0x0044)       /* ADC12IFG28 */\r
994 #define ADC12IV_ADC12IFG29     (0x0046)       /* ADC12IFG29 */\r
995 #define ADC12IV_ADC12IFG30     (0x0048)       /* ADC12IFG30 */\r
996 #define ADC12IV_ADC12IFG31     (0x004A)       /* ADC12IFG31 */\r
997 #define ADC12IV_ADC12RDYIFG    (0x004C)       /* ADC12RDYIFG */\r
998 \r
999 \r
1000 #endif\r
1001 /************************************************************\r
1002 * AES256 Accelerator\r
1003 ************************************************************/\r
1004 #ifdef  __MSP430_HAS_AES256__          /* Definition to show that Module is available */\r
1005 \r
1006 #define OFS_AESACTL0           (0x0000)       /* AES accelerator control register 0 */\r
1007 #define OFS_AESACTL0_L         OFS_AESACTL0\r
1008 #define OFS_AESACTL0_H         OFS_AESACTL0+1\r
1009 #define OFS_AESACTL1           (0x0002)       /* AES accelerator control register 1 */\r
1010 #define OFS_AESACTL1_L         OFS_AESACTL1\r
1011 #define OFS_AESACTL1_H         OFS_AESACTL1+1\r
1012 #define OFS_AESASTAT           (0x0004)       /* AES accelerator status register */\r
1013 #define OFS_AESASTAT_L         OFS_AESASTAT\r
1014 #define OFS_AESASTAT_H         OFS_AESASTAT+1\r
1015 #define OFS_AESAKEY            (0x0006)       /* AES accelerator key register */\r
1016 #define OFS_AESAKEY_L          OFS_AESAKEY\r
1017 #define OFS_AESAKEY_H          OFS_AESAKEY+1\r
1018 #define OFS_AESADIN            (0x0008)       /* AES accelerator data in register */\r
1019 #define OFS_AESADIN_L          OFS_AESADIN\r
1020 #define OFS_AESADIN_H          OFS_AESADIN+1\r
1021 #define OFS_AESADOUT           (0x000A)       /* AES accelerator data out register  */\r
1022 #define OFS_AESADOUT_L         OFS_AESADOUT\r
1023 #define OFS_AESADOUT_H         OFS_AESADOUT+1\r
1024 #define OFS_AESAXDIN           (0x000C)       /* AES accelerator XORed data in register */\r
1025 #define OFS_AESAXDIN_L         OFS_AESAXDIN\r
1026 #define OFS_AESAXDIN_H         OFS_AESAXDIN+1\r
1027 #define OFS_AESAXIN            (0x000E)       /* AES accelerator XORed data in register (no trigger)  */\r
1028 #define OFS_AESAXIN_L          OFS_AESAXIN\r
1029 #define OFS_AESAXIN_H          OFS_AESAXIN+1\r
1030 \r
1031 /* AESACTL0 Control Bits */\r
1032 #define AESOP0                 (0x0001)       /* AES Operation Bit: 0 */\r
1033 #define AESOP1                 (0x0002)       /* AES Operation Bit: 1 */\r
1034 #define AESKL0                 (0x0004)       /* AES Key length Bit: 0 */\r
1035 #define AESKL1                 (0x0008)       /* AES Key length Bit: 1 */\r
1036 #define AESTRIG                (0x0010)       /* AES Trigger Select */\r
1037 #define AESCM0                 (0x0020)       /* AES Cipher mode select Bit: 0 */\r
1038 #define AESCM1                 (0x0040)       /* AES Cipher mode select Bit: 1 */\r
1039 #define AESSWRST               (0x0080)       /* AES Software Reset */\r
1040 #define AESRDYIFG              (0x0100)       /* AES ready interrupt flag */\r
1041 #define AESERRFG               (0x0800)       /* AES Error Flag */\r
1042 #define AESRDYIE               (0x1000)       /* AES ready interrupt enable*/\r
1043 #define AESCMEN                (0x8000)       /* AES DMA cipher mode enable*/\r
1044 \r
1045 /* AESACTL0 Control Bits */\r
1046 #define AESOP0_L               (0x0001)       /* AES Operation Bit: 0 */\r
1047 #define AESOP1_L               (0x0002)       /* AES Operation Bit: 1 */\r
1048 #define AESKL0_L               (0x0004)       /* AES Key length Bit: 0 */\r
1049 #define AESKL1_L               (0x0008)       /* AES Key length Bit: 1 */\r
1050 #define AESTRIG_L              (0x0010)       /* AES Trigger Select */\r
1051 #define AESCM0_L               (0x0020)       /* AES Cipher mode select Bit: 0 */\r
1052 #define AESCM1_L               (0x0040)       /* AES Cipher mode select Bit: 1 */\r
1053 #define AESSWRST_L             (0x0080)       /* AES Software Reset */\r
1054 \r
1055 /* AESACTL0 Control Bits */\r
1056 #define AESRDYIFG_H            (0x0001)       /* AES ready interrupt flag */\r
1057 #define AESERRFG_H             (0x0008)       /* AES Error Flag */\r
1058 #define AESRDYIE_H             (0x0010)       /* AES ready interrupt enable*/\r
1059 #define AESCMEN_H              (0x0080)       /* AES DMA cipher mode enable*/\r
1060 \r
1061 #define AESOP_0                (0x0000)       /* AES Operation: Encrypt */\r
1062 #define AESOP_1                (0x0001)       /* AES Operation: Decrypt (same Key) */\r
1063 #define AESOP_2                (0x0002)       /* AES Operation: Decrypt (frist round Key) */\r
1064 #define AESOP_3                (0x0003)       /* AES Operation: Generate first round Key */\r
1065 \r
1066 #define AESKL_0                (0x0000)       /* AES Key length: AES128 */\r
1067 #define AESKL_1                (0x0004)       /* AES Key length: AES192 */\r
1068 #define AESKL_2                (0x0008)       /* AES Key length: AES256 */\r
1069 #define AESKL__128             (0x0000)       /* AES Key length: AES128 */\r
1070 #define AESKL__192             (0x0004)       /* AES Key length: AES192 */\r
1071 #define AESKL__256             (0x0008)       /* AES Key length: AES256 */\r
1072 \r
1073 #define AESCM_0                (0x0000)       /* AES Cipher mode select: ECB */\r
1074 #define AESCM_1                (0x0020)       /* AES Cipher mode select: CBC */\r
1075 #define AESCM_2                (0x0040)       /* AES Cipher mode select: OFB */\r
1076 #define AESCM_3                (0x0060)       /* AES Cipher mode select: CFB */\r
1077 #define AESCM__ECB             (0x0000)       /* AES Cipher mode select: ECB */\r
1078 #define AESCM__CBC             (0x0020)       /* AES Cipher mode select: CBC */\r
1079 #define AESCM__OFB             (0x0040)       /* AES Cipher mode select: OFB */\r
1080 #define AESCM__CFB             (0x0060)       /* AES Cipher mode select: CFB */\r
1081 \r
1082 /* AESACTL1 Control Bits */\r
1083 #define AESBLKCNT0             (0x0001)       /* AES Cipher Block Counter Bit: 0 */\r
1084 #define AESBLKCNT1             (0x0002)       /* AES Cipher Block Counter Bit: 1 */\r
1085 #define AESBLKCNT2             (0x0004)       /* AES Cipher Block Counter Bit: 2 */\r
1086 #define AESBLKCNT3             (0x0008)       /* AES Cipher Block Counter Bit: 3 */\r
1087 #define AESBLKCNT4             (0x0010)       /* AES Cipher Block Counter Bit: 4 */\r
1088 #define AESBLKCNT5             (0x0020)       /* AES Cipher Block Counter Bit: 5 */\r
1089 #define AESBLKCNT6             (0x0040)       /* AES Cipher Block Counter Bit: 6 */\r
1090 #define AESBLKCNT7             (0x0080)       /* AES Cipher Block Counter Bit: 7 */\r
1091 \r
1092 /* AESACTL1 Control Bits */\r
1093 #define AESBLKCNT0_L           (0x0001)       /* AES Cipher Block Counter Bit: 0 */\r
1094 #define AESBLKCNT1_L           (0x0002)       /* AES Cipher Block Counter Bit: 1 */\r
1095 #define AESBLKCNT2_L           (0x0004)       /* AES Cipher Block Counter Bit: 2 */\r
1096 #define AESBLKCNT3_L           (0x0008)       /* AES Cipher Block Counter Bit: 3 */\r
1097 #define AESBLKCNT4_L           (0x0010)       /* AES Cipher Block Counter Bit: 4 */\r
1098 #define AESBLKCNT5_L           (0x0020)       /* AES Cipher Block Counter Bit: 5 */\r
1099 #define AESBLKCNT6_L           (0x0040)       /* AES Cipher Block Counter Bit: 6 */\r
1100 #define AESBLKCNT7_L           (0x0080)       /* AES Cipher Block Counter Bit: 7 */\r
1101 \r
1102 /* AESASTAT Control Bits */\r
1103 #define AESBUSY                (0x0001)       /* AES Busy */\r
1104 #define AESKEYWR               (0x0002)       /* AES All 16 bytes written to AESAKEY */\r
1105 #define AESDINWR               (0x0004)       /* AES All 16 bytes written to AESADIN */\r
1106 #define AESDOUTRD              (0x0008)       /* AES All 16 bytes read from AESADOUT */\r
1107 #define AESKEYCNT0             (0x0010)       /* AES Bytes written via AESAKEY Bit: 0 */\r
1108 #define AESKEYCNT1             (0x0020)       /* AES Bytes written via AESAKEY Bit: 1 */\r
1109 #define AESKEYCNT2             (0x0040)       /* AES Bytes written via AESAKEY Bit: 2 */\r
1110 #define AESKEYCNT3             (0x0080)       /* AES Bytes written via AESAKEY Bit: 3 */\r
1111 #define AESDINCNT0             (0x0100)       /* AES Bytes written via AESADIN Bit: 0 */\r
1112 #define AESDINCNT1             (0x0200)       /* AES Bytes written via AESADIN Bit: 1 */\r
1113 #define AESDINCNT2             (0x0400)       /* AES Bytes written via AESADIN Bit: 2 */\r
1114 #define AESDINCNT3             (0x0800)       /* AES Bytes written via AESADIN Bit: 3 */\r
1115 #define AESDOUTCNT0            (0x1000)       /* AES Bytes read via AESADOUT Bit: 0 */\r
1116 #define AESDOUTCNT1            (0x2000)       /* AES Bytes read via AESADOUT Bit: 1 */\r
1117 #define AESDOUTCNT2            (0x4000)       /* AES Bytes read via AESADOUT Bit: 2 */\r
1118 #define AESDOUTCNT3            (0x8000)       /* AES Bytes read via AESADOUT Bit: 3 */\r
1119 \r
1120 /* AESASTAT Control Bits */\r
1121 #define AESBUSY_L              (0x0001)       /* AES Busy */\r
1122 #define AESKEYWR_L             (0x0002)       /* AES All 16 bytes written to AESAKEY */\r
1123 #define AESDINWR_L             (0x0004)       /* AES All 16 bytes written to AESADIN */\r
1124 #define AESDOUTRD_L            (0x0008)       /* AES All 16 bytes read from AESADOUT */\r
1125 #define AESKEYCNT0_L           (0x0010)       /* AES Bytes written via AESAKEY Bit: 0 */\r
1126 #define AESKEYCNT1_L           (0x0020)       /* AES Bytes written via AESAKEY Bit: 1 */\r
1127 #define AESKEYCNT2_L           (0x0040)       /* AES Bytes written via AESAKEY Bit: 2 */\r
1128 #define AESKEYCNT3_L           (0x0080)       /* AES Bytes written via AESAKEY Bit: 3 */\r
1129 \r
1130 /* AESASTAT Control Bits */\r
1131 #define AESDINCNT0_H           (0x0001)       /* AES Bytes written via AESADIN Bit: 0 */\r
1132 #define AESDINCNT1_H           (0x0002)       /* AES Bytes written via AESADIN Bit: 1 */\r
1133 #define AESDINCNT2_H           (0x0004)       /* AES Bytes written via AESADIN Bit: 2 */\r
1134 #define AESDINCNT3_H           (0x0008)       /* AES Bytes written via AESADIN Bit: 3 */\r
1135 #define AESDOUTCNT0_H          (0x0010)       /* AES Bytes read via AESADOUT Bit: 0 */\r
1136 #define AESDOUTCNT1_H          (0x0020)       /* AES Bytes read via AESADOUT Bit: 1 */\r
1137 #define AESDOUTCNT2_H          (0x0040)       /* AES Bytes read via AESADOUT Bit: 2 */\r
1138 #define AESDOUTCNT3_H          (0x0080)       /* AES Bytes read via AESADOUT Bit: 3 */\r
1139 \r
1140 #endif\r
1141 /************************************************************\r
1142 * Capacitive_Touch_IO 0\r
1143 ************************************************************/\r
1144 #ifdef  __MSP430_HAS_CAP_TOUCH_IO_0__ /* Definition to show that Module is available */\r
1145 \r
1146 #define OFS_CAPTIO0CTL         (0x000E)       /* Capacitive_Touch_IO 0 control register */\r
1147 #define OFS_CAPTIO0CTL_L       OFS_CAPTIO0CTL\r
1148 #define OFS_CAPTIO0CTL_H       OFS_CAPTIO0CTL+1\r
1149 \r
1150 #define  CAPSIO0CTL            CAPTIO0CTL     /* legacy define */\r
1151 \r
1152 /* CAPTIOxCTL Control Bits */\r
1153 #define CAPTIOPISEL0           (0x0002)       /* CapTouchIO Pin Select Bit: 0 */\r
1154 #define CAPTIOPISEL1           (0x0004)       /* CapTouchIO Pin Select Bit: 1 */\r
1155 #define CAPTIOPISEL2           (0x0008)       /* CapTouchIO Pin Select Bit: 2 */\r
1156 #define CAPTIOPOSEL0           (0x0010)       /* CapTouchIO Port Select Bit: 0 */\r
1157 #define CAPTIOPOSEL1           (0x0020)       /* CapTouchIO Port Select Bit: 1 */\r
1158 #define CAPTIOPOSEL2           (0x0040)       /* CapTouchIO Port Select Bit: 2 */\r
1159 #define CAPTIOPOSEL3           (0x0080)       /* CapTouchIO Port Select Bit: 3 */\r
1160 #define CAPTIOEN               (0x0100)       /* CapTouchIO Enable */\r
1161 #define CAPTIO                 (0x0200)       /* CapTouchIO state */\r
1162 \r
1163 /* CAPTIOxCTL Control Bits */\r
1164 #define CAPTIOPISEL0_L         (0x0002)       /* CapTouchIO Pin Select Bit: 0 */\r
1165 #define CAPTIOPISEL1_L         (0x0004)       /* CapTouchIO Pin Select Bit: 1 */\r
1166 #define CAPTIOPISEL2_L         (0x0008)       /* CapTouchIO Pin Select Bit: 2 */\r
1167 #define CAPTIOPOSEL0_L         (0x0010)       /* CapTouchIO Port Select Bit: 0 */\r
1168 #define CAPTIOPOSEL1_L         (0x0020)       /* CapTouchIO Port Select Bit: 1 */\r
1169 #define CAPTIOPOSEL2_L         (0x0040)       /* CapTouchIO Port Select Bit: 2 */\r
1170 #define CAPTIOPOSEL3_L         (0x0080)       /* CapTouchIO Port Select Bit: 3 */\r
1171 \r
1172 /* CAPTIOxCTL Control Bits */\r
1173 #define CAPTIOEN_H             (0x0001)       /* CapTouchIO Enable */\r
1174 #define CAPTIO_H               (0x0002)       /* CapTouchIO state */\r
1175 \r
1176 /* Legacy defines */\r
1177 #define CAPSIOPISEL0           (0x0002)       /* CapTouchIO Pin Select Bit: 0 */\r
1178 #define CAPSIOPISEL1           (0x0004)       /* CapTouchIO Pin Select Bit: 1 */\r
1179 #define CAPSIOPISEL2           (0x0008)       /* CapTouchIO Pin Select Bit: 2 */\r
1180 #define CAPSIOPOSEL0           (0x0010)       /* CapTouchIO Port Select Bit: 0 */\r
1181 #define CAPSIOPOSEL1           (0x0020)       /* CapTouchIO Port Select Bit: 1 */\r
1182 #define CAPSIOPOSEL2           (0x0040)       /* CapTouchIO Port Select Bit: 2 */\r
1183 #define CAPSIOPOSEL3           (0x0080)       /* CapTouchIO Port Select Bit: 3 */\r
1184 #define CAPSIOEN               (0x0100)       /* CapTouchIO Enable */\r
1185 #define CAPSIO                 (0x0200)       /* CapTouchIO state */\r
1186 \r
1187 #endif\r
1188 /************************************************************\r
1189 * Capacitive_Touch_IO 1\r
1190 ************************************************************/\r
1191 #ifdef  __MSP430_HAS_CAP_TOUCH_IO_1__ /* Definition to show that Module is available */\r
1192 \r
1193 #define OFS_CAPTIO1CTL         (0x000E)       /* Capacitive_Touch_IO 1 control register */\r
1194 #define OFS_CAPTIO1CTL_L       OFS_CAPTIO1CTL\r
1195 #define OFS_CAPTIO1CTL_H       OFS_CAPTIO1CTL+1\r
1196 \r
1197 #define  CAPSIO1CTL            CAPTIO1CTL     /* legacy define */\r
1198 \r
1199 #endif\r
1200 /************************************************************\r
1201 * Comparator E\r
1202 ************************************************************/\r
1203 #ifdef  __MSP430_HAS_COMP_E__          /* Definition to show that Module is available */\r
1204 \r
1205 #define OFS_CECTL0             (0x0000)       /* Comparator E Control Register 0 */\r
1206 #define OFS_CECTL0_L           OFS_CECTL0\r
1207 #define OFS_CECTL0_H           OFS_CECTL0+1\r
1208 #define OFS_CECTL1             (0x0002)       /* Comparator E Control Register 1 */\r
1209 #define OFS_CECTL1_L           OFS_CECTL1\r
1210 #define OFS_CECTL1_H           OFS_CECTL1+1\r
1211 #define OFS_CECTL2             (0x0004)       /* Comparator E Control Register 2 */\r
1212 #define OFS_CECTL2_L           OFS_CECTL2\r
1213 #define OFS_CECTL2_H           OFS_CECTL2+1\r
1214 #define OFS_CECTL3             (0x0006)       /* Comparator E Control Register 3 */\r
1215 #define OFS_CECTL3_L           OFS_CECTL3\r
1216 #define OFS_CECTL3_H           OFS_CECTL3+1\r
1217 #define OFS_CEINT              (0x000C)       /* Comparator E Interrupt Register */\r
1218 #define OFS_CEINT_L            OFS_CEINT\r
1219 #define OFS_CEINT_H            OFS_CEINT+1\r
1220 #define OFS_CEIV               (0x000E)       /* Comparator E Interrupt Vector Word */\r
1221 #define OFS_CEIV_L             OFS_CEIV\r
1222 #define OFS_CEIV_H             OFS_CEIV+1\r
1223 \r
1224 /* CECTL0 Control Bits */\r
1225 #define CEIPSEL0               (0x0001)       /* Comp. E Pos. Channel Input Select 0 */\r
1226 #define CEIPSEL1               (0x0002)       /* Comp. E Pos. Channel Input Select 1 */\r
1227 #define CEIPSEL2               (0x0004)       /* Comp. E Pos. Channel Input Select 2 */\r
1228 #define CEIPSEL3               (0x0008)       /* Comp. E Pos. Channel Input Select 3 */\r
1229 //#define RESERVED            (0x0010)  /* Comp. E */\r
1230 //#define RESERVED            (0x0020)  /* Comp. E */\r
1231 //#define RESERVED            (0x0040)  /* Comp. E */\r
1232 #define CEIPEN                 (0x0080)       /* Comp. E Pos. Channel Input Enable */\r
1233 #define CEIMSEL0               (0x0100)       /* Comp. E Neg. Channel Input Select 0 */\r
1234 #define CEIMSEL1               (0x0200)       /* Comp. E Neg. Channel Input Select 1 */\r
1235 #define CEIMSEL2               (0x0400)       /* Comp. E Neg. Channel Input Select 2 */\r
1236 #define CEIMSEL3               (0x0800)       /* Comp. E Neg. Channel Input Select 3 */\r
1237 //#define RESERVED            (0x1000)  /* Comp. E */\r
1238 //#define RESERVED            (0x2000)  /* Comp. E */\r
1239 //#define RESERVED            (0x4000)  /* Comp. E */\r
1240 #define CEIMEN                 (0x8000)       /* Comp. E Neg. Channel Input Enable */\r
1241 \r
1242 /* CECTL0 Control Bits */\r
1243 #define CEIPSEL0_L             (0x0001)       /* Comp. E Pos. Channel Input Select 0 */\r
1244 #define CEIPSEL1_L             (0x0002)       /* Comp. E Pos. Channel Input Select 1 */\r
1245 #define CEIPSEL2_L             (0x0004)       /* Comp. E Pos. Channel Input Select 2 */\r
1246 #define CEIPSEL3_L             (0x0008)       /* Comp. E Pos. Channel Input Select 3 */\r
1247 //#define RESERVED            (0x0010)  /* Comp. E */\r
1248 //#define RESERVED            (0x0020)  /* Comp. E */\r
1249 //#define RESERVED            (0x0040)  /* Comp. E */\r
1250 #define CEIPEN_L               (0x0080)       /* Comp. E Pos. Channel Input Enable */\r
1251 //#define RESERVED            (0x1000)  /* Comp. E */\r
1252 //#define RESERVED            (0x2000)  /* Comp. E */\r
1253 //#define RESERVED            (0x4000)  /* Comp. E */\r
1254 \r
1255 /* CECTL0 Control Bits */\r
1256 //#define RESERVED            (0x0010)  /* Comp. E */\r
1257 //#define RESERVED            (0x0020)  /* Comp. E */\r
1258 //#define RESERVED            (0x0040)  /* Comp. E */\r
1259 #define CEIMSEL0_H             (0x0001)       /* Comp. E Neg. Channel Input Select 0 */\r
1260 #define CEIMSEL1_H             (0x0002)       /* Comp. E Neg. Channel Input Select 1 */\r
1261 #define CEIMSEL2_H             (0x0004)       /* Comp. E Neg. Channel Input Select 2 */\r
1262 #define CEIMSEL3_H             (0x0008)       /* Comp. E Neg. Channel Input Select 3 */\r
1263 //#define RESERVED            (0x1000)  /* Comp. E */\r
1264 //#define RESERVED            (0x2000)  /* Comp. E */\r
1265 //#define RESERVED            (0x4000)  /* Comp. E */\r
1266 #define CEIMEN_H               (0x0080)       /* Comp. E Neg. Channel Input Enable */\r
1267 \r
1268 #define CEIPSEL_0              (0x0000)       /* Comp. E V+ terminal Input Select: Channel 0 */\r
1269 #define CEIPSEL_1              (0x0001)       /* Comp. E V+ terminal Input Select: Channel 1 */\r
1270 #define CEIPSEL_2              (0x0002)       /* Comp. E V+ terminal Input Select: Channel 2 */\r
1271 #define CEIPSEL_3              (0x0003)       /* Comp. E V+ terminal Input Select: Channel 3 */\r
1272 #define CEIPSEL_4              (0x0004)       /* Comp. E V+ terminal Input Select: Channel 4 */\r
1273 #define CEIPSEL_5              (0x0005)       /* Comp. E V+ terminal Input Select: Channel 5 */\r
1274 #define CEIPSEL_6              (0x0006)       /* Comp. E V+ terminal Input Select: Channel 6 */\r
1275 #define CEIPSEL_7              (0x0007)       /* Comp. E V+ terminal Input Select: Channel 7 */\r
1276 #define CEIPSEL_8              (0x0008)       /* Comp. E V+ terminal Input Select: Channel 8 */\r
1277 #define CEIPSEL_9              (0x0009)       /* Comp. E V+ terminal Input Select: Channel 9 */\r
1278 #define CEIPSEL_10             (0x000A)       /* Comp. E V+ terminal Input Select: Channel 10 */\r
1279 #define CEIPSEL_11             (0x000B)       /* Comp. E V+ terminal Input Select: Channel 11 */\r
1280 #define CEIPSEL_12             (0x000C)       /* Comp. E V+ terminal Input Select: Channel 12 */\r
1281 #define CEIPSEL_13             (0x000D)       /* Comp. E V+ terminal Input Select: Channel 13 */\r
1282 #define CEIPSEL_14             (0x000E)       /* Comp. E V+ terminal Input Select: Channel 14 */\r
1283 #define CEIPSEL_15             (0x000F)       /* Comp. E V+ terminal Input Select: Channel 15 */\r
1284 \r
1285 #define CEIMSEL_0              (0x0000)       /* Comp. E V- Terminal Input Select: Channel 0 */\r
1286 #define CEIMSEL_1              (0x0100)       /* Comp. E V- Terminal Input Select: Channel 1 */\r
1287 #define CEIMSEL_2              (0x0200)       /* Comp. E V- Terminal Input Select: Channel 2 */\r
1288 #define CEIMSEL_3              (0x0300)       /* Comp. E V- Terminal Input Select: Channel 3 */\r
1289 #define CEIMSEL_4              (0x0400)       /* Comp. E V- Terminal Input Select: Channel 4 */\r
1290 #define CEIMSEL_5              (0x0500)       /* Comp. E V- Terminal Input Select: Channel 5 */\r
1291 #define CEIMSEL_6              (0x0600)       /* Comp. E V- Terminal Input Select: Channel 6 */\r
1292 #define CEIMSEL_7              (0x0700)       /* Comp. E V- Terminal Input Select: Channel 7 */\r
1293 #define CEIMSEL_8              (0x0800)       /* Comp. E V- terminal Input Select: Channel 8 */\r
1294 #define CEIMSEL_9              (0x0900)       /* Comp. E V- terminal Input Select: Channel 9 */\r
1295 #define CEIMSEL_10             (0x0A00)       /* Comp. E V- terminal Input Select: Channel 10 */\r
1296 #define CEIMSEL_11             (0x0B00)       /* Comp. E V- terminal Input Select: Channel 11 */\r
1297 #define CEIMSEL_12             (0x0C00)       /* Comp. E V- terminal Input Select: Channel 12 */\r
1298 #define CEIMSEL_13             (0x0D00)       /* Comp. E V- terminal Input Select: Channel 13 */\r
1299 #define CEIMSEL_14             (0x0E00)       /* Comp. E V- terminal Input Select: Channel 14 */\r
1300 #define CEIMSEL_15             (0x0F00)       /* Comp. E V- terminal Input Select: Channel 15 */\r
1301 \r
1302 /* CECTL1 Control Bits */\r
1303 #define CEOUT                  (0x0001)       /* Comp. E Output */\r
1304 #define CEOUTPOL               (0x0002)       /* Comp. E Output Polarity */\r
1305 #define CEF                    (0x0004)       /* Comp. E Enable Output Filter */\r
1306 #define CEIES                  (0x0008)       /* Comp. E Interrupt Edge Select */\r
1307 #define CESHORT                (0x0010)       /* Comp. E Input Short */\r
1308 #define CEEX                   (0x0020)       /* Comp. E Exchange Inputs */\r
1309 #define CEFDLY0                (0x0040)       /* Comp. E Filter delay Bit 0 */\r
1310 #define CEFDLY1                (0x0080)       /* Comp. E Filter delay Bit 1 */\r
1311 #define CEPWRMD0               (0x0100)       /* Comp. E Power mode Bit 0 */\r
1312 #define CEPWRMD1               (0x0200)       /* Comp. E Power mode Bit 1 */\r
1313 #define CEON                   (0x0400)       /* Comp. E enable */\r
1314 #define CEMRVL                 (0x0800)       /* Comp. E CEMRV Level */\r
1315 #define CEMRVS                 (0x1000)       /* Comp. E Output selects between VREF0 or VREF1*/\r
1316 //#define RESERVED            (0x2000)  /* Comp. E */\r
1317 //#define RESERVED            (0x4000)  /* Comp. E */\r
1318 //#define RESERVED            (0x8000)  /* Comp. E */\r
1319 \r
1320 /* CECTL1 Control Bits */\r
1321 #define CEOUT_L                (0x0001)       /* Comp. E Output */\r
1322 #define CEOUTPOL_L             (0x0002)       /* Comp. E Output Polarity */\r
1323 #define CEF_L                  (0x0004)       /* Comp. E Enable Output Filter */\r
1324 #define CEIES_L                (0x0008)       /* Comp. E Interrupt Edge Select */\r
1325 #define CESHORT_L              (0x0010)       /* Comp. E Input Short */\r
1326 #define CEEX_L                 (0x0020)       /* Comp. E Exchange Inputs */\r
1327 #define CEFDLY0_L              (0x0040)       /* Comp. E Filter delay Bit 0 */\r
1328 #define CEFDLY1_L              (0x0080)       /* Comp. E Filter delay Bit 1 */\r
1329 //#define RESERVED            (0x2000)  /* Comp. E */\r
1330 //#define RESERVED            (0x4000)  /* Comp. E */\r
1331 //#define RESERVED            (0x8000)  /* Comp. E */\r
1332 \r
1333 /* CECTL1 Control Bits */\r
1334 #define CEPWRMD0_H             (0x0001)       /* Comp. E Power mode Bit 0 */\r
1335 #define CEPWRMD1_H             (0x0002)       /* Comp. E Power mode Bit 1 */\r
1336 #define CEON_H                 (0x0004)       /* Comp. E enable */\r
1337 #define CEMRVL_H               (0x0008)       /* Comp. E CEMRV Level */\r
1338 #define CEMRVS_H               (0x0010)       /* Comp. E Output selects between VREF0 or VREF1*/\r
1339 //#define RESERVED            (0x2000)  /* Comp. E */\r
1340 //#define RESERVED            (0x4000)  /* Comp. E */\r
1341 //#define RESERVED            (0x8000)  /* Comp. E */\r
1342 \r
1343 #define CEPWRMD_0              (0x0000)       /* Comp. E Power mode 0 */\r
1344 #define CEPWRMD_1              (0x0100)       /* Comp. E Power mode 1 */\r
1345 #define CEPWRMD_2              (0x0200)       /* Comp. E Power mode 2 */\r
1346 #define CEPWRMD_3              (0x0300)       /* Comp. E Power mode 3*/\r
1347 \r
1348 #define CEFDLY_0               (0x0000)       /* Comp. E Filter delay 0 : 450ns */\r
1349 #define CEFDLY_1               (0x0040)       /* Comp. E Filter delay 1 : 900ns */\r
1350 #define CEFDLY_2               (0x0080)       /* Comp. E Filter delay 2 : 1800ns */\r
1351 #define CEFDLY_3               (0x00C0)       /* Comp. E Filter delay 3 : 3600ns */\r
1352 \r
1353 /* CECTL2 Control Bits */\r
1354 #define CEREF00                (0x0001)       /* Comp. E Reference 0 Resistor Select Bit : 0 */\r
1355 #define CEREF01                (0x0002)       /* Comp. E Reference 0 Resistor Select Bit : 1 */\r
1356 #define CEREF02                (0x0004)       /* Comp. E Reference 0 Resistor Select Bit : 2 */\r
1357 #define CEREF03                (0x0008)       /* Comp. E Reference 0 Resistor Select Bit : 3 */\r
1358 #define CEREF04                (0x0010)       /* Comp. E Reference 0 Resistor Select Bit : 4 */\r
1359 #define CERSEL                 (0x0020)       /* Comp. E Reference select */\r
1360 #define CERS0                  (0x0040)       /* Comp. E Reference Source Bit : 0 */\r
1361 #define CERS1                  (0x0080)       /* Comp. E Reference Source Bit : 1 */\r
1362 #define CEREF10                (0x0100)       /* Comp. E Reference 1 Resistor Select Bit : 0 */\r
1363 #define CEREF11                (0x0200)       /* Comp. E Reference 1 Resistor Select Bit : 1 */\r
1364 #define CEREF12                (0x0400)       /* Comp. E Reference 1 Resistor Select Bit : 2 */\r
1365 #define CEREF13                (0x0800)       /* Comp. E Reference 1 Resistor Select Bit : 3 */\r
1366 #define CEREF14                (0x1000)       /* Comp. E Reference 1 Resistor Select Bit : 4 */\r
1367 #define CEREFL0                (0x2000)       /* Comp. E Reference voltage level Bit : 0 */\r
1368 #define CEREFL1                (0x4000)       /* Comp. E Reference voltage level Bit : 1 */\r
1369 #define CEREFACC               (0x8000)       /* Comp. E Reference Accuracy */\r
1370 \r
1371 /* CECTL2 Control Bits */\r
1372 #define CEREF00_L              (0x0001)       /* Comp. E Reference 0 Resistor Select Bit : 0 */\r
1373 #define CEREF01_L              (0x0002)       /* Comp. E Reference 0 Resistor Select Bit : 1 */\r
1374 #define CEREF02_L              (0x0004)       /* Comp. E Reference 0 Resistor Select Bit : 2 */\r
1375 #define CEREF03_L              (0x0008)       /* Comp. E Reference 0 Resistor Select Bit : 3 */\r
1376 #define CEREF04_L              (0x0010)       /* Comp. E Reference 0 Resistor Select Bit : 4 */\r
1377 #define CERSEL_L               (0x0020)       /* Comp. E Reference select */\r
1378 #define CERS0_L                (0x0040)       /* Comp. E Reference Source Bit : 0 */\r
1379 #define CERS1_L                (0x0080)       /* Comp. E Reference Source Bit : 1 */\r
1380 \r
1381 /* CECTL2 Control Bits */\r
1382 #define CEREF10_H              (0x0001)       /* Comp. E Reference 1 Resistor Select Bit : 0 */\r
1383 #define CEREF11_H              (0x0002)       /* Comp. E Reference 1 Resistor Select Bit : 1 */\r
1384 #define CEREF12_H              (0x0004)       /* Comp. E Reference 1 Resistor Select Bit : 2 */\r
1385 #define CEREF13_H              (0x0008)       /* Comp. E Reference 1 Resistor Select Bit : 3 */\r
1386 #define CEREF14_H              (0x0010)       /* Comp. E Reference 1 Resistor Select Bit : 4 */\r
1387 #define CEREFL0_H              (0x0020)       /* Comp. E Reference voltage level Bit : 0 */\r
1388 #define CEREFL1_H              (0x0040)       /* Comp. E Reference voltage level Bit : 1 */\r
1389 #define CEREFACC_H             (0x0080)       /* Comp. E Reference Accuracy */\r
1390 \r
1391 #define CEREF0_0               (0x0000)       /* Comp. E Int. Ref.0 Select 0 : 1/32 */\r
1392 #define CEREF0_1               (0x0001)       /* Comp. E Int. Ref.0 Select 1 : 2/32 */\r
1393 #define CEREF0_2               (0x0002)       /* Comp. E Int. Ref.0 Select 2 : 3/32 */\r
1394 #define CEREF0_3               (0x0003)       /* Comp. E Int. Ref.0 Select 3 : 4/32 */\r
1395 #define CEREF0_4               (0x0004)       /* Comp. E Int. Ref.0 Select 4 : 5/32 */\r
1396 #define CEREF0_5               (0x0005)       /* Comp. E Int. Ref.0 Select 5 : 6/32 */\r
1397 #define CEREF0_6               (0x0006)       /* Comp. E Int. Ref.0 Select 6 : 7/32 */\r
1398 #define CEREF0_7               (0x0007)       /* Comp. E Int. Ref.0 Select 7 : 8/32 */\r
1399 #define CEREF0_8               (0x0008)       /* Comp. E Int. Ref.0 Select 0 : 9/32 */\r
1400 #define CEREF0_9               (0x0009)       /* Comp. E Int. Ref.0 Select 1 : 10/32 */\r
1401 #define CEREF0_10              (0x000A)       /* Comp. E Int. Ref.0 Select 2 : 11/32 */\r
1402 #define CEREF0_11              (0x000B)       /* Comp. E Int. Ref.0 Select 3 : 12/32 */\r
1403 #define CEREF0_12              (0x000C)       /* Comp. E Int. Ref.0 Select 4 : 13/32 */\r
1404 #define CEREF0_13              (0x000D)       /* Comp. E Int. Ref.0 Select 5 : 14/32 */\r
1405 #define CEREF0_14              (0x000E)       /* Comp. E Int. Ref.0 Select 6 : 15/32 */\r
1406 #define CEREF0_15              (0x000F)       /* Comp. E Int. Ref.0 Select 7 : 16/32 */\r
1407 #define CEREF0_16              (0x0010)       /* Comp. E Int. Ref.0 Select 0 : 17/32 */\r
1408 #define CEREF0_17              (0x0011)       /* Comp. E Int. Ref.0 Select 1 : 18/32 */\r
1409 #define CEREF0_18              (0x0012)       /* Comp. E Int. Ref.0 Select 2 : 19/32 */\r
1410 #define CEREF0_19              (0x0013)       /* Comp. E Int. Ref.0 Select 3 : 20/32 */\r
1411 #define CEREF0_20              (0x0014)       /* Comp. E Int. Ref.0 Select 4 : 21/32 */\r
1412 #define CEREF0_21              (0x0015)       /* Comp. E Int. Ref.0 Select 5 : 22/32 */\r
1413 #define CEREF0_22              (0x0016)       /* Comp. E Int. Ref.0 Select 6 : 23/32 */\r
1414 #define CEREF0_23              (0x0017)       /* Comp. E Int. Ref.0 Select 7 : 24/32 */\r
1415 #define CEREF0_24              (0x0018)       /* Comp. E Int. Ref.0 Select 0 : 25/32 */\r
1416 #define CEREF0_25              (0x0019)       /* Comp. E Int. Ref.0 Select 1 : 26/32 */\r
1417 #define CEREF0_26              (0x001A)       /* Comp. E Int. Ref.0 Select 2 : 27/32 */\r
1418 #define CEREF0_27              (0x001B)       /* Comp. E Int. Ref.0 Select 3 : 28/32 */\r
1419 #define CEREF0_28              (0x001C)       /* Comp. E Int. Ref.0 Select 4 : 29/32 */\r
1420 #define CEREF0_29              (0x001D)       /* Comp. E Int. Ref.0 Select 5 : 30/32 */\r
1421 #define CEREF0_30              (0x001E)       /* Comp. E Int. Ref.0 Select 6 : 31/32 */\r
1422 #define CEREF0_31              (0x001F)       /* Comp. E Int. Ref.0 Select 7 : 32/32 */\r
1423 \r
1424 #define CERS_0                 (0x0000)       /* Comp. E Reference Source 0 : Off */\r
1425 #define CERS_1                 (0x0040)       /* Comp. E Reference Source 1 : Vcc */\r
1426 #define CERS_2                 (0x0080)       /* Comp. E Reference Source 2 : Shared Ref. */\r
1427 #define CERS_3                 (0x00C0)       /* Comp. E Reference Source 3 : Shared Ref. / Off */\r
1428 \r
1429 #define CEREF1_0               (0x0000)       /* Comp. E Int. Ref.1 Select 0 : 1/32 */\r
1430 #define CEREF1_1               (0x0100)       /* Comp. E Int. Ref.1 Select 1 : 2/32 */\r
1431 #define CEREF1_2               (0x0200)       /* Comp. E Int. Ref.1 Select 2 : 3/32 */\r
1432 #define CEREF1_3               (0x0300)       /* Comp. E Int. Ref.1 Select 3 : 4/32 */\r
1433 #define CEREF1_4               (0x0400)       /* Comp. E Int. Ref.1 Select 4 : 5/32 */\r
1434 #define CEREF1_5               (0x0500)       /* Comp. E Int. Ref.1 Select 5 : 6/32 */\r
1435 #define CEREF1_6               (0x0600)       /* Comp. E Int. Ref.1 Select 6 : 7/32 */\r
1436 #define CEREF1_7               (0x0700)       /* Comp. E Int. Ref.1 Select 7 : 8/32 */\r
1437 #define CEREF1_8               (0x0800)       /* Comp. E Int. Ref.1 Select 0 : 9/32 */\r
1438 #define CEREF1_9               (0x0900)       /* Comp. E Int. Ref.1 Select 1 : 10/32 */\r
1439 #define CEREF1_10              (0x0A00)       /* Comp. E Int. Ref.1 Select 2 : 11/32 */\r
1440 #define CEREF1_11              (0x0B00)       /* Comp. E Int. Ref.1 Select 3 : 12/32 */\r
1441 #define CEREF1_12              (0x0C00)       /* Comp. E Int. Ref.1 Select 4 : 13/32 */\r
1442 #define CEREF1_13              (0x0D00)       /* Comp. E Int. Ref.1 Select 5 : 14/32 */\r
1443 #define CEREF1_14              (0x0E00)       /* Comp. E Int. Ref.1 Select 6 : 15/32 */\r
1444 #define CEREF1_15              (0x0F00)       /* Comp. E Int. Ref.1 Select 7 : 16/32 */\r
1445 #define CEREF1_16              (0x1000)       /* Comp. E Int. Ref.1 Select 0 : 17/32 */\r
1446 #define CEREF1_17              (0x1100)       /* Comp. E Int. Ref.1 Select 1 : 18/32 */\r
1447 #define CEREF1_18              (0x1200)       /* Comp. E Int. Ref.1 Select 2 : 19/32 */\r
1448 #define CEREF1_19              (0x1300)       /* Comp. E Int. Ref.1 Select 3 : 20/32 */\r
1449 #define CEREF1_20              (0x1400)       /* Comp. E Int. Ref.1 Select 4 : 21/32 */\r
1450 #define CEREF1_21              (0x1500)       /* Comp. E Int. Ref.1 Select 5 : 22/32 */\r
1451 #define CEREF1_22              (0x1600)       /* Comp. E Int. Ref.1 Select 6 : 23/32 */\r
1452 #define CEREF1_23              (0x1700)       /* Comp. E Int. Ref.1 Select 7 : 24/32 */\r
1453 #define CEREF1_24              (0x1800)       /* Comp. E Int. Ref.1 Select 0 : 25/32 */\r
1454 #define CEREF1_25              (0x1900)       /* Comp. E Int. Ref.1 Select 1 : 26/32 */\r
1455 #define CEREF1_26              (0x1A00)       /* Comp. E Int. Ref.1 Select 2 : 27/32 */\r
1456 #define CEREF1_27              (0x1B00)       /* Comp. E Int. Ref.1 Select 3 : 28/32 */\r
1457 #define CEREF1_28              (0x1C00)       /* Comp. E Int. Ref.1 Select 4 : 29/32 */\r
1458 #define CEREF1_29              (0x1D00)       /* Comp. E Int. Ref.1 Select 5 : 30/32 */\r
1459 #define CEREF1_30              (0x1E00)       /* Comp. E Int. Ref.1 Select 6 : 31/32 */\r
1460 #define CEREF1_31              (0x1F00)       /* Comp. E Int. Ref.1 Select 7 : 32/32 */\r
1461 \r
1462 #define CEREFL_0               (0x0000)       /* Comp. E Reference voltage level 0 : None */\r
1463 #define CEREFL_1               (0x2000)       /* Comp. E Reference voltage level 1 : 1.2V */\r
1464 #define CEREFL_2               (0x4000)       /* Comp. E Reference voltage level 2 : 2.0V  */\r
1465 #define CEREFL_3               (0x6000)       /* Comp. E Reference voltage level 3 : 2.5V  */\r
1466 \r
1467 #define CEPD0                  (0x0001)       /* Comp. E Disable Input Buffer of Port Register .0 */\r
1468 #define CEPD1                  (0x0002)       /* Comp. E Disable Input Buffer of Port Register .1 */\r
1469 #define CEPD2                  (0x0004)       /* Comp. E Disable Input Buffer of Port Register .2 */\r
1470 #define CEPD3                  (0x0008)       /* Comp. E Disable Input Buffer of Port Register .3 */\r
1471 #define CEPD4                  (0x0010)       /* Comp. E Disable Input Buffer of Port Register .4 */\r
1472 #define CEPD5                  (0x0020)       /* Comp. E Disable Input Buffer of Port Register .5 */\r
1473 #define CEPD6                  (0x0040)       /* Comp. E Disable Input Buffer of Port Register .6 */\r
1474 #define CEPD7                  (0x0080)       /* Comp. E Disable Input Buffer of Port Register .7 */\r
1475 #define CEPD8                  (0x0100)       /* Comp. E Disable Input Buffer of Port Register .8 */\r
1476 #define CEPD9                  (0x0200)       /* Comp. E Disable Input Buffer of Port Register .9 */\r
1477 #define CEPD10                 (0x0400)       /* Comp. E Disable Input Buffer of Port Register .10 */\r
1478 #define CEPD11                 (0x0800)       /* Comp. E Disable Input Buffer of Port Register .11 */\r
1479 #define CEPD12                 (0x1000)       /* Comp. E Disable Input Buffer of Port Register .12 */\r
1480 #define CEPD13                 (0x2000)       /* Comp. E Disable Input Buffer of Port Register .13 */\r
1481 #define CEPD14                 (0x4000)       /* Comp. E Disable Input Buffer of Port Register .14 */\r
1482 #define CEPD15                 (0x8000)       /* Comp. E Disable Input Buffer of Port Register .15 */\r
1483 \r
1484 #define CEPD0_L                (0x0001)       /* Comp. E Disable Input Buffer of Port Register .0 */\r
1485 #define CEPD1_L                (0x0002)       /* Comp. E Disable Input Buffer of Port Register .1 */\r
1486 #define CEPD2_L                (0x0004)       /* Comp. E Disable Input Buffer of Port Register .2 */\r
1487 #define CEPD3_L                (0x0008)       /* Comp. E Disable Input Buffer of Port Register .3 */\r
1488 #define CEPD4_L                (0x0010)       /* Comp. E Disable Input Buffer of Port Register .4 */\r
1489 #define CEPD5_L                (0x0020)       /* Comp. E Disable Input Buffer of Port Register .5 */\r
1490 #define CEPD6_L                (0x0040)       /* Comp. E Disable Input Buffer of Port Register .6 */\r
1491 #define CEPD7_L                (0x0080)       /* Comp. E Disable Input Buffer of Port Register .7 */\r
1492 \r
1493 #define CEPD8_H                (0x0001)       /* Comp. E Disable Input Buffer of Port Register .8 */\r
1494 #define CEPD9_H                (0x0002)       /* Comp. E Disable Input Buffer of Port Register .9 */\r
1495 #define CEPD10_H               (0x0004)       /* Comp. E Disable Input Buffer of Port Register .10 */\r
1496 #define CEPD11_H               (0x0008)       /* Comp. E Disable Input Buffer of Port Register .11 */\r
1497 #define CEPD12_H               (0x0010)       /* Comp. E Disable Input Buffer of Port Register .12 */\r
1498 #define CEPD13_H               (0x0020)       /* Comp. E Disable Input Buffer of Port Register .13 */\r
1499 #define CEPD14_H               (0x0040)       /* Comp. E Disable Input Buffer of Port Register .14 */\r
1500 #define CEPD15_H               (0x0080)       /* Comp. E Disable Input Buffer of Port Register .15 */\r
1501 \r
1502 /* CEINT Control Bits */\r
1503 #define CEIFG                  (0x0001)       /* Comp. E Interrupt Flag */\r
1504 #define CEIIFG                 (0x0002)       /* Comp. E Interrupt Flag Inverted Polarity */\r
1505 //#define RESERVED             (0x0004)  /* Comp. E */\r
1506 //#define RESERVED             (0x0008)  /* Comp. E */\r
1507 #define CERDYIFG               (0x0010)       /* Comp. E Comparator_E ready interrupt flag */\r
1508 //#define RESERVED             (0x0020)  /* Comp. E */\r
1509 //#define RESERVED             (0x0040)  /* Comp. E */\r
1510 //#define RESERVED             (0x0080)  /* Comp. E */\r
1511 #define CEIE                   (0x0100)       /* Comp. E Interrupt Enable */\r
1512 #define CEIIE                  (0x0200)       /* Comp. E Interrupt Enable Inverted Polarity */\r
1513 //#define RESERVED             (0x0400)  /* Comp. E */\r
1514 //#define RESERVED             (0x0800)  /* Comp. E */\r
1515 #define CERDYIE                (0x1000)       /* Comp. E Comparator_E ready interrupt enable */\r
1516 //#define RESERVED             (0x2000)  /* Comp. E */\r
1517 //#define RESERVED             (0x4000)  /* Comp. E */\r
1518 //#define RESERVED             (0x8000)  /* Comp. E */\r
1519 \r
1520 /* CEINT Control Bits */\r
1521 #define CEIFG_L                (0x0001)       /* Comp. E Interrupt Flag */\r
1522 #define CEIIFG_L               (0x0002)       /* Comp. E Interrupt Flag Inverted Polarity */\r
1523 //#define RESERVED             (0x0004)  /* Comp. E */\r
1524 //#define RESERVED             (0x0008)  /* Comp. E */\r
1525 #define CERDYIFG_L             (0x0010)       /* Comp. E Comparator_E ready interrupt flag */\r
1526 //#define RESERVED             (0x0020)  /* Comp. E */\r
1527 //#define RESERVED             (0x0040)  /* Comp. E */\r
1528 //#define RESERVED             (0x0080)  /* Comp. E */\r
1529 //#define RESERVED             (0x0400)  /* Comp. E */\r
1530 //#define RESERVED             (0x0800)  /* Comp. E */\r
1531 //#define RESERVED             (0x2000)  /* Comp. E */\r
1532 //#define RESERVED             (0x4000)  /* Comp. E */\r
1533 //#define RESERVED             (0x8000)  /* Comp. E */\r
1534 \r
1535 /* CEINT Control Bits */\r
1536 //#define RESERVED             (0x0004)  /* Comp. E */\r
1537 //#define RESERVED             (0x0008)  /* Comp. E */\r
1538 //#define RESERVED             (0x0020)  /* Comp. E */\r
1539 //#define RESERVED             (0x0040)  /* Comp. E */\r
1540 //#define RESERVED             (0x0080)  /* Comp. E */\r
1541 #define CEIE_H                 (0x0001)       /* Comp. E Interrupt Enable */\r
1542 #define CEIIE_H                (0x0002)       /* Comp. E Interrupt Enable Inverted Polarity */\r
1543 //#define RESERVED             (0x0400)  /* Comp. E */\r
1544 //#define RESERVED             (0x0800)  /* Comp. E */\r
1545 #define CERDYIE_H              (0x0010)       /* Comp. E Comparator_E ready interrupt enable */\r
1546 //#define RESERVED             (0x2000)  /* Comp. E */\r
1547 //#define RESERVED             (0x4000)  /* Comp. E */\r
1548 //#define RESERVED             (0x8000)  /* Comp. E */\r
1549 \r
1550 /* CEIV Definitions */\r
1551 #define CEIV_NONE              (0x0000)       /* No Interrupt pending */\r
1552 #define CEIV_CEIFG             (0x0002)       /* CEIFG */\r
1553 #define CEIV_CEIIFG            (0x0004)       /* CEIIFG */\r
1554 #define CEIV_CERDYIFG          (0x000A)       /* CERDYIFG */\r
1555 \r
1556 #endif\r
1557 /*************************************************************\r
1558 * CRC Module\r
1559 *************************************************************/\r
1560 #ifdef  __MSP430_HAS_CRC__            /* Definition to show that Module is available */\r
1561 \r
1562 #define OFS_CRCDI              (0x0000)       /* CRC Data In Register */\r
1563 #define OFS_CRCDI_L            OFS_CRCDI\r
1564 #define OFS_CRCDI_H            OFS_CRCDI+1\r
1565 #define OFS_CRCDIRB            (0x0002)       /* CRC data in reverse byte Register */\r
1566 #define OFS_CRCDIRB_L          OFS_CRCDIRB\r
1567 #define OFS_CRCDIRB_H          OFS_CRCDIRB+1\r
1568 #define OFS_CRCINIRES          (0x0004)       /* CRC Initialisation Register and Result Register */\r
1569 #define OFS_CRCINIRES_L        OFS_CRCINIRES\r
1570 #define OFS_CRCINIRES_H        OFS_CRCINIRES+1\r
1571 #define OFS_CRCRESR            (0x0006)       /* CRC reverse result Register */\r
1572 #define OFS_CRCRESR_L          OFS_CRCRESR\r
1573 #define OFS_CRCRESR_H          OFS_CRCRESR+1\r
1574 \r
1575 #endif\r
1576 /*************************************************************\r
1577 * CRC Module\r
1578 *************************************************************/\r
1579 #ifdef  __MSP430_HAS_CRC32__          /* Definition to show that Module is available */\r
1580 \r
1581 \r
1582 //#define    CRC32DIL0_O           (0x0000)  /* CRC32 Data In */\r
1583 #define OFS_CRC32DIW0          (0x0000)       /* CRC32 Data In */\r
1584 #define OFS_CRC32DIW0_L        OFS_CRC32DIW0\r
1585 #define OFS_CRC32DIW0_H        OFS_CRC32DIW0+1\r
1586 #define OFS_CRC32DIW1          (0x0002)       /* CRC32 Data In */\r
1587 #define OFS_CRC32DIW1_L        OFS_CRC32DIW1\r
1588 #define OFS_CRC32DIW1_H        OFS_CRC32DIW1+1\r
1589 #define CRC32DIB0              CRC32DIW0_L\r
1590 \r
1591 //#define    CRC32DIRBL0_O         (0x0004)  /* CRC32 Data In Reversed Bit */\r
1592 #define OFS_CRC32DIRBW1        (0x0004)       /* CRC32 Data In Reversed Bit */\r
1593 #define OFS_CRC32DIRBW1_L      OFS_CRC32DIRBW1\r
1594 #define OFS_CRC32DIRBW1_H      OFS_CRC32DIRBW1+1\r
1595 #define OFS_CRC32DIRBW0        (0x0006)       /* CRC32 Data In Reversed Bit */\r
1596 #define OFS_CRC32DIRBW0_L      OFS_CRC32DIRBW0\r
1597 #define OFS_CRC32DIRBW0_H      OFS_CRC32DIRBW0+1\r
1598 #define CRC32DIRBB0            CRC32DIRBW0_H\r
1599 \r
1600 //#define    CRC32INIRESL0_O       (0x0008)  /* CRC32 Initialization and Result */\r
1601 #define OFS_CRC32INIRESW0      (0x0008)       /* CRC32 Initialization and Result */\r
1602 #define OFS_CRC32INIRESW0_L    OFS_CRC32INIRESW0\r
1603 #define OFS_CRC32INIRESW0_H    OFS_CRC32INIRESW0+1\r
1604 #define OFS_CRC32INIRESW1      (0x000A)       /* CRC32 Initialization and Result */\r
1605 #define OFS_CRC32INIRESW1_L    OFS_CRC32INIRESW1\r
1606 #define OFS_CRC32INIRESW1_H    OFS_CRC32INIRESW1+1\r
1607 #define CRC32RESB0             CRC32INIRESW0_L\r
1608 #define CRC32RESB1             CRC32INIRESW0_H\r
1609 #define CRC32RESB2             CRC32INIRESW1_L\r
1610 #define CRC32RESB3             CRC32INIRESW1_H\r
1611 \r
1612 //#define    CRC32RESRL0_O         (0x000C)  /* CRC32 Result Reverse */\r
1613 #define OFS_CRC32RESRW1        (0x000C)       /* CRC32 Result Reverse */\r
1614 #define OFS_CRC32RESRW1_L      OFS_CRC32RESRW1\r
1615 #define OFS_CRC32RESRW1_H      OFS_CRC32RESRW1+1\r
1616 #define OFS_CRC32RESRW0        (0x000E)       /* CRC32 Result Reverse */\r
1617 #define OFS_CRC32RESRW0_L      OFS_CRC32RESRW0\r
1618 #define OFS_CRC32RESRW0_H      OFS_CRC32RESRW0+1\r
1619 #define CRC32RESRB3            CRC32RESRW1_L\r
1620 #define CRC32RESRB2            CRC32RESRW1_H\r
1621 #define CRC32RESRB1            CRC32RESRW0_L\r
1622 #define CRC32RESRB0            CRC32RESRW0_H\r
1623 \r
1624 //#define    CRC16DIL0_O           (0x0010)  /* CRC16 Data Input */\r
1625 #define OFS_CRC16DIW0          (0x0010)       /* CRC16 Data Input */\r
1626 #define OFS_CRC16DIW0_L        OFS_CRC16DIW0\r
1627 #define OFS_CRC16DIW0_H        OFS_CRC16DIW0+1\r
1628 #define OFS_CRC16DIW1          (0x0012)       /* CRC16 Data Input */\r
1629 #define OFS_CRC16DIW1_L        OFS_CRC16DIW1\r
1630 #define OFS_CRC16DIW1_H        OFS_CRC16DIW1+1\r
1631 #define CRC16DIB0              CRC16DIW0_L\r
1632 //#define    CRC16DIRBL0_O         (0x0014)  /* CRC16 Data In Reverse */\r
1633 #define OFS_CRC16DIRBW1        (0x0014)       /* CRC16 Data In Reverse */\r
1634 #define OFS_CRC16DIRBW1_L      OFS_CRC16DIRBW1\r
1635 #define OFS_CRC16DIRBW1_H      OFS_CRC16DIRBW1+1\r
1636 #define OFS_CRC16DIRBW0        (0x0016)       /* CRC16 Data In Reverse */\r
1637 #define OFS_CRC16DIRBW0_L      OFS_CRC16DIRBW0\r
1638 #define OFS_CRC16DIRBW0_H      OFS_CRC16DIRBW0+1\r
1639 #define CRC16DIRBB0            CRC16DIRBW0_L\r
1640 \r
1641 //#define    CRC16INIRESL0_O       (0x0018)  /* CRC16 Init and Result */\r
1642 #define OFS_CRC16INIRESW0      (0x0018)       /* CRC16 Init and Result */\r
1643 #define OFS_CRC16INIRESW0_L    OFS_CRC16INIRESW0\r
1644 #define OFS_CRC16INIRESW0_H    OFS_CRC16INIRESW0+1\r
1645 #define CRC16INIRESB1          CRC16INIRESW0_H\r
1646 #define CRC16INIRESB0          CRC16INIRESW0_L\r
1647 \r
1648 //#define    CRC16RESRL0_O         (0x001E)  /* CRC16 Result Reverse */\r
1649 #define OFS_CRC16RESRW0        (0x001E)       /* CRC16 Result Reverse */\r
1650 #define OFS_CRC16RESRW0_L      OFS_CRC16RESRW0\r
1651 #define OFS_CRC16RESRW0_H      OFS_CRC16RESRW0+1\r
1652 #define OFS_CRC16RESRW1        (0x001C)       /* CRC16 Result Reverse */\r
1653 #define OFS_CRC16RESRW1_L      OFS_CRC16RESRW1\r
1654 #define OFS_CRC16RESRW1_H      OFS_CRC16RESRW1+1\r
1655 #define CRC16RESRB1            CRC16RESRW0_L\r
1656 #define CRC16RESRB0            CRC16RESRW0_H\r
1657 \r
1658 #endif\r
1659 /************************************************************\r
1660 * CLOCK SYSTEM\r
1661 ************************************************************/\r
1662 #ifdef  __MSP430_HAS_CS__              /* Definition to show that Module is available */\r
1663 \r
1664 #define OFS_CSCTL0             (0x0000)       /* CS Control Register 0 */\r
1665 #define OFS_CSCTL0_L           OFS_CSCTL0\r
1666 #define OFS_CSCTL0_H           OFS_CSCTL0+1\r
1667 #define OFS_CSCTL1             (0x0002)       /* CS Control Register 1 */\r
1668 #define OFS_CSCTL1_L           OFS_CSCTL1\r
1669 #define OFS_CSCTL1_H           OFS_CSCTL1+1\r
1670 #define OFS_CSCTL2             (0x0004)       /* CS Control Register 2 */\r
1671 #define OFS_CSCTL2_L           OFS_CSCTL2\r
1672 #define OFS_CSCTL2_H           OFS_CSCTL2+1\r
1673 #define OFS_CSCTL3             (0x0006)       /* CS Control Register 3 */\r
1674 #define OFS_CSCTL3_L           OFS_CSCTL3\r
1675 #define OFS_CSCTL3_H           OFS_CSCTL3+1\r
1676 #define OFS_CSCTL4             (0x0008)       /* CS Control Register 4 */\r
1677 #define OFS_CSCTL4_L           OFS_CSCTL4\r
1678 #define OFS_CSCTL4_H           OFS_CSCTL4+1\r
1679 #define OFS_CSCTL5             (0x000A)       /* CS Control Register 5 */\r
1680 #define OFS_CSCTL5_L           OFS_CSCTL5\r
1681 #define OFS_CSCTL5_H           OFS_CSCTL5+1\r
1682 #define OFS_CSCTL6             (0x000C)       /* CS Control Register 6 */\r
1683 #define OFS_CSCTL6_L           OFS_CSCTL6\r
1684 #define OFS_CSCTL6_H           OFS_CSCTL6+1\r
1685 \r
1686 /* CSCTL0 Control Bits */\r
1687 \r
1688 #define CSKEY                  (0xA500)       /* CS Password */\r
1689 #define CSKEY_H                (0xA5)         /* CS Password for high byte access */\r
1690 \r
1691 /* CSCTL1 Control Bits */\r
1692 #define DCOFSEL0               (0x0002)       /* DCO frequency select Bit: 0 */\r
1693 #define DCOFSEL1               (0x0004)       /* DCO frequency select Bit: 1 */\r
1694 #define DCOFSEL2               (0x0008)       /* DCO frequency select Bit: 2 */\r
1695 #define DCORSEL                (0x0040)       /* DCO range select. */\r
1696 \r
1697 /* CSCTL1 Control Bits */\r
1698 #define DCOFSEL0_L             (0x0002)       /* DCO frequency select Bit: 0 */\r
1699 #define DCOFSEL1_L             (0x0004)       /* DCO frequency select Bit: 1 */\r
1700 #define DCOFSEL2_L             (0x0008)       /* DCO frequency select Bit: 2 */\r
1701 #define DCORSEL_L              (0x0040)       /* DCO range select. */\r
1702 \r
1703 #define DCOFSEL_0              (0x0000)       /* DCO frequency select: 0 */\r
1704 #define DCOFSEL_1              (0x0002)       /* DCO frequency select: 1 */\r
1705 #define DCOFSEL_2              (0x0004)       /* DCO frequency select: 2 */\r
1706 #define DCOFSEL_3              (0x0006)       /* DCO frequency select: 3 */\r
1707 #define DCOFSEL_4              (0x0008)       /* DCO frequency select: 4 */\r
1708 #define DCOFSEL_5              (0x000A)       /* DCO frequency select: 5 */\r
1709 #define DCOFSEL_6              (0x000C)       /* DCO frequency select: 6 */\r
1710 #define DCOFSEL_7              (0x000E)       /* DCO frequency select: 7 */\r
1711 \r
1712 /* CSCTL2 Control Bits */\r
1713 #define SELM0                  (0x0001)       /* MCLK Source Select Bit: 0 */\r
1714 #define SELM1                  (0x0002)       /* MCLK Source Select Bit: 1 */\r
1715 #define SELM2                  (0x0004)       /* MCLK Source Select Bit: 2 */\r
1716 //#define RESERVED            (0x0004)    /* RESERVED */\r
1717 //#define RESERVED            (0x0008)    /* RESERVED */\r
1718 #define SELS0                  (0x0010)       /* SMCLK Source Select Bit: 0 */\r
1719 #define SELS1                  (0x0020)       /* SMCLK Source Select Bit: 1 */\r
1720 #define SELS2                  (0x0040)       /* SMCLK Source Select Bit: 2 */\r
1721 //#define RESERVED            (0x0040)    /* RESERVED */\r
1722 //#define RESERVED            (0x0080)    /* RESERVED */\r
1723 #define SELA0                  (0x0100)       /* ACLK Source Select Bit: 0 */\r
1724 #define SELA1                  (0x0200)       /* ACLK Source Select Bit: 1 */\r
1725 #define SELA2                  (0x0400)       /* ACLK Source Select Bit: 2 */\r
1726 //#define RESERVED            (0x0400)    /* RESERVED */\r
1727 //#define RESERVED            (0x0800)    /* RESERVED */\r
1728 //#define RESERVED            (0x1000)    /* RESERVED */\r
1729 //#define RESERVED            (0x2000)    /* RESERVED */\r
1730 //#define RESERVED            (0x4000)    /* RESERVED */\r
1731 //#define RESERVED            (0x8000)    /* RESERVED */\r
1732 \r
1733 /* CSCTL2 Control Bits */\r
1734 #define SELM0_L                (0x0001)       /* MCLK Source Select Bit: 0 */\r
1735 #define SELM1_L                (0x0002)       /* MCLK Source Select Bit: 1 */\r
1736 #define SELM2_L                (0x0004)       /* MCLK Source Select Bit: 2 */\r
1737 //#define RESERVED            (0x0004)    /* RESERVED */\r
1738 //#define RESERVED            (0x0008)    /* RESERVED */\r
1739 #define SELS0_L                (0x0010)       /* SMCLK Source Select Bit: 0 */\r
1740 #define SELS1_L                (0x0020)       /* SMCLK Source Select Bit: 1 */\r
1741 #define SELS2_L                (0x0040)       /* SMCLK Source Select Bit: 2 */\r
1742 //#define RESERVED            (0x0040)    /* RESERVED */\r
1743 //#define RESERVED            (0x0080)    /* RESERVED */\r
1744 //#define RESERVED            (0x0400)    /* RESERVED */\r
1745 //#define RESERVED            (0x0800)    /* RESERVED */\r
1746 //#define RESERVED            (0x1000)    /* RESERVED */\r
1747 //#define RESERVED            (0x2000)    /* RESERVED */\r
1748 //#define RESERVED            (0x4000)    /* RESERVED */\r
1749 //#define RESERVED            (0x8000)    /* RESERVED */\r
1750 \r
1751 /* CSCTL2 Control Bits */\r
1752 //#define RESERVED            (0x0004)    /* RESERVED */\r
1753 //#define RESERVED            (0x0008)    /* RESERVED */\r
1754 //#define RESERVED            (0x0040)    /* RESERVED */\r
1755 //#define RESERVED            (0x0080)    /* RESERVED */\r
1756 #define SELA0_H                (0x0001)       /* ACLK Source Select Bit: 0 */\r
1757 #define SELA1_H                (0x0002)       /* ACLK Source Select Bit: 1 */\r
1758 #define SELA2_H                (0x0004)       /* ACLK Source Select Bit: 2 */\r
1759 //#define RESERVED            (0x0400)    /* RESERVED */\r
1760 //#define RESERVED            (0x0800)    /* RESERVED */\r
1761 //#define RESERVED            (0x1000)    /* RESERVED */\r
1762 //#define RESERVED            (0x2000)    /* RESERVED */\r
1763 //#define RESERVED            (0x4000)    /* RESERVED */\r
1764 //#define RESERVED            (0x8000)    /* RESERVED */\r
1765 \r
1766 #define SELM_0                 (0x0000)       /* MCLK Source Select 0 */\r
1767 #define SELM_1                 (0x0001)       /* MCLK Source Select 1 */\r
1768 #define SELM_2                 (0x0002)       /* MCLK Source Select 2 */\r
1769 #define SELM_3                 (0x0003)       /* MCLK Source Select 3 */\r
1770 #define SELM_4                 (0x0004)       /* MCLK Source Select 4 */\r
1771 #define SELM_5                 (0x0005)       /* MCLK Source Select 5 */\r
1772 #define SELM_6                 (0x0006)       /* MCLK Source Select 6 */\r
1773 #define SELM_7                 (0x0007)       /* MCLK Source Select 7 */\r
1774 #define SELM__LFXTCLK          (0x0000)       /* MCLK Source Select LFXTCLK */\r
1775 #define SELM__VLOCLK           (0x0001)       /* MCLK Source Select VLOCLK */\r
1776 #define SELM__LFMODOSC         (0x0002)       /* MCLK Source Select LFMODOSC */\r
1777 #define SELM__DCOCLK           (0x0003)       /* MCLK Source Select DCOCLK */\r
1778 #define SELM__MODOSC           (0x0004)       /* MCLK Source Select MODOSC */\r
1779 #define SELM__HFXTCLK          (0x0005)       /* MCLK Source Select HFXTCLK */\r
1780 \r
1781 #define SELS_0                 (0x0000)       /* SMCLK Source Select 0 */\r
1782 #define SELS_1                 (0x0010)       /* SMCLK Source Select 1 */\r
1783 #define SELS_2                 (0x0020)       /* SMCLK Source Select 2 */\r
1784 #define SELS_3                 (0x0030)       /* SMCLK Source Select 3 */\r
1785 #define SELS_4                 (0x0040)       /* SMCLK Source Select 4 */\r
1786 #define SELS_5                 (0x0050)       /* SMCLK Source Select 5 */\r
1787 #define SELS_6                 (0x0060)       /* SMCLK Source Select 6 */\r
1788 #define SELS_7                 (0x0070)       /* SMCLK Source Select 7 */\r
1789 #define SELS__LFXTCLK          (0x0000)       /* SMCLK Source Select LFXTCLK */\r
1790 #define SELS__VLOCLK           (0x0010)       /* SMCLK Source Select VLOCLK */\r
1791 #define SELS__LFMODOSC         (0x0020)       /* SMCLK Source Select LFMODOSC */\r
1792 #define SELS__DCOCLK           (0x0030)       /* SMCLK Source Select DCOCLK */\r
1793 #define SELS__MODOSC           (0x0040)       /* SMCLK Source Select MODOSC */\r
1794 #define SELS__HFXTCLK          (0x0050)       /* SMCLK Source Select HFXTCLK */\r
1795 \r
1796 #define SELA_0                 (0x0000)       /* ACLK Source Select 0 */\r
1797 #define SELA_1                 (0x0100)       /* ACLK Source Select 1 */\r
1798 #define SELA_2                 (0x0200)       /* ACLK Source Select 2 */\r
1799 #define SELA_3                 (0x0300)       /* ACLK Source Select 3 */\r
1800 #define SELA_4                 (0x0400)       /* ACLK Source Select 4 */\r
1801 #define SELA_5                 (0x0500)       /* ACLK Source Select 5 */\r
1802 #define SELA_6                 (0x0600)       /* ACLK Source Select 6 */\r
1803 #define SELA_7                 (0x0700)       /* ACLK Source Select 7 */\r
1804 #define SELA__LFXTCLK          (0x0000)       /* ACLK Source Select LFXTCLK */\r
1805 #define SELA__VLOCLK           (0x0100)       /* ACLK Source Select VLOCLK */\r
1806 #define SELA__LFMODOSC         (0x0200)       /* ACLK Source Select LFMODOSC */\r
1807 \r
1808 /* CSCTL3 Control Bits */\r
1809 #define DIVM0                  (0x0001)       /* MCLK Divider Bit: 0 */\r
1810 #define DIVM1                  (0x0002)       /* MCLK Divider Bit: 1 */\r
1811 #define DIVM2                  (0x0004)       /* MCLK Divider Bit: 2 */\r
1812 //#define RESERVED            (0x0004)    /* RESERVED */\r
1813 //#define RESERVED            (0x0008)    /* RESERVED */\r
1814 #define DIVS0                  (0x0010)       /* SMCLK Divider Bit: 0 */\r
1815 #define DIVS1                  (0x0020)       /* SMCLK Divider Bit: 1 */\r
1816 #define DIVS2                  (0x0040)       /* SMCLK Divider Bit: 2 */\r
1817 //#define RESERVED            (0x0040)    /* RESERVED */\r
1818 //#define RESERVED            (0x0080)    /* RESERVED */\r
1819 #define DIVA0                  (0x0100)       /* ACLK Divider Bit: 0 */\r
1820 #define DIVA1                  (0x0200)       /* ACLK Divider Bit: 1 */\r
1821 #define DIVA2                  (0x0400)       /* ACLK Divider Bit: 2 */\r
1822 //#define RESERVED            (0x0400)    /* RESERVED */\r
1823 //#define RESERVED            (0x0800)    /* RESERVED */\r
1824 //#define RESERVED            (0x1000)    /* RESERVED */\r
1825 //#define RESERVED            (0x2000)    /* RESERVED */\r
1826 //#define RESERVED            (0x4000)    /* RESERVED */\r
1827 //#define RESERVED            (0x8000)    /* RESERVED */\r
1828 \r
1829 /* CSCTL3 Control Bits */\r
1830 #define DIVM0_L                (0x0001)       /* MCLK Divider Bit: 0 */\r
1831 #define DIVM1_L                (0x0002)       /* MCLK Divider Bit: 1 */\r
1832 #define DIVM2_L                (0x0004)       /* MCLK Divider Bit: 2 */\r
1833 //#define RESERVED            (0x0004)    /* RESERVED */\r
1834 //#define RESERVED            (0x0008)    /* RESERVED */\r
1835 #define DIVS0_L                (0x0010)       /* SMCLK Divider Bit: 0 */\r
1836 #define DIVS1_L                (0x0020)       /* SMCLK Divider Bit: 1 */\r
1837 #define DIVS2_L                (0x0040)       /* SMCLK Divider Bit: 2 */\r
1838 //#define RESERVED            (0x0040)    /* RESERVED */\r
1839 //#define RESERVED            (0x0080)    /* RESERVED */\r
1840 //#define RESERVED            (0x0400)    /* RESERVED */\r
1841 //#define RESERVED            (0x0800)    /* RESERVED */\r
1842 //#define RESERVED            (0x1000)    /* RESERVED */\r
1843 //#define RESERVED            (0x2000)    /* RESERVED */\r
1844 //#define RESERVED            (0x4000)    /* RESERVED */\r
1845 //#define RESERVED            (0x8000)    /* RESERVED */\r
1846 \r
1847 /* CSCTL3 Control Bits */\r
1848 //#define RESERVED            (0x0004)    /* RESERVED */\r
1849 //#define RESERVED            (0x0008)    /* RESERVED */\r
1850 //#define RESERVED            (0x0040)    /* RESERVED */\r
1851 //#define RESERVED            (0x0080)    /* RESERVED */\r
1852 #define DIVA0_H                (0x0001)       /* ACLK Divider Bit: 0 */\r
1853 #define DIVA1_H                (0x0002)       /* ACLK Divider Bit: 1 */\r
1854 #define DIVA2_H                (0x0004)       /* ACLK Divider Bit: 2 */\r
1855 //#define RESERVED            (0x0400)    /* RESERVED */\r
1856 //#define RESERVED            (0x0800)    /* RESERVED */\r
1857 //#define RESERVED            (0x1000)    /* RESERVED */\r
1858 //#define RESERVED            (0x2000)    /* RESERVED */\r
1859 //#define RESERVED            (0x4000)    /* RESERVED */\r
1860 //#define RESERVED            (0x8000)    /* RESERVED */\r
1861 \r
1862 #define DIVM_0                 (0x0000)       /* MCLK Source Divider 0 */\r
1863 #define DIVM_1                 (0x0001)       /* MCLK Source Divider 1 */\r
1864 #define DIVM_2                 (0x0002)       /* MCLK Source Divider 2 */\r
1865 #define DIVM_3                 (0x0003)       /* MCLK Source Divider 3 */\r
1866 #define DIVM_4                 (0x0004)       /* MCLK Source Divider 4 */\r
1867 #define DIVM_5                 (0x0005)       /* MCLK Source Divider 5 */\r
1868 #define DIVM__1                (0x0000)       /* MCLK Source Divider f(MCLK)/1 */\r
1869 #define DIVM__2                (0x0001)       /* MCLK Source Divider f(MCLK)/2 */\r
1870 #define DIVM__4                (0x0002)       /* MCLK Source Divider f(MCLK)/4 */\r
1871 #define DIVM__8                (0x0003)       /* MCLK Source Divider f(MCLK)/8 */\r
1872 #define DIVM__16               (0x0004)       /* MCLK Source Divider f(MCLK)/16 */\r
1873 #define DIVM__32               (0x0005)       /* MCLK Source Divider f(MCLK)/32 */\r
1874 \r
1875 #define DIVS_0                 (0x0000)       /* SMCLK Source Divider 0 */\r
1876 #define DIVS_1                 (0x0010)       /* SMCLK Source Divider 1 */\r
1877 #define DIVS_2                 (0x0020)       /* SMCLK Source Divider 2 */\r
1878 #define DIVS_3                 (0x0030)       /* SMCLK Source Divider 3 */\r
1879 #define DIVS_4                 (0x0040)       /* SMCLK Source Divider 4 */\r
1880 #define DIVS_5                 (0x0050)       /* SMCLK Source Divider 5 */\r
1881 #define DIVS__1                (0x0000)       /* SMCLK Source Divider f(SMCLK)/1 */\r
1882 #define DIVS__2                (0x0010)       /* SMCLK Source Divider f(SMCLK)/2 */\r
1883 #define DIVS__4                (0x0020)       /* SMCLK Source Divider f(SMCLK)/4 */\r
1884 #define DIVS__8                (0x0030)       /* SMCLK Source Divider f(SMCLK)/8 */\r
1885 #define DIVS__16               (0x0040)       /* SMCLK Source Divider f(SMCLK)/16 */\r
1886 #define DIVS__32               (0x0050)       /* SMCLK Source Divider f(SMCLK)/32 */\r
1887 \r
1888 #define DIVA_0                 (0x0000)       /* ACLK Source Divider 0 */\r
1889 #define DIVA_1                 (0x0100)       /* ACLK Source Divider 1 */\r
1890 #define DIVA_2                 (0x0200)       /* ACLK Source Divider 2 */\r
1891 #define DIVA_3                 (0x0300)       /* ACLK Source Divider 3 */\r
1892 #define DIVA_4                 (0x0400)       /* ACLK Source Divider 4 */\r
1893 #define DIVA_5                 (0x0500)       /* ACLK Source Divider 5 */\r
1894 #define DIVA__1                (0x0000)       /* ACLK Source Divider f(ACLK)/1 */\r
1895 #define DIVA__2                (0x0100)       /* ACLK Source Divider f(ACLK)/2 */\r
1896 #define DIVA__4                (0x0200)       /* ACLK Source Divider f(ACLK)/4 */\r
1897 #define DIVA__8                (0x0300)       /* ACLK Source Divider f(ACLK)/8 */\r
1898 #define DIVA__16               (0x0400)       /* ACLK Source Divider f(ACLK)/16 */\r
1899 #define DIVA__32               (0x0500)       /* ACLK Source Divider f(ACLK)/32 */\r
1900 \r
1901 /* CSCTL4 Control Bits */\r
1902 #define LFXTOFF                (0x0001)       /* High Frequency Oscillator 1 (XT1) disable */\r
1903 #define SMCLKOFF               (0x0002)       /* SMCLK Off */\r
1904 #define VLOOFF                 (0x0008)       /* VLO Off */\r
1905 #define LFXTBYPASS             (0x0010)       /* LFXT bypass mode : 0: internal 1:sourced from external pin */\r
1906 #define LFXTAGCOFF             (0x0020)       /* LFXT automatic gain control off */\r
1907 #define LFXTDRIVE0             (0x0040)       /* LFXT Drive Level mode Bit 0 */\r
1908 #define LFXTDRIVE1             (0x0080)       /* LFXT Drive Level mode Bit 1 */\r
1909 #define HFXTOFF                (0x0100)       /* High Frequency Oscillator disable */\r
1910 #define HFFREQ0                (0x0400)       /* HFXT frequency selection Bit 1 */\r
1911 #define HFFREQ1                (0x0800)       /* HFXT frequency selection Bit 0 */\r
1912 #define HFXTBYPASS             (0x1000)       /* HFXT bypass mode : 0: internal 1:sourced from external pin */\r
1913 #define HFXTDRIVE0             (0x4000)       /* HFXT Drive Level mode Bit 0 */\r
1914 #define HFXTDRIVE1             (0x8000)       /* HFXT Drive Level mode Bit 1 */\r
1915 \r
1916 /* CSCTL4 Control Bits */\r
1917 #define LFXTOFF_L              (0x0001)       /* High Frequency Oscillator 1 (XT1) disable */\r
1918 #define SMCLKOFF_L             (0x0002)       /* SMCLK Off */\r
1919 #define VLOOFF_L               (0x0008)       /* VLO Off */\r
1920 #define LFXTBYPASS_L           (0x0010)       /* LFXT bypass mode : 0: internal 1:sourced from external pin */\r
1921 #define LFXTAGCOFF_L           (0x0020)       /* LFXT automatic gain control off */\r
1922 #define LFXTDRIVE0_L           (0x0040)       /* LFXT Drive Level mode Bit 0 */\r
1923 #define LFXTDRIVE1_L           (0x0080)       /* LFXT Drive Level mode Bit 1 */\r
1924 \r
1925 /* CSCTL4 Control Bits */\r
1926 #define HFXTOFF_H              (0x0001)       /* High Frequency Oscillator disable */\r
1927 #define HFFREQ0_H              (0x0004)       /* HFXT frequency selection Bit 1 */\r
1928 #define HFFREQ1_H              (0x0008)       /* HFXT frequency selection Bit 0 */\r
1929 #define HFXTBYPASS_H           (0x0010)       /* HFXT bypass mode : 0: internal 1:sourced from external pin */\r
1930 #define HFXTDRIVE0_H           (0x0040)       /* HFXT Drive Level mode Bit 0 */\r
1931 #define HFXTDRIVE1_H           (0x0080)       /* HFXT Drive Level mode Bit 1 */\r
1932 \r
1933 #define LFXTDRIVE_0            (0x0000)       /* LFXT Drive Level mode: 0 */\r
1934 #define LFXTDRIVE_1            (0x0040)       /* LFXT Drive Level mode: 1 */\r
1935 #define LFXTDRIVE_2            (0x0080)       /* LFXT Drive Level mode: 2 */\r
1936 #define LFXTDRIVE_3            (0x00C0)       /* LFXT Drive Level mode: 3 */\r
1937 \r
1938 #define HFFREQ_0               (0x0000)       /* HFXT frequency selection: 0 */\r
1939 #define HFFREQ_1               (0x0400)       /* HFXT frequency selection: 1 */\r
1940 #define HFFREQ_2               (0x0800)       /* HFXT frequency selection: 2 */\r
1941 #define HFFREQ_3               (0x0C00)       /* HFXT frequency selection: 3 */\r
1942 \r
1943 #define HFXTDRIVE_0            (0x0000)       /* HFXT Drive Level mode: 0 */\r
1944 #define HFXTDRIVE_1            (0x4000)       /* HFXT Drive Level mode: 1 */\r
1945 #define HFXTDRIVE_2            (0x8000)       /* HFXT Drive Level mode: 2 */\r
1946 #define HFXTDRIVE_3            (0xC000)       /* HFXT Drive Level mode: 3 */\r
1947 \r
1948 /* CSCTL5 Control Bits */\r
1949 #define LFXTOFFG               (0x0001)       /* LFXT Low Frequency Oscillator Fault Flag */\r
1950 #define HFXTOFFG               (0x0002)       /* HFXT High Frequency Oscillator Fault Flag */\r
1951 #define ENSTFCNT1              (0x0040)       /* Enable start counter for XT1 */\r
1952 #define ENSTFCNT2              (0x0080)       /* Enable start counter for XT2 */\r
1953 \r
1954 /* CSCTL5 Control Bits */\r
1955 #define LFXTOFFG_L             (0x0001)       /* LFXT Low Frequency Oscillator Fault Flag */\r
1956 #define HFXTOFFG_L             (0x0002)       /* HFXT High Frequency Oscillator Fault Flag */\r
1957 #define ENSTFCNT1_L            (0x0040)       /* Enable start counter for XT1 */\r
1958 #define ENSTFCNT2_L            (0x0080)       /* Enable start counter for XT2 */\r
1959 \r
1960 /* CSCTL6 Control Bits */\r
1961 #define ACLKREQEN              (0x0001)       /* ACLK Clock Request Enable */\r
1962 #define MCLKREQEN              (0x0002)       /* MCLK Clock Request Enable */\r
1963 #define SMCLKREQEN             (0x0004)       /* SMCLK Clock Request Enable */\r
1964 #define MODCLKREQEN            (0x0008)       /* MODOSC Clock Request Enable */\r
1965 \r
1966 /* CSCTL6 Control Bits */\r
1967 #define ACLKREQEN_L            (0x0001)       /* ACLK Clock Request Enable */\r
1968 #define MCLKREQEN_L            (0x0002)       /* MCLK Clock Request Enable */\r
1969 #define SMCLKREQEN_L           (0x0004)       /* SMCLK Clock Request Enable */\r
1970 #define MODCLKREQEN_L          (0x0008)       /* MODOSC Clock Request Enable */\r
1971 \r
1972 #endif\r
1973 /************************************************************\r
1974 * DMA_X\r
1975 ************************************************************/\r
1976 #ifdef  __MSP430_HAS_DMAX_3__           /* Definition to show that Module is available */\r
1977 \r
1978 #define OFS_DMACTL0            (0x0000)       /* DMA Module Control 0 */\r
1979 #define OFS_DMACTL0_L          OFS_DMACTL0\r
1980 #define OFS_DMACTL0_H          OFS_DMACTL0+1\r
1981 #define OFS_DMACTL1            (0x0002)       /* DMA Module Control 1 */\r
1982 #define OFS_DMACTL1_L          OFS_DMACTL1\r
1983 #define OFS_DMACTL1_H          OFS_DMACTL1+1\r
1984 #define OFS_DMACTL2            (0x0004)       /* DMA Module Control 2 */\r
1985 #define OFS_DMACTL2_L          OFS_DMACTL2\r
1986 #define OFS_DMACTL2_H          OFS_DMACTL2+1\r
1987 #define OFS_DMACTL3            (0x0006)       /* DMA Module Control 3 */\r
1988 #define OFS_DMACTL3_L          OFS_DMACTL3\r
1989 #define OFS_DMACTL3_H          OFS_DMACTL3+1\r
1990 #define OFS_DMACTL4            (0x0008)       /* DMA Module Control 4 */\r
1991 #define OFS_DMACTL4_L          OFS_DMACTL4\r
1992 #define OFS_DMACTL4_H          OFS_DMACTL4+1\r
1993 #define OFS_DMAIV              (0x000E)       /* DMA Interrupt Vector Word */\r
1994 #define OFS_DMAIV_L            OFS_DMAIV\r
1995 #define OFS_DMAIV_H            OFS_DMAIV+1\r
1996 \r
1997 #define OFS_DMA0CTL            (0x0010)       /* DMA Channel 0 Control */\r
1998 #define OFS_DMA0CTL_L          OFS_DMA0CTL\r
1999 #define OFS_DMA0CTL_H          OFS_DMA0CTL+1\r
2000 #define OFS_DMA0SA             (0x0012)       /* DMA Channel 0 Source Address */\r
2001 #define OFS_DMA0DA             (0x0016)       /* DMA Channel 0 Destination Address */\r
2002 #define OFS_DMA0SZ             (0x001A)       /* DMA Channel 0 Transfer Size */\r
2003 \r
2004 #define OFS_DMA1CTL            (0x0020)       /* DMA Channel 1 Control */\r
2005 #define OFS_DMA1CTL_L          OFS_DMA1CTL\r
2006 #define OFS_DMA1CTL_H          OFS_DMA1CTL+1\r
2007 #define OFS_DMA1SA             (0x0022)       /* DMA Channel 1 Source Address */\r
2008 #define OFS_DMA1DA             (0x0026)       /* DMA Channel 1 Destination Address */\r
2009 #define OFS_DMA1SZ             (0x002A)       /* DMA Channel 1 Transfer Size */\r
2010 \r
2011 #define OFS_DMA2CTL            (0x0030)       /* DMA Channel 2 Control */\r
2012 #define OFS_DMA2CTL_L          OFS_DMA2CTL\r
2013 #define OFS_DMA2CTL_H          OFS_DMA2CTL+1\r
2014 #define OFS_DMA2SA             (0x0032)       /* DMA Channel 2 Source Address */\r
2015 #define OFS_DMA2DA             (0x0036)       /* DMA Channel 2 Destination Address */\r
2016 #define OFS_DMA2SZ             (0x003A)       /* DMA Channel 2 Transfer Size */\r
2017 \r
2018 /* DMACTL0 Control Bits */\r
2019 #define DMA0TSEL0              (0x0001)       /* DMA channel 0 transfer select bit 0 */\r
2020 #define DMA0TSEL1              (0x0002)       /* DMA channel 0 transfer select bit 1 */\r
2021 #define DMA0TSEL2              (0x0004)       /* DMA channel 0 transfer select bit 2 */\r
2022 #define DMA0TSEL3              (0x0008)       /* DMA channel 0 transfer select bit 3 */\r
2023 #define DMA0TSEL4              (0x0010)       /* DMA channel 0 transfer select bit 4 */\r
2024 #define DMA1TSEL0              (0x0100)       /* DMA channel 1 transfer select bit 0 */\r
2025 #define DMA1TSEL1              (0x0200)       /* DMA channel 1 transfer select bit 1 */\r
2026 #define DMA1TSEL2              (0x0400)       /* DMA channel 1 transfer select bit 2 */\r
2027 #define DMA1TSEL3              (0x0800)       /* DMA channel 1 transfer select bit 3 */\r
2028 #define DMA1TSEL4              (0x1000)       /* DMA channel 1 transfer select bit 4 */\r
2029 \r
2030 /* DMACTL0 Control Bits */\r
2031 #define DMA0TSEL0_L            (0x0001)       /* DMA channel 0 transfer select bit 0 */\r
2032 #define DMA0TSEL1_L            (0x0002)       /* DMA channel 0 transfer select bit 1 */\r
2033 #define DMA0TSEL2_L            (0x0004)       /* DMA channel 0 transfer select bit 2 */\r
2034 #define DMA0TSEL3_L            (0x0008)       /* DMA channel 0 transfer select bit 3 */\r
2035 #define DMA0TSEL4_L            (0x0010)       /* DMA channel 0 transfer select bit 4 */\r
2036 \r
2037 /* DMACTL0 Control Bits */\r
2038 #define DMA1TSEL0_H            (0x0001)       /* DMA channel 1 transfer select bit 0 */\r
2039 #define DMA1TSEL1_H            (0x0002)       /* DMA channel 1 transfer select bit 1 */\r
2040 #define DMA1TSEL2_H            (0x0004)       /* DMA channel 1 transfer select bit 2 */\r
2041 #define DMA1TSEL3_H            (0x0008)       /* DMA channel 1 transfer select bit 3 */\r
2042 #define DMA1TSEL4_H            (0x0010)       /* DMA channel 1 transfer select bit 4 */\r
2043 \r
2044 /* DMACTL01 Control Bits */\r
2045 #define DMA2TSEL0              (0x0001)       /* DMA channel 2 transfer select bit 0 */\r
2046 #define DMA2TSEL1              (0x0002)       /* DMA channel 2 transfer select bit 1 */\r
2047 #define DMA2TSEL2              (0x0004)       /* DMA channel 2 transfer select bit 2 */\r
2048 #define DMA2TSEL3              (0x0008)       /* DMA channel 2 transfer select bit 3 */\r
2049 #define DMA2TSEL4              (0x0010)       /* DMA channel 2 transfer select bit 4 */\r
2050 \r
2051 /* DMACTL01 Control Bits */\r
2052 #define DMA2TSEL0_L            (0x0001)       /* DMA channel 2 transfer select bit 0 */\r
2053 #define DMA2TSEL1_L            (0x0002)       /* DMA channel 2 transfer select bit 1 */\r
2054 #define DMA2TSEL2_L            (0x0004)       /* DMA channel 2 transfer select bit 2 */\r
2055 #define DMA2TSEL3_L            (0x0008)       /* DMA channel 2 transfer select bit 3 */\r
2056 #define DMA2TSEL4_L            (0x0010)       /* DMA channel 2 transfer select bit 4 */\r
2057 \r
2058 /* DMACTL4 Control Bits */\r
2059 #define ENNMI                  (0x0001)       /* Enable NMI interruption of DMA */\r
2060 #define ROUNDROBIN             (0x0002)       /* Round-Robin DMA channel priorities */\r
2061 #define DMARMWDIS              (0x0004)       /* Inhibited DMA transfers during read-modify-write CPU operations */\r
2062 \r
2063 /* DMACTL4 Control Bits */\r
2064 #define ENNMI_L                (0x0001)       /* Enable NMI interruption of DMA */\r
2065 #define ROUNDROBIN_L           (0x0002)       /* Round-Robin DMA channel priorities */\r
2066 #define DMARMWDIS_L            (0x0004)       /* Inhibited DMA transfers during read-modify-write CPU operations */\r
2067 \r
2068 /* DMAxCTL Control Bits */\r
2069 #define DMAREQ                 (0x0001)       /* Initiate DMA transfer with DMATSEL */\r
2070 #define DMAABORT               (0x0002)       /* DMA transfer aborted by NMI */\r
2071 #define DMAIE                  (0x0004)       /* DMA interrupt enable */\r
2072 #define DMAIFG                 (0x0008)       /* DMA interrupt flag */\r
2073 #define DMAEN                  (0x0010)       /* DMA enable */\r
2074 #define DMALEVEL               (0x0020)       /* DMA level sensitive trigger select */\r
2075 #define DMASRCBYTE             (0x0040)       /* DMA source byte */\r
2076 #define DMADSTBYTE             (0x0080)       /* DMA destination byte */\r
2077 #define DMASRCINCR0            (0x0100)       /* DMA source increment bit 0 */\r
2078 #define DMASRCINCR1            (0x0200)       /* DMA source increment bit 1 */\r
2079 #define DMADSTINCR0            (0x0400)       /* DMA destination increment bit 0 */\r
2080 #define DMADSTINCR1            (0x0800)       /* DMA destination increment bit 1 */\r
2081 #define DMADT0                 (0x1000)       /* DMA transfer mode bit 0 */\r
2082 #define DMADT1                 (0x2000)       /* DMA transfer mode bit 1 */\r
2083 #define DMADT2                 (0x4000)       /* DMA transfer mode bit 2 */\r
2084 \r
2085 /* DMAxCTL Control Bits */\r
2086 #define DMAREQ_L               (0x0001)       /* Initiate DMA transfer with DMATSEL */\r
2087 #define DMAABORT_L             (0x0002)       /* DMA transfer aborted by NMI */\r
2088 #define DMAIE_L                (0x0004)       /* DMA interrupt enable */\r
2089 #define DMAIFG_L               (0x0008)       /* DMA interrupt flag */\r
2090 #define DMAEN_L                (0x0010)       /* DMA enable */\r
2091 #define DMALEVEL_L             (0x0020)       /* DMA level sensitive trigger select */\r
2092 #define DMASRCBYTE_L           (0x0040)       /* DMA source byte */\r
2093 #define DMADSTBYTE_L           (0x0080)       /* DMA destination byte */\r
2094 \r
2095 /* DMAxCTL Control Bits */\r
2096 #define DMASRCINCR0_H          (0x0001)       /* DMA source increment bit 0 */\r
2097 #define DMASRCINCR1_H          (0x0002)       /* DMA source increment bit 1 */\r
2098 #define DMADSTINCR0_H          (0x0004)       /* DMA destination increment bit 0 */\r
2099 #define DMADSTINCR1_H          (0x0008)       /* DMA destination increment bit 1 */\r
2100 #define DMADT0_H               (0x0010)       /* DMA transfer mode bit 0 */\r
2101 #define DMADT1_H               (0x0020)       /* DMA transfer mode bit 1 */\r
2102 #define DMADT2_H               (0x0040)       /* DMA transfer mode bit 2 */\r
2103 \r
2104 #define DMASWDW                (0*0x0040u)    /* DMA transfer: source word to destination word */\r
2105 #define DMASBDW                (1*0x0040u)    /* DMA transfer: source byte to destination word */\r
2106 #define DMASWDB                (2*0x0040u)    /* DMA transfer: source word to destination byte */\r
2107 #define DMASBDB                (3*0x0040u)    /* DMA transfer: source byte to destination byte */\r
2108 \r
2109 #define DMASRCINCR_0           (0*0x0100u)    /* DMA source increment 0: source address unchanged */\r
2110 #define DMASRCINCR_1           (1*0x0100u)    /* DMA source increment 1: source address unchanged */\r
2111 #define DMASRCINCR_2           (2*0x0100u)    /* DMA source increment 2: source address decremented */\r
2112 #define DMASRCINCR_3           (3*0x0100u)    /* DMA source increment 3: source address incremented */\r
2113 \r
2114 #define DMADSTINCR_0           (0*0x0400u)    /* DMA destination increment 0: destination address unchanged */\r
2115 #define DMADSTINCR_1           (1*0x0400u)    /* DMA destination increment 1: destination address unchanged */\r
2116 #define DMADSTINCR_2           (2*0x0400u)    /* DMA destination increment 2: destination address decremented */\r
2117 #define DMADSTINCR_3           (3*0x0400u)    /* DMA destination increment 3: destination address incremented */\r
2118 \r
2119 #define DMADT_0                (0*0x1000u)    /* DMA transfer mode 0: Single transfer */\r
2120 #define DMADT_1                (1*0x1000u)    /* DMA transfer mode 1: Block transfer */\r
2121 #define DMADT_2                (2*0x1000u)    /* DMA transfer mode 2: Burst-Block transfer */\r
2122 #define DMADT_3                (3*0x1000u)    /* DMA transfer mode 3: Burst-Block transfer */\r
2123 #define DMADT_4                (4*0x1000u)    /* DMA transfer mode 4: Repeated Single transfer */\r
2124 #define DMADT_5                (5*0x1000u)    /* DMA transfer mode 5: Repeated Block transfer */\r
2125 #define DMADT_6                (6*0x1000u)    /* DMA transfer mode 6: Repeated Burst-Block transfer */\r
2126 #define DMADT_7                (7*0x1000u)    /* DMA transfer mode 7: Repeated Burst-Block transfer */\r
2127 \r
2128 /* DMAIV Definitions */\r
2129 #define DMAIV_NONE             (0x0000)       /* No Interrupt pending */\r
2130 #define DMAIV_DMA0IFG          (0x0002)       /* DMA0IFG*/\r
2131 #define DMAIV_DMA1IFG          (0x0004)       /* DMA1IFG*/\r
2132 #define DMAIV_DMA2IFG          (0x0006)       /* DMA2IFG*/\r
2133 \r
2134 #endif\r
2135 /************************************************************\r
2136 * EXTENDED SCAN INTERFACE\r
2137 ************************************************************/\r
2138 #ifdef  __MSP430_HAS_ESI__                /* Definition to show that Module is available */\r
2139 \r
2140 #define OFS_ESIDEBUG1          (0x0000)       /* ESI debug register 1 */\r
2141 #define OFS_ESIDEBUG1_L        OFS_ESIDEBUG1\r
2142 #define OFS_ESIDEBUG1_H        OFS_ESIDEBUG1+1\r
2143 #define OFS_ESIDEBUG2          (0x0002)       /* ESI debug register 2 */\r
2144 #define OFS_ESIDEBUG2_L        OFS_ESIDEBUG2\r
2145 #define OFS_ESIDEBUG2_H        OFS_ESIDEBUG2+1\r
2146 #define OFS_ESIDEBUG3          (0x0004)       /* ESI debug register 3 */\r
2147 #define OFS_ESIDEBUG3_L        OFS_ESIDEBUG3\r
2148 #define OFS_ESIDEBUG3_H        OFS_ESIDEBUG3+1\r
2149 #define OFS_ESIDEBUG4          (0x0006)       /* ESI debug register 4 */\r
2150 #define OFS_ESIDEBUG4_L        OFS_ESIDEBUG4\r
2151 #define OFS_ESIDEBUG4_H        OFS_ESIDEBUG4+1\r
2152 #define OFS_ESIDEBUG5          (0x0008)       /* ESI debug register 5 */\r
2153 #define OFS_ESIDEBUG5_L        OFS_ESIDEBUG5\r
2154 #define OFS_ESIDEBUG5_H        OFS_ESIDEBUG5+1\r
2155 #define OFS_ESICNT0            (0x0010)       /* ESI PSM counter 0 */\r
2156 #define OFS_ESICNT0_L          OFS_ESICNT0\r
2157 #define OFS_ESICNT0_H          OFS_ESICNT0+1\r
2158 #define OFS_ESICNT1            (0x0012)       /* ESI PSM counter 1 */\r
2159 #define OFS_ESICNT1_L          OFS_ESICNT1\r
2160 #define OFS_ESICNT1_H          OFS_ESICNT1+1\r
2161 #define OFS_ESICNT2            (0x0014)       /* ESI PSM counter 2 */\r
2162 #define OFS_ESICNT2_L          OFS_ESICNT2\r
2163 #define OFS_ESICNT2_H          OFS_ESICNT2+1\r
2164 #define OFS_ESICNT3            (0x0016)       /* ESI oscillator counter register */\r
2165 #define OFS_ESICNT3_L          OFS_ESICNT3\r
2166 #define OFS_ESICNT3_H          OFS_ESICNT3+1\r
2167 #define OFS_ESIIV              (0x001A)       /* ESI interrupt vector */\r
2168 #define OFS_ESIIV_L            OFS_ESIIV\r
2169 #define OFS_ESIIV_H            OFS_ESIIV+1\r
2170 #define OFS_ESIINT1            (0x001C)       /* ESI interrupt register 1 */\r
2171 #define OFS_ESIINT1_L          OFS_ESIINT1\r
2172 #define OFS_ESIINT1_H          OFS_ESIINT1+1\r
2173 #define OFS_ESIINT2            (0x001E)       /* ESI interrupt register 2 */\r
2174 #define OFS_ESIINT2_L          OFS_ESIINT2\r
2175 #define OFS_ESIINT2_H          OFS_ESIINT2+1\r
2176 #define OFS_ESIAFE             (0x0020)       /* ESI AFE control register */\r
2177 #define OFS_ESIAFE_L           OFS_ESIAFE\r
2178 #define OFS_ESIAFE_H           OFS_ESIAFE+1\r
2179 #define OFS_ESIPPU             (0x0022)       /* ESI PPU control register */\r
2180 #define OFS_ESIPPU_L           OFS_ESIPPU\r
2181 #define OFS_ESIPPU_H           OFS_ESIPPU+1\r
2182 #define OFS_ESITSM             (0x0024)       /* ESI TSM control register */\r
2183 #define OFS_ESITSM_L           OFS_ESITSM\r
2184 #define OFS_ESITSM_H           OFS_ESITSM+1\r
2185 #define OFS_ESIPSM             (0x0026)       /* ESI PSM control register */\r
2186 #define OFS_ESIPSM_L           OFS_ESIPSM\r
2187 #define OFS_ESIPSM_H           OFS_ESIPSM+1\r
2188 #define OFS_ESIOSC             (0x0028)       /* ESI oscillator control register*/\r
2189 #define OFS_ESIOSC_L           OFS_ESIOSC\r
2190 #define OFS_ESIOSC_H           OFS_ESIOSC+1\r
2191 #define OFS_ESICTL             (0x002A)       /* ESI control register */\r
2192 #define OFS_ESICTL_L           OFS_ESICTL\r
2193 #define OFS_ESICTL_H           OFS_ESICTL+1\r
2194 #define OFS_ESITHR1            (0x002C)       /* ESI PSM Counter Threshold 1 register */\r
2195 #define OFS_ESITHR1_L          OFS_ESITHR1\r
2196 #define OFS_ESITHR1_H          OFS_ESITHR1+1\r
2197 #define OFS_ESITHR2            (0x002E)       /* ESI PSM Counter Threshold 2 register */\r
2198 #define OFS_ESITHR2_L          OFS_ESITHR2\r
2199 #define OFS_ESITHR2_H          OFS_ESITHR2+1\r
2200 #define OFS_ESIDAC1R0          (0x0040)       /* ESI DAC1 register 0 */\r
2201 #define OFS_ESIDAC1R0_L        OFS_ESIDAC1R0\r
2202 #define OFS_ESIDAC1R0_H        OFS_ESIDAC1R0+1\r
2203 #define OFS_ESIDAC1R1          (0x0042)       /* ESI DAC1 register 1 */\r
2204 #define OFS_ESIDAC1R1_L        OFS_ESIDAC1R1\r
2205 #define OFS_ESIDAC1R1_H        OFS_ESIDAC1R1+1\r
2206 #define OFS_ESIDAC1R2          (0x0044)       /* ESI DAC1 register 2 */\r
2207 #define OFS_ESIDAC1R2_L        OFS_ESIDAC1R2\r
2208 #define OFS_ESIDAC1R2_H        OFS_ESIDAC1R2+1\r
2209 #define OFS_ESIDAC1R3          (0x0046)       /* ESI DAC1 register 3 */\r
2210 #define OFS_ESIDAC1R3_L        OFS_ESIDAC1R3\r
2211 #define OFS_ESIDAC1R3_H        OFS_ESIDAC1R3+1\r
2212 #define OFS_ESIDAC1R4          (0x0048)       /* ESI DAC1 register 4 */\r
2213 #define OFS_ESIDAC1R4_L        OFS_ESIDAC1R4\r
2214 #define OFS_ESIDAC1R4_H        OFS_ESIDAC1R4+1\r
2215 #define OFS_ESIDAC1R5          (0x004A)       /* ESI DAC1 register 5 */\r
2216 #define OFS_ESIDAC1R5_L        OFS_ESIDAC1R5\r
2217 #define OFS_ESIDAC1R5_H        OFS_ESIDAC1R5+1\r
2218 #define OFS_ESIDAC1R6          (0x004C)       /* ESI DAC1 register 6 */\r
2219 #define OFS_ESIDAC1R6_L        OFS_ESIDAC1R6\r
2220 #define OFS_ESIDAC1R6_H        OFS_ESIDAC1R6+1\r
2221 #define OFS_ESIDAC1R7          (0x004E)       /* ESI DAC1 register 7 */\r
2222 #define OFS_ESIDAC1R7_L        OFS_ESIDAC1R7\r
2223 #define OFS_ESIDAC1R7_H        OFS_ESIDAC1R7+1\r
2224 #define OFS_ESIDAC2R0          (0x0050)       /* ESI DAC2 register 0 */\r
2225 #define OFS_ESIDAC2R0_L        OFS_ESIDAC2R0\r
2226 #define OFS_ESIDAC2R0_H        OFS_ESIDAC2R0+1\r
2227 #define OFS_ESIDAC2R1          (0x0052)       /* ESI DAC2 register 1 */\r
2228 #define OFS_ESIDAC2R1_L        OFS_ESIDAC2R1\r
2229 #define OFS_ESIDAC2R1_H        OFS_ESIDAC2R1+1\r
2230 #define OFS_ESIDAC2R2          (0x0054)       /* ESI DAC2 register 2 */\r
2231 #define OFS_ESIDAC2R2_L        OFS_ESIDAC2R2\r
2232 #define OFS_ESIDAC2R2_H        OFS_ESIDAC2R2+1\r
2233 #define OFS_ESIDAC2R3          (0x0056)       /* ESI DAC2 register 3 */\r
2234 #define OFS_ESIDAC2R3_L        OFS_ESIDAC2R3\r
2235 #define OFS_ESIDAC2R3_H        OFS_ESIDAC2R3+1\r
2236 #define OFS_ESIDAC2R4          (0x0058)       /* ESI DAC2 register 4 */\r
2237 #define OFS_ESIDAC2R4_L        OFS_ESIDAC2R4\r
2238 #define OFS_ESIDAC2R4_H        OFS_ESIDAC2R4+1\r
2239 #define OFS_ESIDAC2R5          (0x005A)       /* ESI DAC2 register 5 */\r
2240 #define OFS_ESIDAC2R5_L        OFS_ESIDAC2R5\r
2241 #define OFS_ESIDAC2R5_H        OFS_ESIDAC2R5+1\r
2242 #define OFS_ESIDAC2R6          (0x005C)       /* ESI DAC2 register 6 */\r
2243 #define OFS_ESIDAC2R6_L        OFS_ESIDAC2R6\r
2244 #define OFS_ESIDAC2R6_H        OFS_ESIDAC2R6+1\r
2245 #define OFS_ESIDAC2R7          (0x005E)       /* ESI DAC2 register 7 */\r
2246 #define OFS_ESIDAC2R7_L        OFS_ESIDAC2R7\r
2247 #define OFS_ESIDAC2R7_H        OFS_ESIDAC2R7+1\r
2248 #define OFS_ESITSM0            (0x0060)       /* ESI TSM 0 */\r
2249 #define OFS_ESITSM0_L          OFS_ESITSM0\r
2250 #define OFS_ESITSM0_H          OFS_ESITSM0+1\r
2251 #define OFS_ESITSM1            (0x0062)       /* ESI TSM 1 */\r
2252 #define OFS_ESITSM1_L          OFS_ESITSM1\r
2253 #define OFS_ESITSM1_H          OFS_ESITSM1+1\r
2254 #define OFS_ESITSM2            (0x0064)       /* ESI TSM 2 */\r
2255 #define OFS_ESITSM2_L          OFS_ESITSM2\r
2256 #define OFS_ESITSM2_H          OFS_ESITSM2+1\r
2257 #define OFS_ESITSM3            (0x0066)       /* ESI TSM 3 */\r
2258 #define OFS_ESITSM3_L          OFS_ESITSM3\r
2259 #define OFS_ESITSM3_H          OFS_ESITSM3+1\r
2260 #define OFS_ESITSM4            (0x0068)       /* ESI TSM 4 */\r
2261 #define OFS_ESITSM4_L          OFS_ESITSM4\r
2262 #define OFS_ESITSM4_H          OFS_ESITSM4+1\r
2263 #define OFS_ESITSM5            (0x006A)       /* ESI TSM 5 */\r
2264 #define OFS_ESITSM5_L          OFS_ESITSM5\r
2265 #define OFS_ESITSM5_H          OFS_ESITSM5+1\r
2266 #define OFS_ESITSM6            (0x006C)       /* ESI TSM 6 */\r
2267 #define OFS_ESITSM6_L          OFS_ESITSM6\r
2268 #define OFS_ESITSM6_H          OFS_ESITSM6+1\r
2269 #define OFS_ESITSM7            (0x006E)       /* ESI TSM 7 */\r
2270 #define OFS_ESITSM7_L          OFS_ESITSM7\r
2271 #define OFS_ESITSM7_H          OFS_ESITSM7+1\r
2272 #define OFS_ESITSM8            (0x0070)       /* ESI TSM 8 */\r
2273 #define OFS_ESITSM8_L          OFS_ESITSM8\r
2274 #define OFS_ESITSM8_H          OFS_ESITSM8+1\r
2275 #define OFS_ESITSM9            (0x0072)       /* ESI TSM 9 */\r
2276 #define OFS_ESITSM9_L          OFS_ESITSM9\r
2277 #define OFS_ESITSM9_H          OFS_ESITSM9+1\r
2278 #define OFS_ESITSM10           (0x0074)       /* ESI TSM 10 */\r
2279 #define OFS_ESITSM10_L         OFS_ESITSM10\r
2280 #define OFS_ESITSM10_H         OFS_ESITSM10+1\r
2281 #define OFS_ESITSM11           (0x0076)       /* ESI TSM 11 */\r
2282 #define OFS_ESITSM11_L         OFS_ESITSM11\r
2283 #define OFS_ESITSM11_H         OFS_ESITSM11+1\r
2284 #define OFS_ESITSM12           (0x0078)       /* ESI TSM 12 */\r
2285 #define OFS_ESITSM12_L         OFS_ESITSM12\r
2286 #define OFS_ESITSM12_H         OFS_ESITSM12+1\r
2287 #define OFS_ESITSM13           (0x007A)       /* ESI TSM 13 */\r
2288 #define OFS_ESITSM13_L         OFS_ESITSM13\r
2289 #define OFS_ESITSM13_H         OFS_ESITSM13+1\r
2290 #define OFS_ESITSM14           (0x007C)       /* ESI TSM 14 */\r
2291 #define OFS_ESITSM14_L         OFS_ESITSM14\r
2292 #define OFS_ESITSM14_H         OFS_ESITSM14+1\r
2293 #define OFS_ESITSM15           (0x007E)       /* ESI TSM 15 */\r
2294 #define OFS_ESITSM15_L         OFS_ESITSM15\r
2295 #define OFS_ESITSM15_H         OFS_ESITSM15+1\r
2296 #define OFS_ESITSM16           (0x0080)       /* ESI TSM 16 */\r
2297 #define OFS_ESITSM16_L         OFS_ESITSM16\r
2298 #define OFS_ESITSM16_H         OFS_ESITSM16+1\r
2299 #define OFS_ESITSM17           (0x0082)       /* ESI TSM 17 */\r
2300 #define OFS_ESITSM17_L         OFS_ESITSM17\r
2301 #define OFS_ESITSM17_H         OFS_ESITSM17+1\r
2302 #define OFS_ESITSM18           (0x0084)       /* ESI TSM 18 */\r
2303 #define OFS_ESITSM18_L         OFS_ESITSM18\r
2304 #define OFS_ESITSM18_H         OFS_ESITSM18+1\r
2305 #define OFS_ESITSM19           (0x0086)       /* ESI TSM 19 */\r
2306 #define OFS_ESITSM19_L         OFS_ESITSM19\r
2307 #define OFS_ESITSM19_H         OFS_ESITSM19+1\r
2308 #define OFS_ESITSM20           (0x0088)       /* ESI TSM 20 */\r
2309 #define OFS_ESITSM20_L         OFS_ESITSM20\r
2310 #define OFS_ESITSM20_H         OFS_ESITSM20+1\r
2311 #define OFS_ESITSM21           (0x008A)       /* ESI TSM 21 */\r
2312 #define OFS_ESITSM21_L         OFS_ESITSM21\r
2313 #define OFS_ESITSM21_H         OFS_ESITSM21+1\r
2314 #define OFS_ESITSM22           (0x008C)       /* ESI TSM 22 */\r
2315 #define OFS_ESITSM22_L         OFS_ESITSM22\r
2316 #define OFS_ESITSM22_H         OFS_ESITSM22+1\r
2317 #define OFS_ESITSM23           (0x008E)       /* ESI TSM 23 */\r
2318 #define OFS_ESITSM23_L         OFS_ESITSM23\r
2319 #define OFS_ESITSM23_H         OFS_ESITSM23+1\r
2320 #define OFS_ESITSM24           (0x0090)       /* ESI TSM 24 */\r
2321 #define OFS_ESITSM24_L         OFS_ESITSM24\r
2322 #define OFS_ESITSM24_H         OFS_ESITSM24+1\r
2323 #define OFS_ESITSM25           (0x0092)       /* ESI TSM 25 */\r
2324 #define OFS_ESITSM25_L         OFS_ESITSM25\r
2325 #define OFS_ESITSM25_H         OFS_ESITSM25+1\r
2326 #define OFS_ESITSM26           (0x0094)       /* ESI TSM 26 */\r
2327 #define OFS_ESITSM26_L         OFS_ESITSM26\r
2328 #define OFS_ESITSM26_H         OFS_ESITSM26+1\r
2329 #define OFS_ESITSM27           (0x0096)       /* ESI TSM 27 */\r
2330 #define OFS_ESITSM27_L         OFS_ESITSM27\r
2331 #define OFS_ESITSM27_H         OFS_ESITSM27+1\r
2332 #define OFS_ESITSM28           (0x0098)       /* ESI TSM 28 */\r
2333 #define OFS_ESITSM28_L         OFS_ESITSM28\r
2334 #define OFS_ESITSM28_H         OFS_ESITSM28+1\r
2335 #define OFS_ESITSM29           (0x009A)       /* ESI TSM 29 */\r
2336 #define OFS_ESITSM29_L         OFS_ESITSM29\r
2337 #define OFS_ESITSM29_H         OFS_ESITSM29+1\r
2338 #define OFS_ESITSM30           (0x009C)       /* ESI TSM 30 */\r
2339 #define OFS_ESITSM30_L         OFS_ESITSM30\r
2340 #define OFS_ESITSM30_H         OFS_ESITSM30+1\r
2341 #define OFS_ESITSM31           (0x009E)       /* ESI TSM 31 */\r
2342 #define OFS_ESITSM31_L         OFS_ESITSM31\r
2343 #define OFS_ESITSM31_H         OFS_ESITSM31+1\r
2344 \r
2345 /* ESIIV Control Bits */\r
2346 \r
2347 #define ESIIV_NONE             (0x0000)       /* No ESI Interrupt Pending */\r
2348 #define ESIIV_ESIIFG1          (0x0002)       /* rising edge of the ESISTOP(tsm) */\r
2349 #define ESIIV_ESIIFG0          (0x0004)       /* ESIOUT0 to ESIOUT3 conditions selected by ESIIFGSETx bits */\r
2350 #define ESIIV_ESIIFG8          (0x0006)       /* ESIOUT4 to ESIOUT7 conditions selected by ESIIFGSET2x bits */\r
2351 #define ESIIV_ESIIFG3          (0x0008)       /* ESICNT1 counter conditions selected with the ESITHR1 and ESITHR2 registers */\r
2352 #define ESIIV_ESIIFG6          (0x000A)       /* PSM transitions to a state with a Q7 bit */\r
2353 #define ESIIV_ESIIFG5          (0x000C)       /* PSM transitions to a state with a Q6 bit */\r
2354 #define ESIIV_ESIIFG4          (0x000E)       /* ESICNT2 counter conditions selected with the ESIIS2x bits */\r
2355 #define ESIIV_ESIIFG7          (0x0010)       /* ESICNT0 counter conditions selected with the ESIIS0x bits */\r
2356 #define ESIIV_ESIIFG2          (0x0012)       /* start of a TSM sequence */\r
2357 \r
2358 /* ESIINT1 Control Bits */\r
2359 #define ESIIFGSET22            (0x8000)       /* ESIIFG8 interrupt flag source */\r
2360 #define ESIIFGSET21            (0x4000)       /* ESIIFG8 interrupt flag source */\r
2361 #define ESIIFGSET20            (0x2000)       /* ESIIFG8 interrupt flag source */\r
2362 #define ESIIFGSET12            (0x1000)       /* ESIIFG0 interrupt flag source */\r
2363 #define ESIIFGSET11            (0x0800)       /* ESIIFG0 interrupt flag source */\r
2364 #define ESIIFGSET10            (0x0400)       /* ESIIFG0 interrupt flag source */\r
2365 #define ESIIE8                 (0x0100)       /* Interrupt enable */\r
2366 #define ESIIE7                 (0x0080)       /* Interrupt enable */\r
2367 #define ESIIE6                 (0x0040)       /* Interrupt enable */\r
2368 #define ESIIE5                 (0x0020)       /* Interrupt enable */\r
2369 #define ESIIE4                 (0x0010)       /* Interrupt enable */\r
2370 #define ESIIE3                 (0x0008)       /* Interrupt enable */\r
2371 #define ESIIE2                 (0x0004)       /* Interrupt enable */\r
2372 #define ESIIE1                 (0x0002)       /* Interrupt enable */\r
2373 #define ESIIE0                 (0x0001)       /* Interrupt enable */\r
2374 \r
2375 /* ESIINT1 Control Bits */\r
2376 #define ESIIE7_L               (0x0080)       /* Interrupt enable */\r
2377 #define ESIIE6_L               (0x0040)       /* Interrupt enable */\r
2378 #define ESIIE5_L               (0x0020)       /* Interrupt enable */\r
2379 #define ESIIE4_L               (0x0010)       /* Interrupt enable */\r
2380 #define ESIIE3_L               (0x0008)       /* Interrupt enable */\r
2381 #define ESIIE2_L               (0x0004)       /* Interrupt enable */\r
2382 #define ESIIE1_L               (0x0002)       /* Interrupt enable */\r
2383 #define ESIIE0_L               (0x0001)       /* Interrupt enable */\r
2384 \r
2385 /* ESIINT1 Control Bits */\r
2386 #define ESIIFGSET22_H          (0x0080)       /* ESIIFG8 interrupt flag source */\r
2387 #define ESIIFGSET21_H          (0x0040)       /* ESIIFG8 interrupt flag source */\r
2388 #define ESIIFGSET20_H          (0x0020)       /* ESIIFG8 interrupt flag source */\r
2389 #define ESIIFGSET12_H          (0x0010)       /* ESIIFG0 interrupt flag source */\r
2390 #define ESIIFGSET11_H          (0x0008)       /* ESIIFG0 interrupt flag source */\r
2391 #define ESIIFGSET10_H          (0x0004)       /* ESIIFG0 interrupt flag source */\r
2392 #define ESIIE8_H               (0x0001)       /* Interrupt enable */\r
2393 \r
2394 #define ESIIFGSET2_0           (0x0000)       /* ESIIFG8 is set when ESIOUT4 is set */\r
2395 #define ESIIFGSET2_1           (0x2000)       /* ESIIFG8 is set when ESIOUT4 is reset */\r
2396 #define ESIIFGSET2_2           (0x4000)       /* ESIIFG8 is set when ESIOUT5 is set */\r
2397 #define ESIIFGSET2_3           (0x6000)       /* ESIIFG8 is set when ESIOUT5 is reset */\r
2398 #define ESIIFGSET2_4           (0x8000)       /* ESIIFG8 is set when ESIOUT6 is set */\r
2399 #define ESIIFGSET2_5           (0xA000)       /* ESIIFG8 is set when ESIOUT6 is reset */\r
2400 #define ESIIFGSET2_6           (0xC000)       /* ESIIFG8 is set when ESIOUT7 is set */\r
2401 #define ESIIFGSET2_7           (0xE000)       /* ESIIFG8 is set when ESIOUT7 is reset */\r
2402 #define ESIIFGSET1_0           (0x0000)       /* ESIIFG0 is set when ESIOUT0 is set */\r
2403 #define ESIIFGSET1_1           (0x0400)       /* ESIIFG0 is set when ESIOUT0 is reset */\r
2404 #define ESIIFGSET1_2           (0x0800)       /* ESIIFG0 is set when ESIOUT1 is set */\r
2405 #define ESIIFGSET1_3           (0x0C00)       /* ESIIFG0 is set when ESIOUT1 is reset */\r
2406 #define ESIIFGSET1_4           (0x1000)       /* ESIIFG0 is set when ESIOUT2 is set */\r
2407 #define ESIIFGSET1_5           (0x1400)       /* ESIIFG0 is set when ESIOUT2 is reset */\r
2408 #define ESIIFGSET1_6           (0x1800)       /* ESIIFG0 is set when ESIOUT3 is set */\r
2409 #define ESIIFGSET1_7           (0x1C00)       /* ESIIFG0 is set when ESIOUT3 is reset */\r
2410 \r
2411 /* ESIINT2 Control Bits */\r
2412 #define ESIIS21                (0x4000)       /* SIFIFG4 interrupt flag source */\r
2413 #define ESIIS20                (0x2000)       /* SIFIFG4 interrupt flag source */\r
2414 #define ESIIS01                (0x0800)       /* SIFIFG7 interrupt flag source */\r
2415 #define ESIIS00                (0x0400)       /* SIFIFG7 interrupt flag source */\r
2416 #define ESIIFG8                (0x0100)       /* ESIIFG8 interrupt pending */\r
2417 #define ESIIFG7                (0x0080)       /* ESIIFG7 interrupt pending */\r
2418 #define ESIIFG6                (0x0040)       /* ESIIFG6 interrupt pending */\r
2419 #define ESIIFG5                (0x0020)       /* ESIIFG5 interrupt pending */\r
2420 #define ESIIFG4                (0x0010)       /* ESIIFG4 interrupt pending */\r
2421 #define ESIIFG3                (0x0008)       /* ESIIFG3 interrupt pending */\r
2422 #define ESIIFG2                (0x0004)       /* ESIIFG2 interrupt pending */\r
2423 #define ESIIFG1                (0x0002)       /* ESIIFG1 interrupt pending */\r
2424 #define ESIIFG0                (0x0001)       /* ESIIFG0 interrupt pending */\r
2425 \r
2426 /* ESIINT2 Control Bits */\r
2427 #define ESIIFG7_L              (0x0080)       /* ESIIFG7 interrupt pending */\r
2428 #define ESIIFG6_L              (0x0040)       /* ESIIFG6 interrupt pending */\r
2429 #define ESIIFG5_L              (0x0020)       /* ESIIFG5 interrupt pending */\r
2430 #define ESIIFG4_L              (0x0010)       /* ESIIFG4 interrupt pending */\r
2431 #define ESIIFG3_L              (0x0008)       /* ESIIFG3 interrupt pending */\r
2432 #define ESIIFG2_L              (0x0004)       /* ESIIFG2 interrupt pending */\r
2433 #define ESIIFG1_L              (0x0002)       /* ESIIFG1 interrupt pending */\r
2434 #define ESIIFG0_L              (0x0001)       /* ESIIFG0 interrupt pending */\r
2435 \r
2436 /* ESIINT2 Control Bits */\r
2437 #define ESIIS21_H              (0x0040)       /* SIFIFG4 interrupt flag source */\r
2438 #define ESIIS20_H              (0x0020)       /* SIFIFG4 interrupt flag source */\r
2439 #define ESIIS01_H              (0x0008)       /* SIFIFG7 interrupt flag source */\r
2440 #define ESIIS00_H              (0x0004)       /* SIFIFG7 interrupt flag source */\r
2441 #define ESIIFG8_H              (0x0001)       /* ESIIFG8 interrupt pending */\r
2442 \r
2443 #define ESIIS2_0               (0x0000)       /* SIFIFG4 interrupt flag source: SIFCNT2 */\r
2444 #define ESIIS2_1               (0x2000)       /* SIFIFG4 interrupt flag source: SIFCNT2 MOD 4 */\r
2445 #define ESIIS2_2               (0x4000)       /* SIFIFG4 interrupt flag source: SIFCNT2 MOD 256 */\r
2446 #define ESIIS2_3               (0x6000)       /* SIFIFG4 interrupt flag source: SIFCNT2 decrements from 01h to 00h */\r
2447 #define ESIIS0_0               (0x0000)       /* SIFIFG7 interrupt flag source: SIFCNT0 */\r
2448 #define ESIIS0_1               (0x0400)       /* SIFIFG7 interrupt flag source: SIFCNT0 MOD 4 */\r
2449 #define ESIIS0_2               (0x0800)       /* SIFIFG7 interrupt flag source: SIFCNT0 MOD 256 */\r
2450 #define ESIIS0_3               (0x0C00)       /* SIFIFG7 interrupt flag source: SIFCNT0 increments from FFFFh to 00h */\r
2451 \r
2452 /* ESIAFE Control Bits */\r
2453 #define ESIDAC2EN              (0x0800)       /* Enable ESIDAC(tsm) control for DAC in AFE2 */\r
2454 #define ESICA2EN               (0x0400)       /* Enable ESICA(tsm) control for comparator in AFE2 */\r
2455 #define ESICA2INV              (0x0200)       /* Invert AFE2's comparator output */\r
2456 #define ESICA1INV              (0x0100)       /* Invert AFE1's comparator output */\r
2457 #define ESICA2X                (0x0080)       /* AFE2's comparator input select */\r
2458 #define ESICA1X                (0x0040)       /* AFE1's comparator input select */\r
2459 #define ESICISEL               (0x0020)       /* Comparator input select for AFE1 only */\r
2460 #define ESICACI3               (0x0010)       /* Comparator input select for AFE1 only */\r
2461 #define ESIVSS                 (0x0008)       /* Sample-and-hold ESIVSS select */\r
2462 #define ESIVCC2                (0x0004)       /* Mid-voltage generator */\r
2463 #define ESISH                  (0x0002)       /* Sample-and-hold enable */\r
2464 #define ESITEN                 (0x0001)       /* Excitation enable */\r
2465 \r
2466 /* ESIAFE Control Bits */\r
2467 #define ESICA2X_L              (0x0080)       /* AFE2's comparator input select */\r
2468 #define ESICA1X_L              (0x0040)       /* AFE1's comparator input select */\r
2469 #define ESICISEL_L             (0x0020)       /* Comparator input select for AFE1 only */\r
2470 #define ESICACI3_L             (0x0010)       /* Comparator input select for AFE1 only */\r
2471 #define ESIVSS_L               (0x0008)       /* Sample-and-hold ESIVSS select */\r
2472 #define ESIVCC2_L              (0x0004)       /* Mid-voltage generator */\r
2473 #define ESISH_L                (0x0002)       /* Sample-and-hold enable */\r
2474 #define ESITEN_L               (0x0001)       /* Excitation enable */\r
2475 \r
2476 /* ESIAFE Control Bits */\r
2477 #define ESIDAC2EN_H            (0x0008)       /* Enable ESIDAC(tsm) control for DAC in AFE2 */\r
2478 #define ESICA2EN_H             (0x0004)       /* Enable ESICA(tsm) control for comparator in AFE2 */\r
2479 #define ESICA2INV_H            (0x0002)       /* Invert AFE2's comparator output */\r
2480 #define ESICA1INV_H            (0x0001)       /* Invert AFE1's comparator output */\r
2481 \r
2482 /* ESIPPU Control Bits */\r
2483 #define ESITCHOUT1             (0x0200)       /* Latched AFE1 comparator output for test channel 1 */\r
2484 #define ESITCHOUT0             (0x0100)       /* Lachted AFE1 comparator output for test channel 0 */\r
2485 #define ESIOUT7                (0x0080)       /* Latched AFE2 comparator output when ESICH3 input is selected */\r
2486 #define ESIOUT6                (0x0040)       /* Latched AFE2 comparator output when ESICH2 input is selected */\r
2487 #define ESIOUT5                (0x0020)       /* Latched AFE2 comparator output when ESICH1 input is selected */\r
2488 #define ESIOUT4                (0x0010)       /* Latched AFE2 comparator output when ESICH0 input is selected */\r
2489 #define ESIOUT3                (0x0008)       /* Latched AFE1 comparator output when ESICH3 input is selected */\r
2490 #define ESIOUT2                (0x0004)       /* Latched AFE1 comparator output when ESICH2 input is selected */\r
2491 #define ESIOUT1                (0x0002)       /* Latched AFE1 comparator output when ESICH1 input is selected */\r
2492 #define ESIOUT0                (0x0001)       /* Latched AFE1 comparator output when ESICH0 input is selected */\r
2493 \r
2494 /* ESIPPU Control Bits */\r
2495 #define ESIOUT7_L              (0x0080)       /* Latched AFE2 comparator output when ESICH3 input is selected */\r
2496 #define ESIOUT6_L              (0x0040)       /* Latched AFE2 comparator output when ESICH2 input is selected */\r
2497 #define ESIOUT5_L              (0x0020)       /* Latched AFE2 comparator output when ESICH1 input is selected */\r
2498 #define ESIOUT4_L              (0x0010)       /* Latched AFE2 comparator output when ESICH0 input is selected */\r
2499 #define ESIOUT3_L              (0x0008)       /* Latched AFE1 comparator output when ESICH3 input is selected */\r
2500 #define ESIOUT2_L              (0x0004)       /* Latched AFE1 comparator output when ESICH2 input is selected */\r
2501 #define ESIOUT1_L              (0x0002)       /* Latched AFE1 comparator output when ESICH1 input is selected */\r
2502 #define ESIOUT0_L              (0x0001)       /* Latched AFE1 comparator output when ESICH0 input is selected */\r
2503 \r
2504 /* ESIPPU Control Bits */\r
2505 #define ESITCHOUT1_H           (0x0002)       /* Latched AFE1 comparator output for test channel 1 */\r
2506 #define ESITCHOUT0_H           (0x0001)       /* Lachted AFE1 comparator output for test channel 0 */\r
2507 \r
2508 /* ESITSM Control Bits */\r
2509 #define ESICLKAZSEL            (0x4000)       /* Functionality selection of ESITSMx bit5 */\r
2510 #define ESITSMTRG1             (0x2000)       /* TSM start trigger selection */\r
2511 #define ESITSMTRG0             (0x1000)       /* TSM start trigger selection */\r
2512 #define ESISTART               (0x0800)       /* TSM software start trigger */\r
2513 #define ESITSMRP               (0x0400)       /* TSM repeat modee */\r
2514 #define ESIDIV3B2              (0x0200)       /* TSM start trigger ACLK divider */\r
2515 #define ESIDIV3B1              (0x0100)       /* TSM start trigger ACLK divider */\r
2516 #define ESIDIV3B0              (0x0080)       /* TSM start trigger ACLK divider */\r
2517 #define ESIDIV3A2              (0x0040)       /* TSM start trigger ACLK divider */\r
2518 #define ESIDIV3A1              (0x0020)       /* TSM start trigger ACLK divider */\r
2519 #define ESIDIV3A0              (0x0010)       /* TSM start trigger ACLK divider */\r
2520 #define ESIDIV21               (0x0008)       /* ACLK divider */\r
2521 #define ESIDIV20               (0x0004)       /* ACLK divider */\r
2522 #define ESIDIV11               (0x0002)       /* TSM SMCLK divider */\r
2523 #define ESIDIV10               (0x0001)       /* TSM SMCLK divider */\r
2524 \r
2525 /* ESITSM Control Bits */\r
2526 #define ESIDIV3B0_L            (0x0080)       /* TSM start trigger ACLK divider */\r
2527 #define ESIDIV3A2_L            (0x0040)       /* TSM start trigger ACLK divider */\r
2528 #define ESIDIV3A1_L            (0x0020)       /* TSM start trigger ACLK divider */\r
2529 #define ESIDIV3A0_L            (0x0010)       /* TSM start trigger ACLK divider */\r
2530 #define ESIDIV21_L             (0x0008)       /* ACLK divider */\r
2531 #define ESIDIV20_L             (0x0004)       /* ACLK divider */\r
2532 #define ESIDIV11_L             (0x0002)       /* TSM SMCLK divider */\r
2533 #define ESIDIV10_L             (0x0001)       /* TSM SMCLK divider */\r
2534 \r
2535 /* ESITSM Control Bits */\r
2536 #define ESICLKAZSEL_H          (0x0040)       /* Functionality selection of ESITSMx bit5 */\r
2537 #define ESITSMTRG1_H           (0x0020)       /* TSM start trigger selection */\r
2538 #define ESITSMTRG0_H           (0x0010)       /* TSM start trigger selection */\r
2539 #define ESISTART_H             (0x0008)       /* TSM software start trigger */\r
2540 #define ESITSMRP_H             (0x0004)       /* TSM repeat modee */\r
2541 #define ESIDIV3B2_H            (0x0002)       /* TSM start trigger ACLK divider */\r
2542 #define ESIDIV3B1_H            (0x0001)       /* TSM start trigger ACLK divider */\r
2543 \r
2544 #define ESITSMTRG_0            (0x0000)       /* Halt mode */\r
2545 #define ESITSMTRG_1            (0x1000)       /* TSM start trigger ACLK divider */\r
2546 #define ESITSMTRG_2            (0x2000)       /* Software trigger for TSM */\r
2547 #define ESITSMTRG_3            (0x3000)       /* Either the ACLK divider or the ESISTART biT */\r
2548 #define ESIDIV3B_0             (0x0000)       /* TSM start trigger ACLK divider */\r
2549 #define ESIDIV3B_1             (0x0080)       /* TSM start trigger ACLK divider */\r
2550 #define ESIDIV3B_2             (0x0100)       /* TSM start trigger ACLK divider */\r
2551 #define ESIDIV3B_3             (0x0180)       /* TSM start trigger ACLK divider */\r
2552 #define ESIDIV3B_4             (0x0200)       /* TSM start trigger ACLK divider */\r
2553 #define ESIDIV3B_5             (0x0280)       /* TSM start trigger ACLK divider */\r
2554 #define ESIDIV3B_6             (0x0300)       /* TSM start trigger ACLK divider */\r
2555 #define ESIDIV3B_7             (0x0380)       /* TSM start trigger ACLK divider */\r
2556 #define ESIDIV3A_0             (0x0000)       /* TSM start trigger ACLK divider */\r
2557 #define ESIDIV3A_1             (0x0010)       /* TSM start trigger ACLK divider */\r
2558 #define ESIDIV3A_2             (0x0020)       /* TSM start trigger ACLK divider */\r
2559 #define ESIDIV3A_3             (0x0030)       /* TSM start trigger ACLK divider */\r
2560 #define ESIDIV3A_4             (0x0040)       /* TSM start trigger ACLK divider */\r
2561 #define ESIDIV3A_5             (0x0050)       /* TSM start trigger ACLK divider */\r
2562 #define ESIDIV3A_6             (0x0060)       /* TSM start trigger ACLK divider */\r
2563 #define ESIDIV3A_7             (0x0070)       /* TSM start trigger ACLK divider */\r
2564 #define ESIDIV2_0              (0x0000)       /* ACLK divider mode: 0 */\r
2565 #define ESIDIV2_1              (0x0004)       /* ACLK divider mode: 1 */\r
2566 #define ESIDIV2_2              (0x0008)       /* ACLK divider mode: 2 */\r
2567 #define ESIDIV2_3              (0x000C)       /* ACLK divider mode: 3 */\r
2568 #define ESIDIV2__1             (0x0000)       /* ACLK divider = /1 */\r
2569 #define ESIDIV2__2             (0x0004)       /* ACLK divider = /2 */\r
2570 #define ESIDIV2__4             (0x0008)       /* ACLK divider = /4 */\r
2571 #define ESIDIV2__8             (0x000C)       /* ACLK divider = /8 */\r
2572 #define ESIDIV1_0              (0x0000)       /* TSM SMCLK/ESIOSC divider mode: 0 */\r
2573 #define ESIDIV1_1              (0x0001)       /* TSM SMCLK/ESIOSC divider mode: 1 */\r
2574 #define ESIDIV1_2              (0x0002)       /* TSM SMCLK/ESIOSC divider mode: 2 */\r
2575 #define ESIDIV1_3              (0x0003)       /* TSM SMCLK/ESIOSC divider mode: 3 */\r
2576 #define ESIDIV1__1             (0x0000)       /* TSM SMCLK/ESIOSC divider = /1 */\r
2577 #define ESIDIV1__2             (0x0001)       /* TSM SMCLK/ESIOSC divider = /2 */\r
2578 #define ESIDIV1__4             (0x0002)       /* TSM SMCLK/ESIOSC divider = /4 */\r
2579 #define ESIDIV1__8             (0x0003)       /* TSM SMCLK/ESIOSC divider = /8 */\r
2580 \r
2581 /* ESIPSM Control Bits */\r
2582 #define ESICNT2RST             (0x8000)       /* ESI Counter 2 reset */\r
2583 #define ESICNT1RST             (0x4000)       /* ESI Counter 1 reset */\r
2584 #define ESICNT0RST             (0x2000)       /* ESI Counter 0 reset */\r
2585 #define ESITEST4SEL1           (0x0200)       /* Output signal selection for SIFTEST4 pin */\r
2586 #define ESITEST4SEL0           (0x0100)       /* Output signal selection for SIFTEST4 pin */\r
2587 #define ESIV2SEL               (0x0080)       /* Source Selection for V2 bit*/\r
2588 #define ESICNT2EN              (0x0020)       /* ESICNT2 enable (down counter) */\r
2589 #define ESICNT1EN              (0x0010)       /* ESICNT1 enable (up/down counter) */\r
2590 #define ESICNT0EN              (0x0008)       /* ESICNT0 enable (up counter) */\r
2591 #define ESIQ7TRG               (0x0004)       /* Enabling to use Q7 as trigger for a TSM sequence */\r
2592 #define ESIQ6EN                (0x0001)       /* Q6 enable */\r
2593 \r
2594 /* ESIPSM Control Bits */\r
2595 #define ESIV2SEL_L             (0x0080)       /* Source Selection for V2 bit*/\r
2596 #define ESICNT2EN_L            (0x0020)       /* ESICNT2 enable (down counter) */\r
2597 #define ESICNT1EN_L            (0x0010)       /* ESICNT1 enable (up/down counter) */\r
2598 #define ESICNT0EN_L            (0x0008)       /* ESICNT0 enable (up counter) */\r
2599 #define ESIQ7TRG_L             (0x0004)       /* Enabling to use Q7 as trigger for a TSM sequence */\r
2600 #define ESIQ6EN_L              (0x0001)       /* Q6 enable */\r
2601 \r
2602 /* ESIPSM Control Bits */\r
2603 #define ESICNT2RST_H           (0x0080)       /* ESI Counter 2 reset */\r
2604 #define ESICNT1RST_H           (0x0040)       /* ESI Counter 1 reset */\r
2605 #define ESICNT0RST_H           (0x0020)       /* ESI Counter 0 reset */\r
2606 #define ESITEST4SEL1_H         (0x0002)       /* Output signal selection for SIFTEST4 pin */\r
2607 #define ESITEST4SEL0_H         (0x0001)       /* Output signal selection for SIFTEST4 pin */\r
2608 \r
2609 #define ESITEST4SEL_0          (0x0000)       /* Q1 signal from PSM table */\r
2610 #define ESITEST4SEL_1          (0x0100)       /* Q2 signal from PSM table */\r
2611 #define ESITEST4SEL_2          (0x0200)       /* TSM clock signal from Timing State Machine */\r
2612 #define ESITEST4SEL_3          (0x0300)       /* AFE1's comparator output signal Comp1Out */\r
2613 \r
2614 /* ESIOSC Control Bits */\r
2615 #define ESICLKFQ5              (0x2000)       /* Internal oscillator frequency adjust */\r
2616 #define ESICLKFQ4              (0x1000)       /* Internal oscillator frequency adjust */\r
2617 #define ESICLKFQ3              (0x0800)       /* Internal oscillator frequency adjust */\r
2618 #define ESICLKFQ2              (0x0400)       /* Internal oscillator frequency adjust */\r
2619 #define ESICLKFQ1              (0x0200)       /* Internal oscillator frequency adjust */\r
2620 #define ESICLKFQ0              (0x0100)       /* Internal oscillator frequency adjust */\r
2621 #define ESICLKGON              (0x0002)       /* Internal oscillator control */\r
2622 #define ESIHFSEL               (0x0001)       /* Internal oscillator enable */\r
2623 \r
2624 /* ESIOSC Control Bits */\r
2625 #define ESICLKGON_L            (0x0002)       /* Internal oscillator control */\r
2626 #define ESIHFSEL_L             (0x0001)       /* Internal oscillator enable */\r
2627 \r
2628 /* ESIOSC Control Bits */\r
2629 #define ESICLKFQ5_H            (0x0020)       /* Internal oscillator frequency adjust */\r
2630 #define ESICLKFQ4_H            (0x0010)       /* Internal oscillator frequency adjust */\r
2631 #define ESICLKFQ3_H            (0x0008)       /* Internal oscillator frequency adjust */\r
2632 #define ESICLKFQ2_H            (0x0004)       /* Internal oscillator frequency adjust */\r
2633 #define ESICLKFQ1_H            (0x0002)       /* Internal oscillator frequency adjust */\r
2634 #define ESICLKFQ0_H            (0x0001)       /* Internal oscillator frequency adjust */\r
2635 \r
2636 /* ESICTL Control Bits */\r
2637 #define ESIS3SEL2              (0x8000)       /* PPUS3 source select */\r
2638 #define ESIS3SEL1              (0x4000)       /* PPUS3 source select */\r
2639 #define ESIS3SEL0              (0x2000)       /* PPUS3 source select */\r
2640 #define ESIS2SEL2              (0x1000)       /* PPUS2 source select */\r
2641 #define ESIS2SEL1              (0x0800)       /* PPUS2 source select */\r
2642 #define ESIS2SEL0              (0x0400)       /* PPUS2 source select */\r
2643 #define ESIS1SEL2              (0x0200)       /* PPUS1 source select */\r
2644 #define ESIS1SEL1              (0x0100)       /* PPUS1 source select */\r
2645 #define ESIS1SEL0              (0x0080)       /* PPUS1 source select */\r
2646 #define ESITCH11               (0x0040)       /* select the comparator input for test channel 1 */\r
2647 #define ESITCH10               (0x0020)       /* select the comparator input for test channel 1 */\r
2648 #define ESITCH01               (0x0010)       /* select the comparator input for test channel 0 */\r
2649 #define ESITCH00               (0x0008)       /* select the comparator input for test channel 0 */\r
2650 #define ESICS                  (0x0004)       /* Comparator output/Timer_A input selection */\r
2651 #define ESITESTD               (0x0002)       /* Test cycle insertion */\r
2652 #define ESIEN                  (0x0001)       /* Extended Scan interface enable */\r
2653 \r
2654 /* ESICTL Control Bits */\r
2655 #define ESIS1SEL0_L            (0x0080)       /* PPUS1 source select */\r
2656 #define ESITCH11_L             (0x0040)       /* select the comparator input for test channel 1 */\r
2657 #define ESITCH10_L             (0x0020)       /* select the comparator input for test channel 1 */\r
2658 #define ESITCH01_L             (0x0010)       /* select the comparator input for test channel 0 */\r
2659 #define ESITCH00_L             (0x0008)       /* select the comparator input for test channel 0 */\r
2660 #define ESICS_L                (0x0004)       /* Comparator output/Timer_A input selection */\r
2661 #define ESITESTD_L             (0x0002)       /* Test cycle insertion */\r
2662 #define ESIEN_L                (0x0001)       /* Extended Scan interface enable */\r
2663 \r
2664 /* ESICTL Control Bits */\r
2665 #define ESIS3SEL2_H            (0x0080)       /* PPUS3 source select */\r
2666 #define ESIS3SEL1_H            (0x0040)       /* PPUS3 source select */\r
2667 #define ESIS3SEL0_H            (0x0020)       /* PPUS3 source select */\r
2668 #define ESIS2SEL2_H            (0x0010)       /* PPUS2 source select */\r
2669 #define ESIS2SEL1_H            (0x0008)       /* PPUS2 source select */\r
2670 #define ESIS2SEL0_H            (0x0004)       /* PPUS2 source select */\r
2671 #define ESIS1SEL2_H            (0x0002)       /* PPUS1 source select */\r
2672 #define ESIS1SEL1_H            (0x0001)       /* PPUS1 source select */\r
2673 \r
2674 #define ESIS3SEL_0             (0x0000)       /* ESIOUT0 is the PPUS3 source */\r
2675 #define ESIS3SEL_1             (0x2000)       /* ESIOUT1 is the PPUS3 source */\r
2676 #define ESIS3SEL_2             (0x4000)       /* ESIOUT2 is the PPUS3 source */\r
2677 #define ESIS3SEL_3             (0x6000)       /* ESIOUT3 is the PPUS3 source */\r
2678 #define ESIS3SEL_4             (0x8000)       /* ESIOUT4 is the PPUS3 source */\r
2679 #define ESIS3SEL_5             (0xA000)       /* ESIOUT5 is the PPUS3 source */\r
2680 #define ESIS3SEL_6             (0xC000)       /* ESIOUT6 is the PPUS3 source */\r
2681 #define ESIS3SEL_7             (0xE000)       /* ESIOUT7 is the PPUS3 source */\r
2682 #define ESIS2SEL_0             (0x0000)       /* ESIOUT0 is the PPUS2 source */\r
2683 #define ESIS2SEL_1             (0x0400)       /* ESIOUT1 is the PPUS2 source */\r
2684 #define ESIS2SEL_2             (0x0800)       /* ESIOUT2 is the PPUS2 source */\r
2685 #define ESIS2SEL_3             (0x0C00)       /* ESIOUT3 is the PPUS2 source */\r
2686 #define ESIS2SEL_4             (0x1000)       /* ESIOUT4 is the PPUS2 source */\r
2687 #define ESIS2SEL_5             (0x1400)       /* ESIOUT5 is the PPUS2 source */\r
2688 #define ESIS2SEL_6             (0x1800)       /* ESIOUT6 is the PPUS2 source */\r
2689 #define ESIS2SEL_7             (0x1C00)       /* ESIOUT7 is the PPUS2 source */\r
2690 #define ESIS1SEL_0             (0x0000)       /* ESIOUT0 is the PPUS1 source */\r
2691 #define ESIS1SEL_1             (0x0080)       /* ESIOUT1 is the PPUS1 source */\r
2692 #define ESIS1SEL_2             (0x0100)       /* ESIOUT2 is the PPUS1 source */\r
2693 #define ESIS1SEL_3             (0x0180)       /* ESIOUT3 is the PPUS1 source */\r
2694 #define ESIS1SEL_4             (0x0200)       /* ESIOUT4 is the PPUS1 source */\r
2695 #define ESIS1SEL_5             (0x0280)       /* ESIOUT5 is the PPUS1 source */\r
2696 #define ESIS1SEL_6             (0x0300)       /* ESIOUT6 is the PPUS1 source */\r
2697 #define ESIS1SEL_7             (0x0380)       /* ESIOUT7 is the PPUS1 source */\r
2698 #define ESITCH1_0              (0x0000)       /* Comparator input is ESICH0 when ESICAX = 0; Comparator input is ESICI0 when ESICAX = 1 */\r
2699 #define ESITCH1_1              (0x0400)       /* Comparator input is ESICH1 when ESICAX = 0; Comparator input is ESICI1 when ESICAX = 1 */\r
2700 #define ESITCH1_2              (0x0800)       /* Comparator input is ESICH2 when ESICAX = 0; Comparator input is ESICI2 when ESICAX = 1 */\r
2701 #define ESITCH1_3              (0x0C00)       /* Comparator input is ESICH3 when ESICAX = 0; Comparator input is ESICI3 when ESICAX = 1 */\r
2702 #define ESITCH0_0              (0x0000)       /* Comparator input is ESICH0 when ESICAX = 0; Comparator input is ESICI0 when ESICAX = 1 */\r
2703 #define ESITCH0_1              (0x0008)       /* Comparator input is ESICH1 when ESICAX = 0; Comparator input is ESICI1 when ESICAX = 1 */\r
2704 #define ESITCH0_2              (0x0010)       /* Comparator input is ESICH2 when ESICAX = 0; Comparator input is ESICI2 when ESICAX = 1 */\r
2705 #define ESITCH0_3              (0x0018)       /* Comparator input is ESICH3 when ESICAX = 0; Comparator input is ESICI3 when ESICAX = 1 */\r
2706 \r
2707 /* Timing State Machine Control Bits */\r
2708 #define ESIREPEAT4             (0x8000)       /* These bits together with the ESICLK bit configure the duration of this state */\r
2709 #define ESIREPEAT3             (0x4000)       /* ESIREPEATx selects the number of clock cycles for this state. The number of clock cycles = ESIREPEATx + 1 */\r
2710 #define ESIREPEAT2             (0x2000)       /* */\r
2711 #define ESIREPEAT1             (0x1000)       /* */\r
2712 #define ESIREPEAT0             (0x0800)       /* */\r
2713 #define ESICLK                 (0x0400)       /* This bit selects the clock source for the TSM */\r
2714 #define ESISTOP                (0x0200)       /* This bit indicates the end of the TSM sequence */\r
2715 #define ESIDAC                 (0x0100)       /* TSM DAC on */\r
2716 #define ESITESTS1              (0x0080)       /* TSM test cycle control */\r
2717 #define ESIRSON                (0x0040)       /* Internal output latches enabled */\r
2718 #define ESICLKON               (0x0020)       /* High-frequency clock on */\r
2719 #define ESICA                  (0x0010)       /* TSM comparator on */\r
2720 #define ESIEX                  (0x0008)       /* Excitation and sample-and-hold */\r
2721 #define ESILCEN                (0x0004)       /* LC enable */\r
2722 #define ESICH1                 (0x0002)       /* Input channel select */\r
2723 #define ESICH0                 (0x0001)       /* Input channel select */\r
2724 \r
2725 /* Timing State Machine Control Bits */\r
2726 #define ESITESTS1_L            (0x0080)       /* TSM test cycle control */\r
2727 #define ESIRSON_L              (0x0040)       /* Internal output latches enabled */\r
2728 #define ESICLKON_L             (0x0020)       /* High-frequency clock on */\r
2729 #define ESICA_L                (0x0010)       /* TSM comparator on */\r
2730 #define ESIEX_L                (0x0008)       /* Excitation and sample-and-hold */\r
2731 #define ESILCEN_L              (0x0004)       /* LC enable */\r
2732 #define ESICH1_L               (0x0002)       /* Input channel select */\r
2733 #define ESICH0_L               (0x0001)       /* Input channel select */\r
2734 \r
2735 /* Timing State Machine Control Bits */\r
2736 #define ESIREPEAT4_H           (0x0080)       /* These bits together with the ESICLK bit configure the duration of this state */\r
2737 #define ESIREPEAT3_H           (0x0040)       /* ESIREPEATx selects the number of clock cycles for this state. The number of clock cycles = ESIREPEATx + 1 */\r
2738 #define ESIREPEAT2_H           (0x0020)       /* */\r
2739 #define ESIREPEAT1_H           (0x0010)       /* */\r
2740 #define ESIREPEAT0_H           (0x0008)       /* */\r
2741 #define ESICLK_H               (0x0004)       /* This bit selects the clock source for the TSM */\r
2742 #define ESISTOP_H              (0x0002)       /* This bit indicates the end of the TSM sequence */\r
2743 #define ESIDAC_H               (0x0001)       /* TSM DAC on */\r
2744 \r
2745 #define ESICAAZ                (0x0020)       /* Comparator Offset calibration annulation */\r
2746 \r
2747 #define ESIREPEAT_0            (0x0000)       /* These bits configure the duration of this state */\r
2748 #define ESIREPEAT_1            (0x0800)       /* ESIREPEATx selects the number of clock cycles for this state. The number of clock cycles = ESIREPEATx + 1 */\r
2749 #define ESIREPEAT_2            (0x1000)\r
2750 #define ESIREPEAT_3            (0x1800)\r
2751 #define ESIREPEAT_4            (0x2000)\r
2752 #define ESIREPEAT_5            (0x2800)\r
2753 #define ESIREPEAT_6            (0x3000)\r
2754 #define ESIREPEAT_7            (0x3800)\r
2755 #define ESIREPEAT_8            (0x4000)\r
2756 #define ESIREPEAT_9            (0x4800)\r
2757 #define ESIREPEAT_10           (0x5000)\r
2758 #define ESIREPEAT_11           (0x5800)\r
2759 #define ESIREPEAT_12           (0x6000)\r
2760 #define ESIREPEAT_13           (0x6800)\r
2761 #define ESIREPEAT_14           (0x7000)\r
2762 #define ESIREPEAT_15           (0x7800)\r
2763 #define ESIREPEAT_16           (0x8000)\r
2764 #define ESIREPEAT_17           (0x8800)\r
2765 #define ESIREPEAT_18           (0x9000)\r
2766 #define ESIREPEAT_19           (0x9800)\r
2767 #define ESIREPEAT_20           (0xA000)\r
2768 #define ESIREPEAT_21           (0xA800)\r
2769 #define ESIREPEAT_22           (0xB000)\r
2770 #define ESIREPEAT_23           (0xB800)\r
2771 #define ESIREPEAT_24           (0xC000)\r
2772 #define ESIREPEAT_25           (0xC800)\r
2773 #define ESIREPEAT_26           (0xD000)\r
2774 #define ESIREPEAT_27           (0xD800)\r
2775 #define ESIREPEAT_28           (0xE000)\r
2776 #define ESIREPEAT_29           (0xE800)\r
2777 #define ESIREPEAT_30           (0xF000)\r
2778 #define ESIREPEAT_31           (0xF800)\r
2779 #define ESICH_0                (0x0000)       /* Input channel select: ESICH0 */\r
2780 #define ESICH_1                (0x0001)       /* Input channel select: ESICH1 */\r
2781 #define ESICH_2                (0x0002)       /* Input channel select: ESICH2 */\r
2782 #define ESICH_3                (0x0003)       /* Input channel select: ESICH3 */\r
2783 #endif\r
2784 /************************************************************\r
2785 * EXTENDED SCAN INTERFACE RAM\r
2786 ************************************************************/\r
2787 #ifdef  __MSP430_HAS_ESI_RAM__            /* Definition to show that Module is available */\r
2788 \r
2789 #define OFS_ESIRAM0            (0x0000)       /* ESI RAM 0 */\r
2790 #define OFS_ESIRAM1            (0x0001)       /* ESI RAM 1 */\r
2791 #define OFS_ESIRAM2            (0x0002)       /* ESI RAM 2 */\r
2792 #define OFS_ESIRAM3            (0x0003)       /* ESI RAM 3 */\r
2793 #define OFS_ESIRAM4            (0x0004)       /* ESI RAM 4 */\r
2794 #define OFS_ESIRAM5            (0x0005)       /* ESI RAM 5 */\r
2795 #define OFS_ESIRAM6            (0x0006)       /* ESI RAM 6 */\r
2796 #define OFS_ESIRAM7            (0x0007)       /* ESI RAM 7 */\r
2797 #define OFS_ESIRAM8            (0x0008)       /* ESI RAM 8 */\r
2798 #define OFS_ESIRAM9            (0x0009)       /* ESI RAM 9 */\r
2799 #define OFS_ESIRAM10           (0x000A)       /* ESI RAM 10 */\r
2800 #define OFS_ESIRAM11           (0x000B)       /* ESI RAM 11 */\r
2801 #define OFS_ESIRAM12           (0x000C)       /* ESI RAM 12 */\r
2802 #define OFS_ESIRAM13           (0x000D)       /* ESI RAM 13 */\r
2803 #define OFS_ESIRAM14           (0x000E)       /* ESI RAM 14 */\r
2804 #define OFS_ESIRAM15           (0x000F)       /* ESI RAM 15 */\r
2805 #define OFS_ESIRAM16           (0x0010)       /* ESI RAM 16 */\r
2806 #define OFS_ESIRAM17           (0x0011)       /* ESI RAM 17 */\r
2807 #define OFS_ESIRAM18           (0x0012)       /* ESI RAM 18 */\r
2808 #define OFS_ESIRAM19           (0x0013)       /* ESI RAM 19 */\r
2809 #define OFS_ESIRAM20           (0x0014)       /* ESI RAM 20 */\r
2810 #define OFS_ESIRAM21           (0x0015)       /* ESI RAM 21 */\r
2811 #define OFS_ESIRAM22           (0x0016)       /* ESI RAM 22 */\r
2812 #define OFS_ESIRAM23           (0x0017)       /* ESI RAM 23 */\r
2813 #define OFS_ESIRAM24           (0x0018)       /* ESI RAM 24 */\r
2814 #define OFS_ESIRAM25           (0x0019)       /* ESI RAM 25 */\r
2815 #define OFS_ESIRAM26           (0x001A)       /* ESI RAM 26 */\r
2816 #define OFS_ESIRAM27           (0x001B)       /* ESI RAM 27 */\r
2817 #define OFS_ESIRAM28           (0x001C)       /* ESI RAM 28 */\r
2818 #define OFS_ESIRAM29           (0x001D)       /* ESI RAM 29 */\r
2819 #define OFS_ESIRAM30           (0x001E)       /* ESI RAM 30 */\r
2820 #define OFS_ESIRAM31           (0x001F)       /* ESI RAM 31 */\r
2821 #define OFS_ESIRAM32           (0x0020)       /* ESI RAM 32 */\r
2822 #define OFS_ESIRAM33           (0x0021)       /* ESI RAM 33 */\r
2823 #define OFS_ESIRAM34           (0x0022)       /* ESI RAM 34 */\r
2824 #define OFS_ESIRAM35           (0x0023)       /* ESI RAM 35 */\r
2825 #define OFS_ESIRAM36           (0x0024)       /* ESI RAM 36 */\r
2826 #define OFS_ESIRAM37           (0x0025)       /* ESI RAM 37 */\r
2827 #define OFS_ESIRAM38           (0x0026)       /* ESI RAM 38 */\r
2828 #define OFS_ESIRAM39           (0x0027)       /* ESI RAM 39 */\r
2829 #define OFS_ESIRAM40           (0x0028)       /* ESI RAM 40 */\r
2830 #define OFS_ESIRAM41           (0x0029)       /* ESI RAM 41 */\r
2831 #define OFS_ESIRAM42           (0x002A)       /* ESI RAM 42 */\r
2832 #define OFS_ESIRAM43           (0x002B)       /* ESI RAM 43 */\r
2833 #define OFS_ESIRAM44           (0x002C)       /* ESI RAM 44 */\r
2834 #define OFS_ESIRAM45           (0x002D)       /* ESI RAM 45 */\r
2835 #define OFS_ESIRAM46           (0x002E)       /* ESI RAM 46 */\r
2836 #define OFS_ESIRAM47           (0x002F)       /* ESI RAM 47 */\r
2837 #define OFS_ESIRAM48           (0x0030)       /* ESI RAM 48 */\r
2838 #define OFS_ESIRAM49           (0x0031)       /* ESI RAM 49 */\r
2839 #define OFS_ESIRAM50           (0x0032)       /* ESI RAM 50 */\r
2840 #define OFS_ESIRAM51           (0x0033)       /* ESI RAM 51 */\r
2841 #define OFS_ESIRAM52           (0x0034)       /* ESI RAM 52 */\r
2842 #define OFS_ESIRAM53           (0x0035)       /* ESI RAM 53 */\r
2843 #define OFS_ESIRAM54           (0x0036)       /* ESI RAM 54 */\r
2844 #define OFS_ESIRAM55           (0x0037)       /* ESI RAM 55 */\r
2845 #define OFS_ESIRAM56           (0x0038)       /* ESI RAM 56 */\r
2846 #define OFS_ESIRAM57           (0x0039)       /* ESI RAM 57 */\r
2847 #define OFS_ESIRAM58           (0x003A)       /* ESI RAM 58 */\r
2848 #define OFS_ESIRAM59           (0x003B)       /* ESI RAM 59 */\r
2849 #define OFS_ESIRAM60           (0x003C)       /* ESI RAM 60 */\r
2850 #define OFS_ESIRAM61           (0x003D)       /* ESI RAM 61 */\r
2851 #define OFS_ESIRAM62           (0x003E)       /* ESI RAM 62 */\r
2852 #define OFS_ESIRAM63           (0x003F)       /* ESI RAM 63 */\r
2853 #define OFS_ESIRAM64           (0x0040)       /* ESI RAM 64 */\r
2854 #define OFS_ESIRAM65           (0x0041)       /* ESI RAM 65 */\r
2855 #define OFS_ESIRAM66           (0x0042)       /* ESI RAM 66 */\r
2856 #define OFS_ESIRAM67           (0x0043)       /* ESI RAM 67 */\r
2857 #define OFS_ESIRAM68           (0x0044)       /* ESI RAM 68 */\r
2858 #define OFS_ESIRAM69           (0x0045)       /* ESI RAM 69 */\r
2859 #define OFS_ESIRAM70           (0x0046)       /* ESI RAM 70 */\r
2860 #define OFS_ESIRAM71           (0x0047)       /* ESI RAM 71 */\r
2861 #define OFS_ESIRAM72           (0x0048)       /* ESI RAM 72 */\r
2862 #define OFS_ESIRAM73           (0x0049)       /* ESI RAM 73 */\r
2863 #define OFS_ESIRAM74           (0x004A)       /* ESI RAM 74 */\r
2864 #define OFS_ESIRAM75           (0x004B)       /* ESI RAM 75 */\r
2865 #define OFS_ESIRAM76           (0x004C)       /* ESI RAM 76 */\r
2866 #define OFS_ESIRAM77           (0x004D)       /* ESI RAM 77 */\r
2867 #define OFS_ESIRAM78           (0x004E)       /* ESI RAM 78 */\r
2868 #define OFS_ESIRAM79           (0x004F)       /* ESI RAM 79 */\r
2869 #define OFS_ESIRAM80           (0x0050)       /* ESI RAM 80 */\r
2870 #define OFS_ESIRAM81           (0x0051)       /* ESI RAM 81 */\r
2871 #define OFS_ESIRAM82           (0x0052)       /* ESI RAM 82 */\r
2872 #define OFS_ESIRAM83           (0x0053)       /* ESI RAM 83 */\r
2873 #define OFS_ESIRAM84           (0x0054)       /* ESI RAM 84 */\r
2874 #define OFS_ESIRAM85           (0x0055)       /* ESI RAM 85 */\r
2875 #define OFS_ESIRAM86           (0x0056)       /* ESI RAM 86 */\r
2876 #define OFS_ESIRAM87           (0x0057)       /* ESI RAM 87 */\r
2877 #define OFS_ESIRAM88           (0x0058)       /* ESI RAM 88 */\r
2878 #define OFS_ESIRAM89           (0x0059)       /* ESI RAM 89 */\r
2879 #define OFS_ESIRAM90           (0x005A)       /* ESI RAM 90 */\r
2880 #define OFS_ESIRAM91           (0x005B)       /* ESI RAM 91 */\r
2881 #define OFS_ESIRAM92           (0x005C)       /* ESI RAM 92 */\r
2882 #define OFS_ESIRAM93           (0x005D)       /* ESI RAM 93 */\r
2883 #define OFS_ESIRAM94           (0x005E)       /* ESI RAM 94 */\r
2884 #define OFS_ESIRAM95           (0x005F)       /* ESI RAM 95 */\r
2885 #define OFS_ESIRAM96           (0x0060)       /* ESI RAM 96 */\r
2886 #define OFS_ESIRAM97           (0x0061)       /* ESI RAM 97 */\r
2887 #define OFS_ESIRAM98           (0x0062)       /* ESI RAM 98 */\r
2888 #define OFS_ESIRAM99           (0x0063)       /* ESI RAM 99 */\r
2889 #define OFS_ESIRAM100          (0x0064)       /* ESI RAM 100 */\r
2890 #define OFS_ESIRAM101          (0x0065)       /* ESI RAM 101 */\r
2891 #define OFS_ESIRAM102          (0x0066)       /* ESI RAM 102 */\r
2892 #define OFS_ESIRAM103          (0x0067)       /* ESI RAM 103 */\r
2893 #define OFS_ESIRAM104          (0x0068)       /* ESI RAM 104 */\r
2894 #define OFS_ESIRAM105          (0x0069)       /* ESI RAM 105 */\r
2895 #define OFS_ESIRAM106          (0x006A)       /* ESI RAM 106 */\r
2896 #define OFS_ESIRAM107          (0x006B)       /* ESI RAM 107 */\r
2897 #define OFS_ESIRAM108          (0x006C)       /* ESI RAM 108 */\r
2898 #define OFS_ESIRAM109          (0x006D)       /* ESI RAM 109 */\r
2899 #define OFS_ESIRAM110          (0x006E)       /* ESI RAM 110 */\r
2900 #define OFS_ESIRAM111          (0x006F)       /* ESI RAM 111 */\r
2901 #define OFS_ESIRAM112          (0x0070)       /* ESI RAM 112 */\r
2902 #define OFS_ESIRAM113          (0x0071)       /* ESI RAM 113 */\r
2903 #define OFS_ESIRAM114          (0x0072)       /* ESI RAM 114 */\r
2904 #define OFS_ESIRAM115          (0x0073)       /* ESI RAM 115 */\r
2905 #define OFS_ESIRAM116          (0x0074)       /* ESI RAM 116 */\r
2906 #define OFS_ESIRAM117          (0x0075)       /* ESI RAM 117 */\r
2907 #define OFS_ESIRAM118          (0x0076)       /* ESI RAM 118 */\r
2908 #define OFS_ESIRAM119          (0x0077)       /* ESI RAM 119 */\r
2909 #define OFS_ESIRAM120          (0x0078)       /* ESI RAM 120 */\r
2910 #define OFS_ESIRAM121          (0x0079)       /* ESI RAM 121 */\r
2911 #define OFS_ESIRAM122          (0x007A)       /* ESI RAM 122 */\r
2912 #define OFS_ESIRAM123          (0x007B)       /* ESI RAM 123 */\r
2913 #define OFS_ESIRAM124          (0x007C)       /* ESI RAM 124 */\r
2914 #define OFS_ESIRAM125          (0x007D)       /* ESI RAM 125 */\r
2915 #define OFS_ESIRAM126          (0x007E)       /* ESI RAM 126 */\r
2916 #define OFS_ESIRAM127          (0x007F)       /* ESI RAM 127 */\r
2917 #endif\r
2918 /*************************************************************\r
2919 * FRAM Memory\r
2920 *************************************************************/\r
2921 #ifdef  __MSP430_HAS_FRAM__           /* Definition to show that Module is available */\r
2922 \r
2923 #define OFS_FRCTL0             (0x0000)       /* FRAM Controller Control 0 */\r
2924 #define OFS_FRCTL0_L           OFS_FRCTL0\r
2925 #define OFS_FRCTL0_H           OFS_FRCTL0+1\r
2926 #define OFS_GCCTL0             (0x0004)       /* General Control 0 */\r
2927 #define OFS_GCCTL0_L           OFS_GCCTL0\r
2928 #define OFS_GCCTL0_H           OFS_GCCTL0+1\r
2929 #define OFS_GCCTL1             (0x0006)       /* General Control 1 */\r
2930 #define OFS_GCCTL1_L           OFS_GCCTL1\r
2931 #define OFS_GCCTL1_H           OFS_GCCTL1+1\r
2932 \r
2933 #define FRCTLPW                (0xA500)       /* FRAM password for write */\r
2934 #define FRPW                   (0x9600)       /* FRAM password returned by read */\r
2935 #define FWPW                   (0xA500)       /* FRAM password for write */\r
2936 #define FXPW                   (0x3300)       /* for use with XOR instruction */\r
2937 \r
2938 /* FRCTL0 Control Bits */\r
2939 //#define RESERVED            (0x0001)  /* RESERVED */\r
2940 //#define RESERVED            (0x0002)  /* RESERVED */\r
2941 //#define RESERVED            (0x0004)  /* RESERVED */\r
2942 #define NWAITS0                (0x0010)       /* FRAM Wait state control Bit: 0 */\r
2943 #define NWAITS1                (0x0020)       /* FRAM Wait state control Bit: 1 */\r
2944 #define NWAITS2                (0x0040)       /* FRAM Wait state control Bit: 2 */\r
2945 //#define RESERVED            (0x0080)  /* RESERVED */\r
2946 \r
2947 /* FRCTL0 Control Bits */\r
2948 //#define RESERVED            (0x0001)  /* RESERVED */\r
2949 //#define RESERVED            (0x0002)  /* RESERVED */\r
2950 //#define RESERVED            (0x0004)  /* RESERVED */\r
2951 #define NWAITS0_L              (0x0010)       /* FRAM Wait state control Bit: 0 */\r
2952 #define NWAITS1_L              (0x0020)       /* FRAM Wait state control Bit: 1 */\r
2953 #define NWAITS2_L              (0x0040)       /* FRAM Wait state control Bit: 2 */\r
2954 //#define RESERVED            (0x0080)  /* RESERVED */\r
2955 \r
2956 #define NWAITS_0               (0x0000)       /* FRAM Wait state control: 0 */\r
2957 #define NWAITS_1               (0x0010)       /* FRAM Wait state control: 1 */\r
2958 #define NWAITS_2               (0x0020)       /* FRAM Wait state control: 2 */\r
2959 #define NWAITS_3               (0x0030)       /* FRAM Wait state control: 3 */\r
2960 #define NWAITS_4               (0x0040)       /* FRAM Wait state control: 4 */\r
2961 #define NWAITS_5               (0x0050)       /* FRAM Wait state control: 5 */\r
2962 #define NWAITS_6               (0x0060)       /* FRAM Wait state control: 6 */\r
2963 #define NWAITS_7               (0x0070)       /* FRAM Wait state control: 7 */\r
2964 \r
2965 /* Legacy Defines */\r
2966 #define NAUTO                  (0x0008)       /* FRAM Disables the wait state generator (obsolete on Rev.E and later)*/\r
2967 #define NACCESS0               (0x0010)       /* FRAM Wait state Generator Access Time control Bit: 0 */\r
2968 #define NACCESS1               (0x0020)       /* FRAM Wait state Generator Access Time control Bit: 1 */\r
2969 #define NACCESS2               (0x0040)       /* FRAM Wait state Generator Access Time control Bit: 2 */\r
2970 #define NACCESS_0              (0x0000)       /* FRAM Wait state Generator Access Time control: 0 */\r
2971 #define NACCESS_1              (0x0010)       /* FRAM Wait state Generator Access Time control: 1 */\r
2972 #define NACCESS_2              (0x0020)       /* FRAM Wait state Generator Access Time control: 2 */\r
2973 #define NACCESS_3              (0x0030)       /* FRAM Wait state Generator Access Time control: 3 */\r
2974 #define NACCESS_4              (0x0040)       /* FRAM Wait state Generator Access Time control: 4 */\r
2975 #define NACCESS_5              (0x0050)       /* FRAM Wait state Generator Access Time control: 5 */\r
2976 #define NACCESS_6              (0x0060)       /* FRAM Wait state Generator Access Time control: 6 */\r
2977 #define NACCESS_7              (0x0070)       /* FRAM Wait state Generator Access Time control: 7 */\r
2978 \r
2979 /* GCCTL0 Control Bits */\r
2980 //#define RESERVED            (0x0001)  /* RESERVED */\r
2981 #define FRLPMPWR               (0x0002)       /* FRAM Enable FRAM auto power up after LPM */\r
2982 #define FRPWR                  (0x0004)       /* FRAM Power Control */\r
2983 #define ACCTEIE                (0x0008)       /* Enable NMI event if Access time error occurs */\r
2984 //#define RESERVED            (0x0010)  /* RESERVED */\r
2985 #define CBDIE                  (0x0020)       /* Enable NMI event if correctable bit error detected */\r
2986 #define UBDIE                  (0x0040)       /* Enable NMI event if uncorrectable bit error detected */\r
2987 #define UBDRSTEN               (0x0080)       /* Enable Power Up Clear (PUC) reset if FRAM uncorrectable bit error detected */\r
2988 \r
2989 /* GCCTL0 Control Bits */\r
2990 //#define RESERVED            (0x0001)  /* RESERVED */\r
2991 #define FRLPMPWR_L             (0x0002)       /* FRAM Enable FRAM auto power up after LPM */\r
2992 #define FRPWR_L                (0x0004)       /* FRAM Power Control */\r
2993 #define ACCTEIE_L              (0x0008)       /* Enable NMI event if Access time error occurs */\r
2994 //#define RESERVED            (0x0010)  /* RESERVED */\r
2995 #define CBDIE_L                (0x0020)       /* Enable NMI event if correctable bit error detected */\r
2996 #define UBDIE_L                (0x0040)       /* Enable NMI event if uncorrectable bit error detected */\r
2997 #define UBDRSTEN_L             (0x0080)       /* Enable Power Up Clear (PUC) reset if FRAM uncorrectable bit error detected */\r
2998 \r
2999 /* GCCTL1 Control Bits */\r
3000 //#define RESERVED            (0x0001)  /* RESERVED */\r
3001 #define CBDIFG                 (0x0002)       /* FRAM correctable bit error flag */\r
3002 #define UBDIFG                 (0x0004)       /* FRAM uncorrectable bit error flag */\r
3003 #define ACCTEIFG               (0x0008)       /* Access time error flag */\r
3004 \r
3005 /* GCCTL1 Control Bits */\r
3006 //#define RESERVED            (0x0001)  /* RESERVED */\r
3007 #define CBDIFG_L               (0x0002)       /* FRAM correctable bit error flag */\r
3008 #define UBDIFG_L               (0x0004)       /* FRAM uncorrectable bit error flag */\r
3009 #define ACCTEIFG_L             (0x0008)       /* Access time error flag */\r
3010 \r
3011 #endif\r
3012 /************************************************************\r
3013 * LCD_C\r
3014 ************************************************************/\r
3015 #ifdef  __MSP430_HAS_LCD_C__          /* Definition to show that Module is available */\r
3016 \r
3017 #define OFS_LCDCCTL0           (0x0000)       /* LCD_C Control Register 0 */\r
3018 #define OFS_LCDCCTL0_L         OFS_LCDCCTL0\r
3019 #define OFS_LCDCCTL0_H         OFS_LCDCCTL0+1\r
3020 #define OFS_LCDCCTL1           (0x0002)       /* LCD_C Control Register 1 */\r
3021 #define OFS_LCDCCTL1_L         OFS_LCDCCTL1\r
3022 #define OFS_LCDCCTL1_H         OFS_LCDCCTL1+1\r
3023 #define OFS_LCDCBLKCTL         (0x0004)       /* LCD_C blinking control register */\r
3024 #define OFS_LCDCBLKCTL_L       OFS_LCDCBLKCTL\r
3025 #define OFS_LCDCBLKCTL_H       OFS_LCDCBLKCTL+1\r
3026 #define OFS_LCDCMEMCTL         (0x0006)       /* LCD_C memory control register */\r
3027 #define OFS_LCDCMEMCTL_L       OFS_LCDCMEMCTL\r
3028 #define OFS_LCDCMEMCTL_H       OFS_LCDCMEMCTL+1\r
3029 #define OFS_LCDCVCTL           (0x0008)       /* LCD_C Voltage Control Register */\r
3030 #define OFS_LCDCVCTL_L         OFS_LCDCVCTL\r
3031 #define OFS_LCDCVCTL_H         OFS_LCDCVCTL+1\r
3032 #define OFS_LCDCPCTL0          (0x000A)       /* LCD_C Port Control Register 0 */\r
3033 #define OFS_LCDCPCTL0_L        OFS_LCDCPCTL0\r
3034 #define OFS_LCDCPCTL0_H        OFS_LCDCPCTL0+1\r
3035 #define OFS_LCDCPCTL1          (0x000C)       /* LCD_C Port Control Register 1 */\r
3036 #define OFS_LCDCPCTL1_L        OFS_LCDCPCTL1\r
3037 #define OFS_LCDCPCTL1_H        OFS_LCDCPCTL1+1\r
3038 #define OFS_LCDCPCTL2          (0x000E)       /* LCD_C Port Control Register 2 */\r
3039 #define OFS_LCDCPCTL2_L        OFS_LCDCPCTL2\r
3040 #define OFS_LCDCPCTL2_H        OFS_LCDCPCTL2+1\r
3041 #define OFS_LCDCPCTL3          (0x0010)       /* LCD_C Port Control Register 3 */\r
3042 #define OFS_LCDCPCTL3_L        OFS_LCDCPCTL3\r
3043 #define OFS_LCDCPCTL3_H        OFS_LCDCPCTL3+1\r
3044 #define OFS_LCDCCPCTL          (0x0012)       /* LCD_C Charge Pump Control Register 3 */\r
3045 #define OFS_LCDCCPCTL_L        OFS_LCDCCPCTL\r
3046 #define OFS_LCDCCPCTL_H        OFS_LCDCCPCTL+1\r
3047 #define OFS_LCDCIV             (0x001E)       /* LCD_C Interrupt Vector Register */\r
3048 \r
3049 // LCDCCTL0\r
3050 #define LCDON                  (0x0001)       /* LCD_C LCD On */\r
3051 #define LCDLP                  (0x0002)       /* LCD_C Low Power Waveform */\r
3052 #define LCDSON                 (0x0004)       /* LCD_C LCD Segments On */\r
3053 #define LCDMX0                 (0x0008)       /* LCD_C Mux Rate Bit: 0 */\r
3054 #define LCDMX1                 (0x0010)       /* LCD_C Mux Rate Bit: 1 */\r
3055 #define LCDMX2                 (0x0020)       /* LCD_C Mux Rate Bit: 2 */\r
3056 //#define RESERVED            (0x0040)  /* LCD_C RESERVED */\r
3057 #define LCDSSEL                (0x0080)       /* LCD_C Clock Select */\r
3058 #define LCDPRE0                (0x0100)       /* LCD_C LCD frequency pre-scaler Bit: 0 */\r
3059 #define LCDPRE1                (0x0200)       /* LCD_C LCD frequency pre-scaler Bit: 1 */\r
3060 #define LCDPRE2                (0x0400)       /* LCD_C LCD frequency pre-scaler Bit: 2 */\r
3061 #define LCDDIV0                (0x0800)       /* LCD_C LCD frequency divider Bit: 0 */\r
3062 #define LCDDIV1                (0x1000)       /* LCD_C LCD frequency divider Bit: 1 */\r
3063 #define LCDDIV2                (0x2000)       /* LCD_C LCD frequency divider Bit: 2 */\r
3064 #define LCDDIV3                (0x4000)       /* LCD_C LCD frequency divider Bit: 3 */\r
3065 #define LCDDIV4                (0x8000)       /* LCD_C LCD frequency divider Bit: 4 */\r
3066 \r
3067 // LCDCCTL0\r
3068 #define LCDON_L                (0x0001)       /* LCD_C LCD On */\r
3069 #define LCDLP_L                (0x0002)       /* LCD_C Low Power Waveform */\r
3070 #define LCDSON_L               (0x0004)       /* LCD_C LCD Segments On */\r
3071 #define LCDMX0_L               (0x0008)       /* LCD_C Mux Rate Bit: 0 */\r
3072 #define LCDMX1_L               (0x0010)       /* LCD_C Mux Rate Bit: 1 */\r
3073 #define LCDMX2_L               (0x0020)       /* LCD_C Mux Rate Bit: 2 */\r
3074 //#define RESERVED            (0x0040)  /* LCD_C RESERVED */\r
3075 #define LCDSSEL_L              (0x0080)       /* LCD_C Clock Select */\r
3076 \r
3077 // LCDCCTL0\r
3078 //#define RESERVED            (0x0040)  /* LCD_C RESERVED */\r
3079 #define LCDPRE0_H              (0x0001)       /* LCD_C LCD frequency pre-scaler Bit: 0 */\r
3080 #define LCDPRE1_H              (0x0002)       /* LCD_C LCD frequency pre-scaler Bit: 1 */\r
3081 #define LCDPRE2_H              (0x0004)       /* LCD_C LCD frequency pre-scaler Bit: 2 */\r
3082 #define LCDDIV0_H              (0x0008)       /* LCD_C LCD frequency divider Bit: 0 */\r
3083 #define LCDDIV1_H              (0x0010)       /* LCD_C LCD frequency divider Bit: 1 */\r
3084 #define LCDDIV2_H              (0x0020)       /* LCD_C LCD frequency divider Bit: 2 */\r
3085 #define LCDDIV3_H              (0x0040)       /* LCD_C LCD frequency divider Bit: 3 */\r
3086 #define LCDDIV4_H              (0x0080)       /* LCD_C LCD frequency divider Bit: 4 */\r
3087 \r
3088 #define LCDPRE_0               (0x0000)       /* LCD_C LCD frequency pre-scaler: /1 */\r
3089 #define LCDPRE_1               (0x0100)       /* LCD_C LCD frequency pre-scaler: /2 */\r
3090 #define LCDPRE_2               (0x0200)       /* LCD_C LCD frequency pre-scaler: /4 */\r
3091 #define LCDPRE_3               (0x0300)       /* LCD_C LCD frequency pre-scaler: /8 */\r
3092 #define LCDPRE_4               (0x0400)       /* LCD_C LCD frequency pre-scaler: /16 */\r
3093 #define LCDPRE_5               (0x0500)       /* LCD_C LCD frequency pre-scaler: /32 */\r
3094 #define LCDPRE__1              (0x0000)       /* LCD_C LCD frequency pre-scaler: /1 */\r
3095 #define LCDPRE__2              (0x0100)       /* LCD_C LCD frequency pre-scaler: /2 */\r
3096 #define LCDPRE__4              (0x0200)       /* LCD_C LCD frequency pre-scaler: /4 */\r
3097 #define LCDPRE__8              (0x0300)       /* LCD_C LCD frequency pre-scaler: /8 */\r
3098 #define LCDPRE__16             (0x0400)       /* LCD_C LCD frequency pre-scaler: /16 */\r
3099 #define LCDPRE__32             (0x0500)       /* LCD_C LCD frequency pre-scaler: /32 */\r
3100 \r
3101 #define LCDDIV_0               (0x0000)       /* LCD_C LCD frequency divider: /1 */\r
3102 #define LCDDIV_1               (0x0800)       /* LCD_C LCD frequency divider: /2 */\r
3103 #define LCDDIV_2               (0x1000)       /* LCD_C LCD frequency divider: /3 */\r
3104 #define LCDDIV_3               (0x1800)       /* LCD_C LCD frequency divider: /4 */\r
3105 #define LCDDIV_4               (0x2000)       /* LCD_C LCD frequency divider: /5 */\r
3106 #define LCDDIV_5               (0x2800)       /* LCD_C LCD frequency divider: /6 */\r
3107 #define LCDDIV_6               (0x3000)       /* LCD_C LCD frequency divider: /7 */\r
3108 #define LCDDIV_7               (0x3800)       /* LCD_C LCD frequency divider: /8 */\r
3109 #define LCDDIV_8               (0x4000)       /* LCD_C LCD frequency divider: /9 */\r
3110 #define LCDDIV_9               (0x4800)       /* LCD_C LCD frequency divider: /10 */\r
3111 #define LCDDIV_10              (0x5000)       /* LCD_C LCD frequency divider: /11 */\r
3112 #define LCDDIV_11              (0x5800)       /* LCD_C LCD frequency divider: /12 */\r
3113 #define LCDDIV_12              (0x6000)       /* LCD_C LCD frequency divider: /13 */\r
3114 #define LCDDIV_13              (0x6800)       /* LCD_C LCD frequency divider: /14 */\r
3115 #define LCDDIV_14              (0x7000)       /* LCD_C LCD frequency divider: /15 */\r
3116 #define LCDDIV_15              (0x7800)       /* LCD_C LCD frequency divider: /16 */\r
3117 #define LCDDIV_16              (0x8000)       /* LCD_C LCD frequency divider: /17 */\r
3118 #define LCDDIV_17              (0x8800)       /* LCD_C LCD frequency divider: /18 */\r
3119 #define LCDDIV_18              (0x9000)       /* LCD_C LCD frequency divider: /19 */\r
3120 #define LCDDIV_19              (0x9800)       /* LCD_C LCD frequency divider: /20 */\r
3121 #define LCDDIV_20              (0xA000)       /* LCD_C LCD frequency divider: /21 */\r
3122 #define LCDDIV_21              (0xA800)       /* LCD_C LCD frequency divider: /22 */\r
3123 #define LCDDIV_22              (0xB000)       /* LCD_C LCD frequency divider: /23 */\r
3124 #define LCDDIV_23              (0xB800)       /* LCD_C LCD frequency divider: /24 */\r
3125 #define LCDDIV_24              (0xC000)       /* LCD_C LCD frequency divider: /25 */\r
3126 #define LCDDIV_25              (0xC800)       /* LCD_C LCD frequency divider: /26 */\r
3127 #define LCDDIV_26              (0xD000)       /* LCD_C LCD frequency divider: /27 */\r
3128 #define LCDDIV_27              (0xD800)       /* LCD_C LCD frequency divider: /28 */\r
3129 #define LCDDIV_28              (0xE000)       /* LCD_C LCD frequency divider: /29 */\r
3130 #define LCDDIV_29              (0xE800)       /* LCD_C LCD frequency divider: /30 */\r
3131 #define LCDDIV_30              (0xF000)       /* LCD_C LCD frequency divider: /31 */\r
3132 #define LCDDIV_31              (0xF800)       /* LCD_C LCD frequency divider: /32 */\r
3133 #define LCDDIV__1              (0x0000)       /* LCD_C LCD frequency divider: /1 */\r
3134 #define LCDDIV__2              (0x0800)       /* LCD_C LCD frequency divider: /2 */\r
3135 #define LCDDIV__3              (0x1000)       /* LCD_C LCD frequency divider: /3 */\r
3136 #define LCDDIV__4              (0x1800)       /* LCD_C LCD frequency divider: /4 */\r
3137 #define LCDDIV__5              (0x2000)       /* LCD_C LCD frequency divider: /5 */\r
3138 #define LCDDIV__6              (0x2800)       /* LCD_C LCD frequency divider: /6 */\r
3139 #define LCDDIV__7              (0x3000)       /* LCD_C LCD frequency divider: /7 */\r
3140 #define LCDDIV__8              (0x3800)       /* LCD_C LCD frequency divider: /8 */\r
3141 #define LCDDIV__9              (0x4000)       /* LCD_C LCD frequency divider: /9 */\r
3142 #define LCDDIV__10             (0x4800)       /* LCD_C LCD frequency divider: /10 */\r
3143 #define LCDDIV__11             (0x5000)       /* LCD_C LCD frequency divider: /11 */\r
3144 #define LCDDIV__12             (0x5800)       /* LCD_C LCD frequency divider: /12 */\r
3145 #define LCDDIV__13             (0x6000)       /* LCD_C LCD frequency divider: /13 */\r
3146 #define LCDDIV__14             (0x6800)       /* LCD_C LCD frequency divider: /14 */\r
3147 #define LCDDIV__15             (0x7000)       /* LCD_C LCD frequency divider: /15 */\r
3148 #define LCDDIV__16             (0x7800)       /* LCD_C LCD frequency divider: /16 */\r
3149 #define LCDDIV__17             (0x8000)       /* LCD_C LCD frequency divider: /17 */\r
3150 #define LCDDIV__18             (0x8800)       /* LCD_C LCD frequency divider: /18 */\r
3151 #define LCDDIV__19             (0x9000)       /* LCD_C LCD frequency divider: /19 */\r
3152 #define LCDDIV__20             (0x9800)       /* LCD_C LCD frequency divider: /20 */\r
3153 #define LCDDIV__21             (0xA000)       /* LCD_C LCD frequency divider: /21 */\r
3154 #define LCDDIV__22             (0xA800)       /* LCD_C LCD frequency divider: /22 */\r
3155 #define LCDDIV__23             (0xB000)       /* LCD_C LCD frequency divider: /23 */\r
3156 #define LCDDIV__24             (0xB800)       /* LCD_C LCD frequency divider: /24 */\r
3157 #define LCDDIV__25             (0xC000)       /* LCD_C LCD frequency divider: /25 */\r
3158 #define LCDDIV__26             (0xC800)       /* LCD_C LCD frequency divider: /26 */\r
3159 #define LCDDIV__27             (0xD000)       /* LCD_C LCD frequency divider: /27 */\r
3160 #define LCDDIV__28             (0xD800)       /* LCD_C LCD frequency divider: /28 */\r
3161 #define LCDDIV__29             (0xE000)       /* LCD_C LCD frequency divider: /29 */\r
3162 #define LCDDIV__30             (0xE800)       /* LCD_C LCD frequency divider: /30 */\r
3163 #define LCDDIV__31             (0xF000)       /* LCD_C LCD frequency divider: /31 */\r
3164 #define LCDDIV__32             (0xF800)       /* LCD_C LCD frequency divider: /32 */\r
3165 \r
3166 /* Display modes coded with Bits 2-4 */\r
3167 #define LCDSTATIC              (LCDSON)\r
3168 #define LCD2MUX                (LCDMX0+LCDSON)\r
3169 #define LCD3MUX                (LCDMX1+LCDSON)\r
3170 #define LCD4MUX                (LCDMX1+LCDMX0+LCDSON)\r
3171 #define LCD5MUX                (LCDMX2+LCDSON)\r
3172 #define LCD6MUX                (LCDMX2+LCDMX0+LCDSON)\r
3173 #define LCD7MUX                (LCDMX2+LCDMX1+LCDSON)\r
3174 #define LCD8MUX                (LCDMX2+LCDMX1+LCDMX0+LCDSON)\r
3175 \r
3176 // LCDCCTL1\r
3177 #define LCDFRMIFG              (0x0001)       /* LCD_C LCD frame interrupt flag */\r
3178 #define LCDBLKOFFIFG           (0x0002)       /* LCD_C LCD blinking off interrupt flag, */\r
3179 #define LCDBLKONIFG            (0x0004)       /* LCD_C LCD blinking on interrupt flag, */\r
3180 #define LCDNOCAPIFG            (0x0008)       /* LCD_C No cpacitance connected interrupt flag */\r
3181 #define LCDFRMIE               (0x0100)       /* LCD_C LCD frame interrupt enable */\r
3182 #define LCDBLKOFFIE            (0x0200)       /* LCD_C LCD blinking off interrupt flag, */\r
3183 #define LCDBLKONIE             (0x0400)       /* LCD_C LCD blinking on interrupt flag, */\r
3184 #define LCDNOCAPIE             (0x0800)       /* LCD_C No cpacitance connected interrupt enable */\r
3185 \r
3186 // LCDCCTL1\r
3187 #define LCDFRMIFG_L            (0x0001)       /* LCD_C LCD frame interrupt flag */\r
3188 #define LCDBLKOFFIFG_L         (0x0002)       /* LCD_C LCD blinking off interrupt flag, */\r
3189 #define LCDBLKONIFG_L          (0x0004)       /* LCD_C LCD blinking on interrupt flag, */\r
3190 #define LCDNOCAPIFG_L          (0x0008)       /* LCD_C No cpacitance connected interrupt flag */\r
3191 \r
3192 // LCDCCTL1\r
3193 #define LCDFRMIE_H             (0x0001)       /* LCD_C LCD frame interrupt enable */\r
3194 #define LCDBLKOFFIE_H          (0x0002)       /* LCD_C LCD blinking off interrupt flag, */\r
3195 #define LCDBLKONIE_H           (0x0004)       /* LCD_C LCD blinking on interrupt flag, */\r
3196 #define LCDNOCAPIE_H           (0x0008)       /* LCD_C No cpacitance connected interrupt enable */\r
3197 \r
3198 // LCDCBLKCTL\r
3199 #define LCDBLKMOD0             (0x0001)       /* LCD_C Blinking mode Bit: 0 */\r
3200 #define LCDBLKMOD1             (0x0002)       /* LCD_C Blinking mode Bit: 1 */\r
3201 #define LCDBLKPRE0             (0x0004)       /* LCD_C Clock pre-scaler for blinking frequency Bit: 0 */\r
3202 #define LCDBLKPRE1             (0x0008)       /* LCD_C Clock pre-scaler for blinking frequency Bit: 1 */\r
3203 #define LCDBLKPRE2             (0x0010)       /* LCD_C Clock pre-scaler for blinking frequency Bit: 2 */\r
3204 #define LCDBLKDIV0             (0x0020)       /* LCD_C Clock divider for blinking frequency Bit: 0 */\r
3205 #define LCDBLKDIV1             (0x0040)       /* LCD_C Clock divider for blinking frequency Bit: 1 */\r
3206 #define LCDBLKDIV2             (0x0080)       /* LCD_C Clock divider for blinking frequency Bit: 2 */\r
3207 \r
3208 // LCDCBLKCTL\r
3209 #define LCDBLKMOD0_L           (0x0001)       /* LCD_C Blinking mode Bit: 0 */\r
3210 #define LCDBLKMOD1_L           (0x0002)       /* LCD_C Blinking mode Bit: 1 */\r
3211 #define LCDBLKPRE0_L           (0x0004)       /* LCD_C Clock pre-scaler for blinking frequency Bit: 0 */\r
3212 #define LCDBLKPRE1_L           (0x0008)       /* LCD_C Clock pre-scaler for blinking frequency Bit: 1 */\r
3213 #define LCDBLKPRE2_L           (0x0010)       /* LCD_C Clock pre-scaler for blinking frequency Bit: 2 */\r
3214 #define LCDBLKDIV0_L           (0x0020)       /* LCD_C Clock divider for blinking frequency Bit: 0 */\r
3215 #define LCDBLKDIV1_L           (0x0040)       /* LCD_C Clock divider for blinking frequency Bit: 1 */\r
3216 #define LCDBLKDIV2_L           (0x0080)       /* LCD_C Clock divider for blinking frequency Bit: 2 */\r
3217 \r
3218 #define LCDBLKMOD_0            (0x0000)       /* LCD_C Blinking mode: Off */\r
3219 #define LCDBLKMOD_1            (0x0001)       /* LCD_C Blinking mode: Individual */\r
3220 #define LCDBLKMOD_2            (0x0002)       /* LCD_C Blinking mode: All */\r
3221 #define LCDBLKMOD_3            (0x0003)       /* LCD_C Blinking mode: Switching */\r
3222 \r
3223 // LCDCMEMCTL\r
3224 #define LCDDISP                (0x0001)       /* LCD_C LCD memory registers for display */\r
3225 #define LCDCLRM                (0x0002)       /* LCD_C Clear LCD memory */\r
3226 #define LCDCLRBM               (0x0004)       /* LCD_C Clear LCD blinking memory */\r
3227 \r
3228 // LCDCMEMCTL\r
3229 #define LCDDISP_L              (0x0001)       /* LCD_C LCD memory registers for display */\r
3230 #define LCDCLRM_L              (0x0002)       /* LCD_C Clear LCD memory */\r
3231 #define LCDCLRBM_L             (0x0004)       /* LCD_C Clear LCD blinking memory */\r
3232 \r
3233 // LCDCVCTL\r
3234 #define LCD2B                  (0x0001)       /* Selects 1/2 bias. */\r
3235 #define VLCDREF0               (0x0002)       /* Selects reference voltage for regulated charge pump: 0 */\r
3236 #define VLCDREF1               (0x0004)       /* Selects reference voltage for regulated charge pump: 1 */\r
3237 #define LCDCPEN                (0x0008)       /* LCD Voltage Charge Pump Enable. */\r
3238 #define VLCDEXT                (0x0010)       /* Select external source for VLCD. */\r
3239 #define LCDEXTBIAS             (0x0020)       /* V2 - V4 voltage select. */\r
3240 #define R03EXT                 (0x0040)       /* Selects external connections for LCD mid voltages. */\r
3241 #define LCDREXT                (0x0080)       /* Selects external connection for lowest LCD voltage. */\r
3242 #define VLCD0                  (0x0200)       /* VLCD select: 0 */\r
3243 #define VLCD1                  (0x0400)       /* VLCD select: 1 */\r
3244 #define VLCD2                  (0x0800)       /* VLCD select: 2 */\r
3245 #define VLCD3                  (0x1000)       /* VLCD select: 3 */\r
3246 #define VLCD4                  (0x2000)       /* VLCD select: 4 */\r
3247 #define VLCD5                  (0x4000)       /* VLCD select: 5 */\r
3248 \r
3249 // LCDCVCTL\r
3250 #define LCD2B_L                (0x0001)       /* Selects 1/2 bias. */\r
3251 #define VLCDREF0_L             (0x0002)       /* Selects reference voltage for regulated charge pump: 0 */\r
3252 #define VLCDREF1_L             (0x0004)       /* Selects reference voltage for regulated charge pump: 1 */\r
3253 #define LCDCPEN_L              (0x0008)       /* LCD Voltage Charge Pump Enable. */\r
3254 #define VLCDEXT_L              (0x0010)       /* Select external source for VLCD. */\r
3255 #define LCDEXTBIAS_L           (0x0020)       /* V2 - V4 voltage select. */\r
3256 #define R03EXT_L               (0x0040)       /* Selects external connections for LCD mid voltages. */\r
3257 #define LCDREXT_L              (0x0080)       /* Selects external connection for lowest LCD voltage. */\r
3258 \r
3259 // LCDCVCTL\r
3260 #define VLCD0_H                (0x0002)       /* VLCD select: 0 */\r
3261 #define VLCD1_H                (0x0004)       /* VLCD select: 1 */\r
3262 #define VLCD2_H                (0x0008)       /* VLCD select: 2 */\r
3263 #define VLCD3_H                (0x0010)       /* VLCD select: 3 */\r
3264 #define VLCD4_H                (0x0020)       /* VLCD select: 4 */\r
3265 #define VLCD5_H                (0x0040)       /* VLCD select: 5 */\r
3266 \r
3267 /* Reference voltage source select for the regulated charge pump */\r
3268 #define VLCDREF_0              (0x0000)       /* Internal */\r
3269 #define VLCDREF_1              (0x0002)       /* External */\r
3270 #define VLCDREF_2              (0x0004)       /* Reserved */\r
3271 #define VLCDREF_3              (0x0006)       /* Reserved */\r
3272 \r
3273 /* Charge pump voltage selections */\r
3274 #define VLCD_0                 (0x0000)       /* Charge pump disabled */\r
3275 #define VLCD_1                 (0x0200)       /* VLCD = 2.60V */\r
3276 #define VLCD_2                 (0x0400)       /* VLCD = 2.66V */\r
3277 #define VLCD_3                 (0x0600)       /* VLCD = 2.72V */\r
3278 #define VLCD_4                 (0x0800)       /* VLCD = 2.78V */\r
3279 #define VLCD_5                 (0x0A00)       /* VLCD = 2.84V */\r
3280 #define VLCD_6                 (0x0C00)       /* VLCD = 2.90V */\r
3281 #define VLCD_7                 (0x0E00)       /* VLCD = 2.96V */\r
3282 #define VLCD_8                 (0x1000)       /* VLCD = 3.02V */\r
3283 #define VLCD_9                 (0x1200)       /* VLCD = 3.08V */\r
3284 #define VLCD_10                (0x1400)       /* VLCD = 3.14V */\r
3285 #define VLCD_11                (0x1600)       /* VLCD = 3.20V */\r
3286 #define VLCD_12                (0x1800)       /* VLCD = 3.26V */\r
3287 #define VLCD_13                (0x1A00)       /* VLCD = 3.32V */\r
3288 #define VLCD_14                (0x1C00)       /* VLCD = 3.38V */\r
3289 #define VLCD_15                (0x1E00)       /* VLCD = 3.44V */\r
3290 \r
3291 #define VLCD_DISABLED          (0x0000)       /* Charge pump disabled */\r
3292 #define VLCD_2_60              (0x0200)       /* VLCD = 2.60V */\r
3293 #define VLCD_2_66              (0x0400)       /* VLCD = 2.66V */\r
3294 #define VLCD_2_72              (0x0600)       /* VLCD = 2.72V */\r
3295 #define VLCD_2_78              (0x0800)       /* VLCD = 2.78V */\r
3296 #define VLCD_2_84              (0x0A00)       /* VLCD = 2.84V */\r
3297 #define VLCD_2_90              (0x0C00)       /* VLCD = 2.90V */\r
3298 #define VLCD_2_96              (0x0E00)       /* VLCD = 2.96V */\r
3299 #define VLCD_3_02              (0x1000)       /* VLCD = 3.02V */\r
3300 #define VLCD_3_08              (0x1200)       /* VLCD = 3.08V */\r
3301 #define VLCD_3_14              (0x1400)       /* VLCD = 3.14V */\r
3302 #define VLCD_3_20              (0x1600)       /* VLCD = 3.20V */\r
3303 #define VLCD_3_26              (0x1800)       /* VLCD = 3.26V */\r
3304 #define VLCD_3_32              (0x1A00)       /* VLCD = 3.32V */\r
3305 #define VLCD_3_38              (0x1C00)       /* VLCD = 3.38V */\r
3306 #define VLCD_3_44              (0x1E00)       /* VLCD = 3.44V */\r
3307 \r
3308 // LCDCPCTL0\r
3309 #define LCDS0                  (0x0001)       /* LCD Segment  0 enable. */\r
3310 #define LCDS1                  (0x0002)       /* LCD Segment  1 enable. */\r
3311 #define LCDS2                  (0x0004)       /* LCD Segment  2 enable. */\r
3312 #define LCDS3                  (0x0008)       /* LCD Segment  3 enable. */\r
3313 #define LCDS4                  (0x0010)       /* LCD Segment  4 enable. */\r
3314 #define LCDS5                  (0x0020)       /* LCD Segment  5 enable. */\r
3315 #define LCDS6                  (0x0040)       /* LCD Segment  6 enable. */\r
3316 #define LCDS7                  (0x0080)       /* LCD Segment  7 enable. */\r
3317 #define LCDS8                  (0x0100)       /* LCD Segment  8 enable. */\r
3318 #define LCDS9                  (0x0200)       /* LCD Segment  9 enable. */\r
3319 #define LCDS10                 (0x0400)       /* LCD Segment 10 enable. */\r
3320 #define LCDS11                 (0x0800)       /* LCD Segment 11 enable. */\r
3321 #define LCDS12                 (0x1000)       /* LCD Segment 12 enable. */\r
3322 #define LCDS13                 (0x2000)       /* LCD Segment 13 enable. */\r
3323 #define LCDS14                 (0x4000)       /* LCD Segment 14 enable. */\r
3324 #define LCDS15                 (0x8000)       /* LCD Segment 15 enable. */\r
3325 \r
3326 // LCDCPCTL0\r
3327 #define LCDS0_L                (0x0001)       /* LCD Segment  0 enable. */\r
3328 #define LCDS1_L                (0x0002)       /* LCD Segment  1 enable. */\r
3329 #define LCDS2_L                (0x0004)       /* LCD Segment  2 enable. */\r
3330 #define LCDS3_L                (0x0008)       /* LCD Segment  3 enable. */\r
3331 #define LCDS4_L                (0x0010)       /* LCD Segment  4 enable. */\r
3332 #define LCDS5_L                (0x0020)       /* LCD Segment  5 enable. */\r
3333 #define LCDS6_L                (0x0040)       /* LCD Segment  6 enable. */\r
3334 #define LCDS7_L                (0x0080)       /* LCD Segment  7 enable. */\r
3335 \r
3336 // LCDCPCTL0\r
3337 #define LCDS8_H                (0x0001)       /* LCD Segment  8 enable. */\r
3338 #define LCDS9_H                (0x0002)       /* LCD Segment  9 enable. */\r
3339 #define LCDS10_H               (0x0004)       /* LCD Segment 10 enable. */\r
3340 #define LCDS11_H               (0x0008)       /* LCD Segment 11 enable. */\r
3341 #define LCDS12_H               (0x0010)       /* LCD Segment 12 enable. */\r
3342 #define LCDS13_H               (0x0020)       /* LCD Segment 13 enable. */\r
3343 #define LCDS14_H               (0x0040)       /* LCD Segment 14 enable. */\r
3344 #define LCDS15_H               (0x0080)       /* LCD Segment 15 enable. */\r
3345 \r
3346 // LCDCPCTL1\r
3347 #define LCDS16                 (0x0001)       /* LCD Segment 16 enable. */\r
3348 #define LCDS17                 (0x0002)       /* LCD Segment 17 enable. */\r
3349 #define LCDS18                 (0x0004)       /* LCD Segment 18 enable. */\r
3350 #define LCDS19                 (0x0008)       /* LCD Segment 19 enable. */\r
3351 #define LCDS20                 (0x0010)       /* LCD Segment 20 enable. */\r
3352 #define LCDS21                 (0x0020)       /* LCD Segment 21 enable. */\r
3353 #define LCDS22                 (0x0040)       /* LCD Segment 22 enable. */\r
3354 #define LCDS23                 (0x0080)       /* LCD Segment 23 enable. */\r
3355 #define LCDS24                 (0x0100)       /* LCD Segment 24 enable. */\r
3356 #define LCDS25                 (0x0200)       /* LCD Segment 25 enable. */\r
3357 #define LCDS26                 (0x0400)       /* LCD Segment 26 enable. */\r
3358 #define LCDS27                 (0x0800)       /* LCD Segment 27 enable. */\r
3359 #define LCDS28                 (0x1000)       /* LCD Segment 28 enable. */\r
3360 #define LCDS29                 (0x2000)       /* LCD Segment 29 enable. */\r
3361 #define LCDS30                 (0x4000)       /* LCD Segment 30 enable. */\r
3362 #define LCDS31                 (0x8000)       /* LCD Segment 31 enable. */\r
3363 \r
3364 // LCDCPCTL1\r
3365 #define LCDS16_L               (0x0001)       /* LCD Segment 16 enable. */\r
3366 #define LCDS17_L               (0x0002)       /* LCD Segment 17 enable. */\r
3367 #define LCDS18_L               (0x0004)       /* LCD Segment 18 enable. */\r
3368 #define LCDS19_L               (0x0008)       /* LCD Segment 19 enable. */\r
3369 #define LCDS20_L               (0x0010)       /* LCD Segment 20 enable. */\r
3370 #define LCDS21_L               (0x0020)       /* LCD Segment 21 enable. */\r
3371 #define LCDS22_L               (0x0040)       /* LCD Segment 22 enable. */\r
3372 #define LCDS23_L               (0x0080)       /* LCD Segment 23 enable. */\r
3373 \r
3374 // LCDCPCTL1\r
3375 #define LCDS24_H               (0x0001)       /* LCD Segment 24 enable. */\r
3376 #define LCDS25_H               (0x0002)       /* LCD Segment 25 enable. */\r
3377 #define LCDS26_H               (0x0004)       /* LCD Segment 26 enable. */\r
3378 #define LCDS27_H               (0x0008)       /* LCD Segment 27 enable. */\r
3379 #define LCDS28_H               (0x0010)       /* LCD Segment 28 enable. */\r
3380 #define LCDS29_H               (0x0020)       /* LCD Segment 29 enable. */\r
3381 #define LCDS30_H               (0x0040)       /* LCD Segment 30 enable. */\r
3382 #define LCDS31_H               (0x0080)       /* LCD Segment 31 enable. */\r
3383 \r
3384 // LCDCPCTL2\r
3385 #define LCDS32                 (0x0001)       /* LCD Segment 32 enable. */\r
3386 #define LCDS33                 (0x0002)       /* LCD Segment 33 enable. */\r
3387 #define LCDS34                 (0x0004)       /* LCD Segment 34 enable. */\r
3388 #define LCDS35                 (0x0008)       /* LCD Segment 35 enable. */\r
3389 #define LCDS36                 (0x0010)       /* LCD Segment 36 enable. */\r
3390 #define LCDS37                 (0x0020)       /* LCD Segment 37 enable. */\r
3391 #define LCDS38                 (0x0040)       /* LCD Segment 38 enable. */\r
3392 #define LCDS39                 (0x0080)       /* LCD Segment 39 enable. */\r
3393 #define LCDS40                 (0x0100)       /* LCD Segment 40 enable. */\r
3394 #define LCDS41                 (0x0200)       /* LCD Segment 41 enable. */\r
3395 #define LCDS42                 (0x0400)       /* LCD Segment 42 enable. */\r
3396 #define LCDS43                 (0x0800)       /* LCD Segment 43 enable. */\r
3397 #define LCDS44                 (0x1000)       /* LCD Segment 44 enable. */\r
3398 #define LCDS45                 (0x2000)       /* LCD Segment 45 enable. */\r
3399 #define LCDS46                 (0x4000)       /* LCD Segment 46 enable. */\r
3400 #define LCDS47                 (0x8000)       /* LCD Segment 47 enable. */\r
3401 \r
3402 // LCDCPCTL2\r
3403 #define LCDS32_L               (0x0001)       /* LCD Segment 32 enable. */\r
3404 #define LCDS33_L               (0x0002)       /* LCD Segment 33 enable. */\r
3405 #define LCDS34_L               (0x0004)       /* LCD Segment 34 enable. */\r
3406 #define LCDS35_L               (0x0008)       /* LCD Segment 35 enable. */\r
3407 #define LCDS36_L               (0x0010)       /* LCD Segment 36 enable. */\r
3408 #define LCDS37_L               (0x0020)       /* LCD Segment 37 enable. */\r
3409 #define LCDS38_L               (0x0040)       /* LCD Segment 38 enable. */\r
3410 #define LCDS39_L               (0x0080)       /* LCD Segment 39 enable. */\r
3411 \r
3412 // LCDCPCTL2\r
3413 #define LCDS40_H               (0x0001)       /* LCD Segment 40 enable. */\r
3414 #define LCDS41_H               (0x0002)       /* LCD Segment 41 enable. */\r
3415 #define LCDS42_H               (0x0004)       /* LCD Segment 42 enable. */\r
3416 #define LCDS43_H               (0x0008)       /* LCD Segment 43 enable. */\r
3417 #define LCDS44_H               (0x0010)       /* LCD Segment 44 enable. */\r
3418 #define LCDS45_H               (0x0020)       /* LCD Segment 45 enable. */\r
3419 #define LCDS46_H               (0x0040)       /* LCD Segment 46 enable. */\r
3420 #define LCDS47_H               (0x0080)       /* LCD Segment 47 enable. */\r
3421 \r
3422 // LCDCPCTL3\r
3423 #define LCDS48                 (0x0001)       /* LCD Segment 48 enable. */\r
3424 #define LCDS49                 (0x0002)       /* LCD Segment 49 enable. */\r
3425 #define LCDS50                 (0x0004)       /* LCD Segment 50 enable. */\r
3426 #define LCDS51                 (0x0008)       /* LCD Segment 51 enable. */\r
3427 #define LCDS52                 (0x0010)       /* LCD Segment 52 enable. */\r
3428 #define LCDS53                 (0x0020)       /* LCD Segment 53 enable. */\r
3429 \r
3430 // LCDCPCTL3\r
3431 #define LCDS48_L               (0x0001)       /* LCD Segment 48 enable. */\r
3432 #define LCDS49_L               (0x0002)       /* LCD Segment 49 enable. */\r
3433 #define LCDS50_L               (0x0004)       /* LCD Segment 50 enable. */\r
3434 #define LCDS51_L               (0x0008)       /* LCD Segment 51 enable. */\r
3435 #define LCDS52_L               (0x0010)       /* LCD Segment 52 enable. */\r
3436 #define LCDS53_L               (0x0020)       /* LCD Segment 53 enable. */\r
3437 \r
3438 // LCDCCPCTL\r
3439 #define LCDCPDIS0              (0x0001)       /* LCD charge pump disable */\r
3440 #define LCDCPDIS1              (0x0002)       /* LCD charge pump disable */\r
3441 #define LCDCPDIS2              (0x0004)       /* LCD charge pump disable */\r
3442 #define LCDCPDIS3              (0x0008)       /* LCD charge pump disable */\r
3443 #define LCDCPDIS4              (0x0010)       /* LCD charge pump disable */\r
3444 #define LCDCPDIS5              (0x0020)       /* LCD charge pump disable */\r
3445 #define LCDCPDIS6              (0x0040)       /* LCD charge pump disable */\r
3446 #define LCDCPDIS7              (0x0080)       /* LCD charge pump disable */\r
3447 #define LCDCPCLKSYNC           (0x8000)       /* LCD charge pump clock synchronization */\r
3448 \r
3449 // LCDCCPCTL\r
3450 #define LCDCPDIS0_L            (0x0001)       /* LCD charge pump disable */\r
3451 #define LCDCPDIS1_L            (0x0002)       /* LCD charge pump disable */\r
3452 #define LCDCPDIS2_L            (0x0004)       /* LCD charge pump disable */\r
3453 #define LCDCPDIS3_L            (0x0008)       /* LCD charge pump disable */\r
3454 #define LCDCPDIS4_L            (0x0010)       /* LCD charge pump disable */\r
3455 #define LCDCPDIS5_L            (0x0020)       /* LCD charge pump disable */\r
3456 #define LCDCPDIS6_L            (0x0040)       /* LCD charge pump disable */\r
3457 #define LCDCPDIS7_L            (0x0080)       /* LCD charge pump disable */\r
3458 \r
3459 // LCDCCPCTL\r
3460 #define LCDCPCLKSYNC_H         (0x0080)       /* LCD charge pump clock synchronization */\r
3461 \r
3462 #define OFS_LCDM1              (0x0020)       /* LCD Memory 1 */\r
3463 #define LCDMEM_                LCDM1          /* LCD Memory */\r
3464 #ifdef __ASM_HEADER__\r
3465 #define LCDMEM                 LCDM1          /* LCD Memory (for assembler) */\r
3466 #else\r
3467 #define LCDMEM                 ((char*)       &LCDM1) /* LCD Memory (for C) */\r
3468 #endif\r
3469 #define OFS_LCDM2              (0x0021)       /* LCD Memory 2 */\r
3470 #define OFS_LCDM3              (0x0022)       /* LCD Memory 3 */\r
3471 #define OFS_LCDM4              (0x0023)       /* LCD Memory 4 */\r
3472 #define OFS_LCDM5              (0x0024)       /* LCD Memory 5 */\r
3473 #define OFS_LCDM6              (0x0025)       /* LCD Memory 6 */\r
3474 #define OFS_LCDM7              (0x0026)       /* LCD Memory 7 */\r
3475 #define OFS_LCDM8              (0x0027)       /* LCD Memory 8 */\r
3476 #define OFS_LCDM9              (0x0028)       /* LCD Memory 9 */\r
3477 #define OFS_LCDM10             (0x0029)       /* LCD Memory 10 */\r
3478 #define OFS_LCDM11             (0x002A)       /* LCD Memory 11 */\r
3479 #define OFS_LCDM12             (0x002B)       /* LCD Memory 12 */\r
3480 #define OFS_LCDM13             (0x002C)       /* LCD Memory 13 */\r
3481 #define OFS_LCDM14             (0x002D)       /* LCD Memory 14 */\r
3482 #define OFS_LCDM15             (0x002E)       /* LCD Memory 15 */\r
3483 #define OFS_LCDM16             (0x002F)       /* LCD Memory 16 */\r
3484 #define OFS_LCDM17             (0x0030)       /* LCD Memory 17 */\r
3485 #define OFS_LCDM18             (0x0031)       /* LCD Memory 18 */\r
3486 #define OFS_LCDM19             (0x0032)       /* LCD Memory 19 */\r
3487 #define OFS_LCDM20             (0x0033)       /* LCD Memory 20 */\r
3488 #define OFS_LCDM21             (0x0034)       /* LCD Memory 21 */\r
3489 #define OFS_LCDM22             (0x0035)       /* LCD Memory 22 */\r
3490 #define OFS_LCDM23             (0x0036)       /* LCD Memory 23 */\r
3491 #define OFS_LCDM24             (0x0037)       /* LCD Memory 24 */\r
3492 #define OFS_LCDM25             (0x0038)       /* LCD Memory 25 */\r
3493 #define OFS_LCDM26             (0x0039)       /* LCD Memory 26 */\r
3494 #define OFS_LCDM27             (0x003A)       /* LCD Memory 27 */\r
3495 #define OFS_LCDM28             (0x003B)       /* LCD Memory 28 */\r
3496 #define OFS_LCDM29             (0x003C)       /* LCD Memory 29 */\r
3497 #define OFS_LCDM30             (0x003D)       /* LCD Memory 30 */\r
3498 #define OFS_LCDM31             (0x003E)       /* LCD Memory 31 */\r
3499 #define OFS_LCDM32             (0x003F)       /* LCD Memory 32 */\r
3500 #define OFS_LCDM33             (0x0040)       /* LCD Memory 33 */\r
3501 #define OFS_LCDM34             (0x0041)       /* LCD Memory 34 */\r
3502 #define OFS_LCDM35             (0x0042)       /* LCD Memory 35 */\r
3503 #define OFS_LCDM36             (0x0043)       /* LCD Memory 36 */\r
3504 #define OFS_LCDM37             (0x0044)       /* LCD Memory 37 */\r
3505 #define OFS_LCDM38             (0x0045)       /* LCD Memory 38 */\r
3506 #define OFS_LCDM39             (0x0046)       /* LCD Memory 39 */\r
3507 #define OFS_LCDM40             (0x0047)       /* LCD Memory 40 */\r
3508 \r
3509 #define OFS_LCDBM1             (0x0040)       /* LCD Blinking Memory 1 */\r
3510 #define LCDBMEM_               LCDBM1         /* LCD Blinking Memory */\r
3511 #ifdef __ASM_HEADER__\r
3512 #define LCDBMEM                (LCDBM1)       /* LCD Blinking Memory (for assembler) */\r
3513 #else\r
3514 #define LCDBMEM                ((char*)       &LCDBM1) /* LCD Blinking Memory (for C) */\r
3515 #endif\r
3516 #define OFS_LCDBM2             (0x0041)       /* LCD Blinking Memory 2 */\r
3517 #define OFS_LCDBM3             (0x0042)       /* LCD Blinking Memory 3 */\r
3518 #define OFS_LCDBM4             (0x0043)       /* LCD Blinking Memory 4 */\r
3519 #define OFS_LCDBM5             (0x0044)       /* LCD Blinking Memory 5 */\r
3520 #define OFS_LCDBM6             (0x0045)       /* LCD Blinking Memory 6 */\r
3521 #define OFS_LCDBM7             (0x0046)       /* LCD Blinking Memory 7 */\r
3522 #define OFS_LCDBM8             (0x0047)       /* LCD Blinking Memory 8 */\r
3523 #define OFS_LCDBM9             (0x0048)       /* LCD Blinking Memory 9 */\r
3524 #define OFS_LCDBM10            (0x0049)       /* LCD Blinking Memory 10 */\r
3525 #define OFS_LCDBM11            (0x004A)       /* LCD Blinking Memory 11 */\r
3526 #define OFS_LCDBM12            (0x004B)       /* LCD Blinking Memory 12 */\r
3527 #define OFS_LCDBM13            (0x004C)       /* LCD Blinking Memory 13 */\r
3528 #define OFS_LCDBM14            (0x004D)       /* LCD Blinking Memory 14 */\r
3529 #define OFS_LCDBM15            (0x004E)       /* LCD Blinking Memory 15 */\r
3530 #define OFS_LCDBM16            (0x004F)       /* LCD Blinking Memory 16 */\r
3531 #define OFS_LCDBM17            (0x0050)       /* LCD Blinking Memory 17 */\r
3532 #define OFS_LCDBM18            (0x0051)       /* LCD Blinking Memory 18 */\r
3533 #define OFS_LCDBM19            (0x0052)       /* LCD Blinking Memory 19 */\r
3534 #define OFS_LCDBM20            (0x0053)       /* LCD Blinking Memory 20 */\r
3535 \r
3536 /* LCDCIV Definitions */\r
3537 #define LCDCIV_NONE            (0x0000)       /* No Interrupt pending */\r
3538 #define LCDCIV_LCDNOCAPIFG     (0x0002)       /* No capacitor connected */\r
3539 #define LCDCIV_LCDCLKOFFIFG    (0x0004)       /* Blink, segments off */\r
3540 #define LCDCIV_LCDCLKONIFG     (0x0006)       /* Blink, segments on */\r
3541 #define LCDCIV_LCDFRMIFG       (0x0008)       /* Frame interrupt */\r
3542 \r
3543 #endif\r
3544 /************************************************************\r
3545 * Memory Protection Unit\r
3546 ************************************************************/\r
3547 #ifdef  __MSP430_HAS_MPU__             /* Definition to show that Module is available */\r
3548 \r
3549 #define OFS_MPUCTL0            (0x0000)       /* MPU Control Register 0 */\r
3550 #define OFS_MPUCTL0_L          OFS_MPUCTL0\r
3551 #define OFS_MPUCTL0_H          OFS_MPUCTL0+1\r
3552 #define OFS_MPUCTL1            (0x0002)       /* MPU Control Register 1 */\r
3553 #define OFS_MPUCTL1_L          OFS_MPUCTL1\r
3554 #define OFS_MPUCTL1_H          OFS_MPUCTL1+1\r
3555 #define OFS_MPUSEGB2           (0x0004)       /* MPU Segmentation Border 2 Register */\r
3556 #define OFS_MPUSEGB2_L         OFS_MPUSEGB2\r
3557 #define OFS_MPUSEGB2_H         OFS_MPUSEGB2+1\r
3558 #define OFS_MPUSEGB1           (0x0006)       /* MPU Segmentation Border 1 Register */\r
3559 #define OFS_MPUSEGB1_L         OFS_MPUSEGB1\r
3560 #define OFS_MPUSEGB1_H         OFS_MPUSEGB1+1\r
3561 #define OFS_MPUSAM             (0x0008)       /* MPU Access Management Register */\r
3562 #define OFS_MPUSAM_L           OFS_MPUSAM\r
3563 #define OFS_MPUSAM_H           OFS_MPUSAM+1\r
3564 #define OFS_MPUIPC0            (0x000A)       /* MPU IP Control 0 Register */\r
3565 #define OFS_MPUIPC0_L          OFS_MPUIPC0\r
3566 #define OFS_MPUIPC0_H          OFS_MPUIPC0+1\r
3567 #define OFS_MPUIPSEGB2         (0x000C)       /* MPU IP Segment Border 2 Register */\r
3568 #define OFS_MPUIPSEGB2_L       OFS_MPUIPSEGB2\r
3569 #define OFS_MPUIPSEGB2_H       OFS_MPUIPSEGB2+1\r
3570 #define OFS_MPUIPSEGB1         (0x000E)       /* MPU IP Segment Border 1 Register */\r
3571 #define OFS_MPUIPSEGB1_L       OFS_MPUIPSEGB1\r
3572 #define OFS_MPUIPSEGB1_H       OFS_MPUIPSEGB1+1\r
3573 \r
3574 /* MPUCTL0 Control Bits */\r
3575 #define MPUENA                 (0x0001)       /* MPU Enable */\r
3576 #define MPULOCK                (0x0002)       /* MPU Lock */\r
3577 #define MPUSEGIE               (0x0010)       /* MPU Enable NMI on Segment violation */\r
3578 \r
3579 /* MPUCTL0 Control Bits */\r
3580 #define MPUENA_L               (0x0001)       /* MPU Enable */\r
3581 #define MPULOCK_L              (0x0002)       /* MPU Lock */\r
3582 #define MPUSEGIE_L             (0x0010)       /* MPU Enable NMI on Segment violation */\r
3583 \r
3584 #define MPUPW                  (0xA500)       /* MPU Access Password */\r
3585 #define MPUPW_H                (0xA5)         /* MPU Access Password */\r
3586 \r
3587 /* MPUCTL1 Control Bits */\r
3588 #define MPUSEG1IFG             (0x0001)       /* MPU Main Memory Segment 1 violation interupt flag */\r
3589 #define MPUSEG2IFG             (0x0002)       /* MPU Main Memory Segment 2 violation interupt flag */\r
3590 #define MPUSEG3IFG             (0x0004)       /* MPU Main Memory Segment 3 violation interupt flag */\r
3591 #define MPUSEGIIFG             (0x0008)       /* MPU Info Memory Segment violation interupt flag */\r
3592 #define MPUSEGIPIFG            (0x0010)       /* MPU IP Memory Segment violation interupt flag */\r
3593 \r
3594 /* MPUCTL1 Control Bits */\r
3595 #define MPUSEG1IFG_L           (0x0001)       /* MPU Main Memory Segment 1 violation interupt flag */\r
3596 #define MPUSEG2IFG_L           (0x0002)       /* MPU Main Memory Segment 2 violation interupt flag */\r
3597 #define MPUSEG3IFG_L           (0x0004)       /* MPU Main Memory Segment 3 violation interupt flag */\r
3598 #define MPUSEGIIFG_L           (0x0008)       /* MPU Info Memory Segment violation interupt flag */\r
3599 #define MPUSEGIPIFG_L          (0x0010)       /* MPU IP Memory Segment violation interupt flag */\r
3600 \r
3601 /* MPUSEGB2 Control Bits */\r
3602 \r
3603 /* MPUSEGB2 Control Bits */\r
3604 \r
3605 /* MPUSEGB2 Control Bits */\r
3606 \r
3607 /* MPUSEGB1 Control Bits */\r
3608 \r
3609 /* MPUSEGB1 Control Bits */\r
3610 \r
3611 /* MPUSEGB1 Control Bits */\r
3612 \r
3613 /* MPUSAM Control Bits */\r
3614 #define MPUSEG1RE              (0x0001)       /* MPU Main memory Segment 1 Read enable */\r
3615 #define MPUSEG1WE              (0x0002)       /* MPU Main memory Segment 1 Write enable */\r
3616 #define MPUSEG1XE              (0x0004)       /* MPU Main memory Segment 1 Execute enable */\r
3617 #define MPUSEG1VS              (0x0008)       /* MPU Main memory Segment 1 Violation select */\r
3618 #define MPUSEG2RE              (0x0010)       /* MPU Main memory Segment 2 Read enable */\r
3619 #define MPUSEG2WE              (0x0020)       /* MPU Main memory Segment 2 Write enable */\r
3620 #define MPUSEG2XE              (0x0040)       /* MPU Main memory Segment 2 Execute enable */\r
3621 #define MPUSEG2VS              (0x0080)       /* MPU Main memory Segment 2 Violation select */\r
3622 #define MPUSEG3RE              (0x0100)       /* MPU Main memory Segment 3 Read enable */\r
3623 #define MPUSEG3WE              (0x0200)       /* MPU Main memory Segment 3 Write enable */\r
3624 #define MPUSEG3XE              (0x0400)       /* MPU Main memory Segment 3 Execute enable */\r
3625 #define MPUSEG3VS              (0x0800)       /* MPU Main memory Segment 3 Violation select */\r
3626 #define MPUSEGIRE              (0x1000)       /* MPU Info memory Segment Read enable */\r
3627 #define MPUSEGIWE              (0x2000)       /* MPU Info memory Segment Write enable */\r
3628 #define MPUSEGIXE              (0x4000)       /* MPU Info memory Segment Execute enable */\r
3629 #define MPUSEGIVS              (0x8000)       /* MPU Info memory Segment Violation select */\r
3630 \r
3631 /* MPUSAM Control Bits */\r
3632 #define MPUSEG1RE_L            (0x0001)       /* MPU Main memory Segment 1 Read enable */\r
3633 #define MPUSEG1WE_L            (0x0002)       /* MPU Main memory Segment 1 Write enable */\r
3634 #define MPUSEG1XE_L            (0x0004)       /* MPU Main memory Segment 1 Execute enable */\r
3635 #define MPUSEG1VS_L            (0x0008)       /* MPU Main memory Segment 1 Violation select */\r
3636 #define MPUSEG2RE_L            (0x0010)       /* MPU Main memory Segment 2 Read enable */\r
3637 #define MPUSEG2WE_L            (0x0020)       /* MPU Main memory Segment 2 Write enable */\r
3638 #define MPUSEG2XE_L            (0x0040)       /* MPU Main memory Segment 2 Execute enable */\r
3639 #define MPUSEG2VS_L            (0x0080)       /* MPU Main memory Segment 2 Violation select */\r
3640 \r
3641 /* MPUSAM Control Bits */\r
3642 #define MPUSEG3RE_H            (0x0001)       /* MPU Main memory Segment 3 Read enable */\r
3643 #define MPUSEG3WE_H            (0x0002)       /* MPU Main memory Segment 3 Write enable */\r
3644 #define MPUSEG3XE_H            (0x0004)       /* MPU Main memory Segment 3 Execute enable */\r
3645 #define MPUSEG3VS_H            (0x0008)       /* MPU Main memory Segment 3 Violation select */\r
3646 #define MPUSEGIRE_H            (0x0010)       /* MPU Info memory Segment Read enable */\r
3647 #define MPUSEGIWE_H            (0x0020)       /* MPU Info memory Segment Write enable */\r
3648 #define MPUSEGIXE_H            (0x0040)       /* MPU Info memory Segment Execute enable */\r
3649 #define MPUSEGIVS_H            (0x0080)       /* MPU Info memory Segment Violation select */\r
3650 \r
3651 /* MPUIPC0 Control Bits */\r
3652 #define MPUIPVS                (0x0020)       /* MPU MPU IP protection segment Violation Select */\r
3653 #define MPUIPENA               (0x0040)       /* MPU MPU IP Protection Enable */\r
3654 #define MPUIPLOCK              (0x0080)       /* MPU IP Protection Lock */\r
3655 \r
3656 /* MPUIPC0 Control Bits */\r
3657 #define MPUIPVS_L              (0x0020)       /* MPU MPU IP protection segment Violation Select */\r
3658 #define MPUIPENA_L             (0x0040)       /* MPU MPU IP Protection Enable */\r
3659 #define MPUIPLOCK_L            (0x0080)       /* MPU IP Protection Lock */\r
3660 \r
3661 /* MPUIPSEGB2 Control Bits */\r
3662 \r
3663 /* MPUIPSEGB2 Control Bits */\r
3664 \r
3665 /* MPUIPSEGB2 Control Bits */\r
3666 \r
3667 /* MPUIPSEGB1 Control Bits */\r
3668 \r
3669 /* MPUIPSEGB1 Control Bits */\r
3670 \r
3671 /* MPUIPSEGB1 Control Bits */\r
3672 \r
3673 #endif\r
3674 /************************************************************\r
3675 * HARDWARE MULTIPLIER 32Bit\r
3676 ************************************************************/\r
3677 #ifdef  __MSP430_HAS_MPY32__          /* Definition to show that Module is available */\r
3678 \r
3679 #define OFS_MPY                (0x0000)       /* Multiply Unsigned/Operand 1 */\r
3680 #define OFS_MPY_L              OFS_MPY\r
3681 #define OFS_MPY_H              OFS_MPY+1\r
3682 #define OFS_MPYS               (0x0002)       /* Multiply Signed/Operand 1 */\r
3683 #define OFS_MPYS_L             OFS_MPYS\r
3684 #define OFS_MPYS_H             OFS_MPYS+1\r
3685 #define OFS_MAC                (0x0004)       /* Multiply Unsigned and Accumulate/Operand 1 */\r
3686 #define OFS_MAC_L              OFS_MAC\r
3687 #define OFS_MAC_H              OFS_MAC+1\r
3688 #define OFS_MACS               (0x0006)       /* Multiply Signed and Accumulate/Operand 1 */\r
3689 #define OFS_MACS_L             OFS_MACS\r
3690 #define OFS_MACS_H             OFS_MACS+1\r
3691 #define OFS_OP2                (0x0008)       /* Operand 2 */\r
3692 #define OFS_OP2_L              OFS_OP2\r
3693 #define OFS_OP2_H              OFS_OP2+1\r
3694 #define OFS_RESLO              (0x000A)       /* Result Low Word */\r
3695 #define OFS_RESLO_L            OFS_RESLO\r
3696 #define OFS_RESLO_H            OFS_RESLO+1\r
3697 #define OFS_RESHI              (0x000C)       /* Result High Word */\r
3698 #define OFS_RESHI_L            OFS_RESHI\r
3699 #define OFS_RESHI_H            OFS_RESHI+1\r
3700 #define OFS_SUMEXT             (0x000E)       /* Sum Extend */\r
3701 #define OFS_SUMEXT_L           OFS_SUMEXT\r
3702 #define OFS_SUMEXT_H           OFS_SUMEXT+1\r
3703 #define OFS_MPY32CTL0          (0x002C)\r
3704 #define OFS_MPY32CTL0_L        OFS_MPY32CTL0\r
3705 #define OFS_MPY32CTL0_H        OFS_MPY32CTL0+1\r
3706 \r
3707 #define OFS_MPY32L             (0x0010)       /* 32-bit operand 1 - multiply - low word */\r
3708 #define OFS_MPY32L_L           OFS_MPY32L\r
3709 #define OFS_MPY32L_H           OFS_MPY32L+1\r
3710 #define OFS_MPY32H             (0x0012)       /* 32-bit operand 1 - multiply - high word */\r
3711 #define OFS_MPY32H_L           OFS_MPY32H\r
3712 #define OFS_MPY32H_H           OFS_MPY32H+1\r
3713 #define OFS_MPYS32L            (0x0014)       /* 32-bit operand 1 - signed multiply - low word */\r
3714 #define OFS_MPYS32L_L          OFS_MPYS32L\r
3715 #define OFS_MPYS32L_H          OFS_MPYS32L+1\r
3716 #define OFS_MPYS32H            (0x0016)       /* 32-bit operand 1 - signed multiply - high word */\r
3717 #define OFS_MPYS32H_L          OFS_MPYS32H\r
3718 #define OFS_MPYS32H_H          OFS_MPYS32H+1\r
3719 #define OFS_MAC32L             (0x0018)       /* 32-bit operand 1 - multiply accumulate - low word */\r
3720 #define OFS_MAC32L_L           OFS_MAC32L\r
3721 #define OFS_MAC32L_H           OFS_MAC32L+1\r
3722 #define OFS_MAC32H             (0x001A)       /* 32-bit operand 1 - multiply accumulate - high word */\r
3723 #define OFS_MAC32H_L           OFS_MAC32H\r
3724 #define OFS_MAC32H_H           OFS_MAC32H+1\r
3725 #define OFS_MACS32L            (0x001C)       /* 32-bit operand 1 - signed multiply accumulate - low word */\r
3726 #define OFS_MACS32L_L          OFS_MACS32L\r
3727 #define OFS_MACS32L_H          OFS_MACS32L+1\r
3728 #define OFS_MACS32H            (0x001E)       /* 32-bit operand 1 - signed multiply accumulate - high word */\r
3729 #define OFS_MACS32H_L          OFS_MACS32H\r
3730 #define OFS_MACS32H_H          OFS_MACS32H+1\r
3731 #define OFS_OP2L               (0x0020)       /* 32-bit operand 2 - low word */\r
3732 #define OFS_OP2L_L             OFS_OP2L\r
3733 #define OFS_OP2L_H             OFS_OP2L+1\r
3734 #define OFS_OP2H               (0x0022)       /* 32-bit operand 2 - high word */\r
3735 #define OFS_OP2H_L             OFS_OP2H\r
3736 #define OFS_OP2H_H             OFS_OP2H+1\r
3737 #define OFS_RES0               (0x0024)       /* 32x32-bit result 0 - least significant word */\r
3738 #define OFS_RES0_L             OFS_RES0\r
3739 #define OFS_RES0_H             OFS_RES0+1\r
3740 #define OFS_RES1               (0x0026)       /* 32x32-bit result 1 */\r
3741 #define OFS_RES1_L             OFS_RES1\r
3742 #define OFS_RES1_H             OFS_RES1+1\r
3743 #define OFS_RES2               (0x0028)       /* 32x32-bit result 2 */\r
3744 #define OFS_RES2_L             OFS_RES2\r
3745 #define OFS_RES2_H             OFS_RES2+1\r
3746 #define OFS_RES3               (0x002A)       /* 32x32-bit result 3 - most significant word */\r
3747 #define OFS_RES3_L             OFS_RES3\r
3748 #define OFS_RES3_H             OFS_RES3+1\r
3749 #define OFS_SUMEXT             (0x000E)\r
3750 #define OFS_SUMEXT_L           OFS_SUMEXT\r
3751 #define OFS_SUMEXT_H           OFS_SUMEXT+1\r
3752 #define OFS_MPY32CTL0          (0x002C)       /* MPY32 Control Register 0 */\r
3753 #define OFS_MPY32CTL0_L        OFS_MPY32CTL0\r
3754 #define OFS_MPY32CTL0_H        OFS_MPY32CTL0+1\r
3755 \r
3756 #define MPY_B                  MPY_L          /* Multiply Unsigned/Operand 1 (Byte Access) */\r
3757 #define MPYS_B                 MPYS_L         /* Multiply Signed/Operand 1 (Byte Access) */\r
3758 #define MAC_B                  MAC_L          /* Multiply Unsigned and Accumulate/Operand 1 (Byte Access) */\r
3759 #define MACS_B                 MACS_L         /* Multiply Signed and Accumulate/Operand 1 (Byte Access) */\r
3760 #define OP2_B                  OP2_L          /* Operand 2 (Byte Access) */\r
3761 #define MPY32L_B               MPY32L_L       /* 32-bit operand 1 - multiply - low word (Byte Access) */\r
3762 #define MPY32H_B               MPY32H_L       /* 32-bit operand 1 - multiply - high word (Byte Access) */\r
3763 #define MPYS32L_B              MPYS32L_L      /* 32-bit operand 1 - signed multiply - low word (Byte Access) */\r
3764 #define MPYS32H_B              MPYS32H_L      /* 32-bit operand 1 - signed multiply - high word (Byte Access) */\r
3765 #define MAC32L_B               MAC32L_L       /* 32-bit operand 1 - multiply accumulate - low word (Byte Access) */\r
3766 #define MAC32H_B               MAC32H_L       /* 32-bit operand 1 - multiply accumulate - high word (Byte Access) */\r
3767 #define MACS32L_B              MACS32L_L      /* 32-bit operand 1 - signed multiply accumulate - low word (Byte Access) */\r
3768 #define MACS32H_B              MACS32H_L      /* 32-bit operand 1 - signed multiply accumulate - high word (Byte Access) */\r
3769 #define OP2L_B                 OP2L_L         /* 32-bit operand 2 - low word (Byte Access) */\r
3770 #define OP2H_B                 OP2H_L         /* 32-bit operand 2 - high word (Byte Access) */\r
3771 \r
3772 /* MPY32CTL0 Control Bits */\r
3773 #define MPYC                   (0x0001)       /* Carry of the multiplier */\r
3774 //#define RESERVED            (0x0002)  /* Reserved */\r
3775 #define MPYFRAC                (0x0004)       /* Fractional mode */\r
3776 #define MPYSAT                 (0x0008)       /* Saturation mode */\r
3777 #define MPYM0                  (0x0010)       /* Multiplier mode Bit:0 */\r
3778 #define MPYM1                  (0x0020)       /* Multiplier mode Bit:1 */\r
3779 #define OP1_32                 (0x0040)       /* Bit-width of operand 1 0:16Bit / 1:32Bit */\r
3780 #define OP2_32                 (0x0080)       /* Bit-width of operand 2 0:16Bit / 1:32Bit */\r
3781 #define MPYDLYWRTEN            (0x0100)       /* Delayed write enable */\r
3782 #define MPYDLY32               (0x0200)       /* Delayed write mode */\r
3783 \r
3784 /* MPY32CTL0 Control Bits */\r
3785 #define MPYC_L                 (0x0001)       /* Carry of the multiplier */\r
3786 //#define RESERVED            (0x0002)  /* Reserved */\r
3787 #define MPYFRAC_L              (0x0004)       /* Fractional mode */\r
3788 #define MPYSAT_L               (0x0008)       /* Saturation mode */\r
3789 #define MPYM0_L                (0x0010)       /* Multiplier mode Bit:0 */\r
3790 #define MPYM1_L                (0x0020)       /* Multiplier mode Bit:1 */\r
3791 #define OP1_32_L               (0x0040)       /* Bit-width of operand 1 0:16Bit / 1:32Bit */\r
3792 #define OP2_32_L               (0x0080)       /* Bit-width of operand 2 0:16Bit / 1:32Bit */\r
3793 \r
3794 /* MPY32CTL0 Control Bits */\r
3795 //#define RESERVED            (0x0002)  /* Reserved */\r
3796 #define MPYDLYWRTEN_H          (0x0001)       /* Delayed write enable */\r
3797 #define MPYDLY32_H             (0x0002)       /* Delayed write mode */\r
3798 \r
3799 #define MPYM_0                 (0x0000)       /* Multiplier mode: MPY */\r
3800 #define MPYM_1                 (0x0010)       /* Multiplier mode: MPYS */\r
3801 #define MPYM_2                 (0x0020)       /* Multiplier mode: MAC */\r
3802 #define MPYM_3                 (0x0030)       /* Multiplier mode: MACS */\r
3803 #define MPYM__MPY              (0x0000)       /* Multiplier mode: MPY */\r
3804 #define MPYM__MPYS             (0x0010)       /* Multiplier mode: MPYS */\r
3805 #define MPYM__MAC              (0x0020)       /* Multiplier mode: MAC */\r
3806 #define MPYM__MACS             (0x0030)       /* Multiplier mode: MACS */\r
3807 \r
3808 #endif\r
3809 /************************************************************\r
3810 * PMM - Power Management System for FRAM\r
3811 ************************************************************/\r
3812 #ifdef  __MSP430_HAS_PMM_FRAM__       /* Definition to show that Module is available */\r
3813 \r
3814 #define OFS_PMMCTL0            (0x0000)       /* PMM Control 0 */\r
3815 #define OFS_PMMCTL0_L          OFS_PMMCTL0\r
3816 #define OFS_PMMCTL0_H          OFS_PMMCTL0+1\r
3817 #define OFS_PMMCTL1            (0x0002)       /* PMM Control 1 */\r
3818 #define OFS_PMMIFG             (0x000A)       /* PMM Interrupt Flag */\r
3819 #define OFS_PMMIFG_L           OFS_PMMIFG\r
3820 #define OFS_PMMIFG_H           OFS_PMMIFG+1\r
3821 #define OFS_PM5CTL0            (0x0010)       /* PMM Power Mode 5 Control Register 0 */\r
3822 #define OFS_PM5CTL0_L          OFS_PM5CTL0\r
3823 #define OFS_PM5CTL0_H          OFS_PM5CTL0+1\r
3824 \r
3825 #define PMMPW                  (0xA500)       /* PMM Register Write Password */\r
3826 #define PMMPW_H                (0xA5)         /* PMM Register Write Password for high word access */\r
3827 \r
3828 /* PMMCTL0 Control Bits */\r
3829 #define PMMSWBOR               (0x0004)       /* PMM Software BOR */\r
3830 #define PMMSWPOR               (0x0008)       /* PMM Software POR */\r
3831 #define PMMREGOFF              (0x0010)       /* PMM Turn Regulator off */\r
3832 #define SVSHE                  (0x0040)       /* SVS high side enable */\r
3833 #define PMMLPRST               (0x0080)       /* PMM Low-Power Reset Enable */\r
3834 \r
3835 /* PMMCTL0 Control Bits */\r
3836 #define PMMSWBOR_L             (0x0004)       /* PMM Software BOR */\r
3837 #define PMMSWPOR_L             (0x0008)       /* PMM Software POR */\r
3838 #define PMMREGOFF_L            (0x0010)       /* PMM Turn Regulator off */\r
3839 #define SVSHE_L                (0x0040)       /* SVS high side enable */\r
3840 #define PMMLPRST_L             (0x0080)       /* PMM Low-Power Reset Enable */\r
3841 \r
3842 /* PMMCTL1 Control Bits */\r
3843 #define PMMLPSVEN              (0x0002)       /* PMM Low-Power Supervision Enable */\r
3844 #define PMMLPRNG0              (0x0004)       /* PMM Load Range Control overwrite for LPM2, LPM3 and LPM4 Bit: 0 */\r
3845 #define PMMLPRNG1              (0x0008)       /* PMM Load Range Control overwrite for LPM2, LPM3 and LPM4 Bit: 1 */\r
3846 #define PMMAMRNG0              (0x0010)       /* Load Range Control overwrite for AM, LPM0 and LPM1 Bit: 0 */\r
3847 #define PMMAMRNG1              (0x0020)       /* Load Range Control overwrite for AM, LPM0 and LPM1 Bit: 1 */\r
3848 #define PMMAMRNG2              (0x0040)       /* Load Range Control overwrite for AM, LPM0 and LPM1 Bit: 2 */\r
3849 #define PMMAMRNG3              (0x0080)       /* Load Range Control overwrite for AM, LPM0 and LPM1 Bit: 3 */\r
3850 #define PMMCTL1KEY             (0xCC00)       /* PMM PMMCTL1 Register Write Password */\r
3851 \r
3852 /* PMMIFG Control Bits */\r
3853 #define PMMBORIFG              (0x0100)       /* PMM Software BOR interrupt flag */\r
3854 #define PMMRSTIFG              (0x0200)       /* PMM RESET pin interrupt flag */\r
3855 #define PMMPORIFG              (0x0400)       /* PMM Software POR interrupt flag */\r
3856 #define SVSHIFG                (0x2000)       /* SVS low side interrupt flag */\r
3857 #define PMMLPM5IFG             (0x8000)       /* LPM5 indication Flag */\r
3858 \r
3859 /* PMMIFG Control Bits */\r
3860 #define PMMBORIFG_H            (0x0001)       /* PMM Software BOR interrupt flag */\r
3861 #define PMMRSTIFG_H            (0x0002)       /* PMM RESET pin interrupt flag */\r
3862 #define PMMPORIFG_H            (0x0004)       /* PMM Software POR interrupt flag */\r
3863 #define SVSHIFG_H              (0x0020)       /* SVS low side interrupt flag */\r
3864 #define PMMLPM5IFG_H           (0x0080)       /* LPM5 indication Flag */\r
3865 \r
3866 /* PM5CTL0 Power Mode 5 Control Bits */\r
3867 #define LOCKLPM5               (0x0001)       /* Lock I/O pin configuration upon entry/exit to/from LPM5 */\r
3868 \r
3869 /* PM5CTL0 Power Mode 5 Control Bits */\r
3870 #define LOCKLPM5_L             (0x0001)       /* Lock I/O pin configuration upon entry/exit to/from LPM5 */\r
3871 \r
3872 \r
3873 #endif\r
3874 /************************************************************\r
3875 * DIGITAL I/O Port1/2 Pull up / Pull down Resistors\r
3876 ************************************************************/\r
3877 #ifdef  __MSP430_HAS_PORT1_R__        /* Definition to show that Module is available */\r
3878 #ifdef  __MSP430_HAS_PORT2_R__        /* Definition to show that Module is available */\r
3879 #ifdef  __MSP430_HAS_PORTA_R__        /* Definition to show that Module is available */\r
3880 \r
3881 #define OFS_PAIN               (0x0000)       /* Port A Input */\r
3882 #define OFS_PAIN_L             OFS_PAIN\r
3883 #define OFS_PAIN_H             OFS_PAIN+1\r
3884 #define OFS_PAOUT              (0x0002)       /* Port A Output */\r
3885 #define OFS_PAOUT_L            OFS_PAOUT\r
3886 #define OFS_PAOUT_H            OFS_PAOUT+1\r
3887 #define OFS_PADIR              (0x0004)       /* Port A Direction */\r
3888 #define OFS_PADIR_L            OFS_PADIR\r
3889 #define OFS_PADIR_H            OFS_PADIR+1\r
3890 #define OFS_PAREN              (0x0006)       /* Port A Resistor Enable */\r
3891 #define OFS_PAREN_L            OFS_PAREN\r
3892 #define OFS_PAREN_H            OFS_PAREN+1\r
3893 #define OFS_PASEL0             (0x000A)       /* Port A Selection 0 */\r
3894 #define OFS_PASEL0_L           OFS_PASEL0\r
3895 #define OFS_PASEL0_H           OFS_PASEL0+1\r
3896 #define OFS_PASEL1             (0x000C)       /* Port A Selection 1 */\r
3897 #define OFS_PASEL1_L           OFS_PASEL1\r
3898 #define OFS_PASEL1_H           OFS_PASEL1+1\r
3899 #define OFS_PASELC             (0x0016)       /* Port A Complement Selection */\r
3900 #define OFS_PASELC_L           OFS_PASELC\r
3901 #define OFS_PASELC_H           OFS_PASELC+1\r
3902 #define OFS_PAIES              (0x0018)       /* Port A Interrupt Edge Select */\r
3903 #define OFS_PAIES_L            OFS_PAIES\r
3904 #define OFS_PAIES_H            OFS_PAIES+1\r
3905 #define OFS_PAIE               (0x001A)       /* Port A Interrupt Enable */\r
3906 #define OFS_PAIE_L             OFS_PAIE\r
3907 #define OFS_PAIE_H             OFS_PAIE+1\r
3908 #define OFS_PAIFG              (0x001C)       /* Port A Interrupt Flag */\r
3909 #define OFS_PAIFG_L            OFS_PAIFG\r
3910 #define OFS_PAIFG_H            OFS_PAIFG+1\r
3911 \r
3912 \r
3913 #define OFS_P1IN               (0x0000)\r
3914 #define OFS_P1OUT              (0x0002)\r
3915 #define OFS_P1DIR              (0x0004)\r
3916 #define OFS_P1REN              (0x0006)\r
3917 #define OFS_P1SEL0             (0x000A)\r
3918 #define OFS_P1SEL1             (0x000C)\r
3919 #define OFS_P1SELC             (0x0016)\r
3920 #define OFS_P1IV               (0x000E)       /* Port 1 Interrupt Vector Word */\r
3921 #define OFS_P1IES              (0x0018)\r
3922 #define OFS_P1IE               (0x001A)\r
3923 #define OFS_P1IFG              (0x001C)\r
3924 #define OFS_P2IN               (0x0001)\r
3925 #define OFS_P2OUT              (0x0003)\r
3926 #define OFS_P2DIR              (0x0005)\r
3927 #define OFS_P2REN              (0x0007)\r
3928 #define OFS_P2SEL0             (0x000B)\r
3929 #define OFS_P2SEL1             (0x000D)\r
3930 #define OFS_P2SELC             (0x0017)\r
3931 #define OFS_P2IV               (0x001E)       /* Port 2 Interrupt Vector Word */\r
3932 #define OFS_P2IES              (0x0019)\r
3933 #define OFS_P2IE               (0x001B)\r
3934 #define OFS_P2IFG              (0x001d)\r
3935 #define P1IN                   (PAIN_L)       /* Port 1 Input */\r
3936 #define P1OUT                  (PAOUT_L)      /* Port 1 Output */\r
3937 #define P1DIR                  (PADIR_L)      /* Port 1 Direction */\r
3938 #define P1REN                  (PAREN_L)      /* Port 1 Resistor Enable */\r
3939 #define P1SEL0                 (PASEL0_L)     /* Port 1 Selection 0 */\r
3940 #define P1SEL1                 (PASEL1_L)     /* Port 1 Selection 1 */\r
3941 #define P1SELC                 (PASELC_L)     /* Port 1 Complement Selection */\r
3942 #define P1IES                  (PAIES_L)      /* Port 1 Interrupt Edge Select */\r
3943 #define P1IE                   (PAIE_L)       /* Port 1 Interrupt Enable */\r
3944 #define P1IFG                  (PAIFG_L)      /* Port 1 Interrupt Flag */\r
3945 \r
3946 //Definitions for P1IV\r
3947 #define P1IV_NONE              (0x0000)       /* No Interrupt pending */\r
3948 #define P1IV_P1IFG0            (0x0002)       /* P1IV P1IFG.0 */\r
3949 #define P1IV_P1IFG1            (0x0004)       /* P1IV P1IFG.1 */\r
3950 #define P1IV_P1IFG2            (0x0006)       /* P1IV P1IFG.2 */\r
3951 #define P1IV_P1IFG3            (0x0008)       /* P1IV P1IFG.3 */\r
3952 #define P1IV_P1IFG4            (0x000A)       /* P1IV P1IFG.4 */\r
3953 #define P1IV_P1IFG5            (0x000C)       /* P1IV P1IFG.5 */\r
3954 #define P1IV_P1IFG6            (0x000E)       /* P1IV P1IFG.6 */\r
3955 #define P1IV_P1IFG7            (0x0010)       /* P1IV P1IFG.7 */\r
3956 \r
3957 #define P2IN                   (PAIN_H)       /* Port 2 Input */\r
3958 #define P2OUT                  (PAOUT_H)      /* Port 2 Output */\r
3959 #define P2DIR                  (PADIR_H)      /* Port 2 Direction */\r
3960 #define P2REN                  (PAREN_H)      /* Port 2 Resistor Enable */\r
3961 #define P2SEL0                 (PASEL0_H)     /* Port 2 Selection 0 */\r
3962 #define P2SEL1                 (PASEL1_H)     /* Port 2 Selection 1 */\r
3963 #define P2SELC                 (PASELC_H)     /* Port 2 Complement Selection */\r
3964 #define P2IES                  (PAIES_H)      /* Port 2 Interrupt Edge Select */\r
3965 #define P2IE                   (PAIE_H)       /* Port 2 Interrupt Enable */\r
3966 #define P2IFG                  (PAIFG_H)      /* Port 2 Interrupt Flag */\r
3967 \r
3968 //Definitions for P2IV\r
3969 #define P2IV_NONE              (0x0000)       /* No Interrupt pending */\r
3970 #define P2IV_P2IFG0            (0x0002)       /* P2IV P2IFG.0 */\r
3971 #define P2IV_P2IFG1            (0x0004)       /* P2IV P2IFG.1 */\r
3972 #define P2IV_P2IFG2            (0x0006)       /* P2IV P2IFG.2 */\r
3973 #define P2IV_P2IFG3            (0x0008)       /* P2IV P2IFG.3 */\r
3974 #define P2IV_P2IFG4            (0x000A)       /* P2IV P2IFG.4 */\r
3975 #define P2IV_P2IFG5            (0x000C)       /* P2IV P2IFG.5 */\r
3976 #define P2IV_P2IFG6            (0x000E)       /* P2IV P2IFG.6 */\r
3977 #define P2IV_P2IFG7            (0x0010)       /* P2IV P2IFG.7 */\r
3978 \r
3979 \r
3980 #endif\r
3981 #endif\r
3982 #endif\r
3983 /************************************************************\r
3984 * DIGITAL I/O Port3/4 Pull up / Pull down Resistors\r
3985 ************************************************************/\r
3986 #ifdef  __MSP430_HAS_PORT3_R__        /* Definition to show that Module is available */\r
3987 #ifdef  __MSP430_HAS_PORT4_R__        /* Definition to show that Module is available */\r
3988 #ifdef  __MSP430_HAS_PORTB_R__        /* Definition to show that Module is available */\r
3989 \r
3990 #define OFS_PBIN               (0x0000)       /* Port B Input */\r
3991 #define OFS_PBIN_L             OFS_PBIN\r
3992 #define OFS_PBIN_H             OFS_PBIN+1\r
3993 #define OFS_PBOUT              (0x0002)       /* Port B Output */\r
3994 #define OFS_PBOUT_L            OFS_PBOUT\r
3995 #define OFS_PBOUT_H            OFS_PBOUT+1\r
3996 #define OFS_PBDIR              (0x0004)       /* Port B Direction */\r
3997 #define OFS_PBDIR_L            OFS_PBDIR\r
3998 #define OFS_PBDIR_H            OFS_PBDIR+1\r
3999 #define OFS_PBREN              (0x0006)       /* Port B Resistor Enable */\r
4000 #define OFS_PBREN_L            OFS_PBREN\r
4001 #define OFS_PBREN_H            OFS_PBREN+1\r
4002 #define OFS_PBSEL0             (0x000A)       /* Port B Selection 0 */\r
4003 #define OFS_PBSEL0_L           OFS_PBSEL0\r
4004 #define OFS_PBSEL0_H           OFS_PBSEL0+1\r
4005 #define OFS_PBSEL1             (0x000C)       /* Port B Selection 1 */\r
4006 #define OFS_PBSEL1_L           OFS_PBSEL1\r
4007 #define OFS_PBSEL1_H           OFS_PBSEL1+1\r
4008 #define OFS_PBSELC             (0x0016)       /* Port B Complement Selection */\r
4009 #define OFS_PBSELC_L           OFS_PBSELC\r
4010 #define OFS_PBSELC_H           OFS_PBSELC+1\r
4011 #define OFS_PBIES              (0x0018)       /* Port B Interrupt Edge Select */\r
4012 #define OFS_PBIES_L            OFS_PBIES\r
4013 #define OFS_PBIES_H            OFS_PBIES+1\r
4014 #define OFS_PBIE               (0x001A)       /* Port B Interrupt Enable */\r
4015 #define OFS_PBIE_L             OFS_PBIE\r
4016 #define OFS_PBIE_H             OFS_PBIE+1\r
4017 #define OFS_PBIFG              (0x001C)       /* Port B Interrupt Flag */\r
4018 #define OFS_PBIFG_L            OFS_PBIFG\r
4019 #define OFS_PBIFG_H            OFS_PBIFG+1\r
4020 \r
4021 \r
4022 #define OFS_P3IN               (0x0000)\r
4023 #define OFS_P3OUT              (0x0002)\r
4024 #define OFS_P3DIR              (0x0004)\r
4025 #define OFS_P3REN              (0x0006)\r
4026 #define OFS_P3SEL0             (0x000A)\r
4027 #define OFS_P3SEL1             (0x000C)\r
4028 #define OFS_P3SELC             (0x0016)\r
4029 #define OFS_P3IV               (0x000E)       /* Port 3 Interrupt Vector Word */\r
4030 #define OFS_P3IES              (0x0018)\r
4031 #define OFS_P3IE               (0x001A)\r
4032 #define OFS_P3IFG              (0x001C)\r
4033 #define OFS_P4IN               (0x0001)\r
4034 #define OFS_P4OUT              (0x0003)\r
4035 #define OFS_P4DIR              (0x0005)\r
4036 #define OFS_P4REN              (0x0007)\r
4037 #define OFS_P4SEL0             (0x000B)\r
4038 #define OFS_P4SEL1             (0x000D)\r
4039 #define OFS_P4SELC             (0x0017)\r
4040 #define OFS_P4IV               (0x001E)       /* Port 4 Interrupt Vector Word */\r
4041 #define OFS_P4IES              (0x0019)\r
4042 #define OFS_P4IE               (0x001B)\r
4043 #define OFS_P4IFG              (0x001d)\r
4044 #define P3IN                   (PBIN_L)       /* Port 3 Input */\r
4045 #define P3OUT                  (PBOUT_L)      /* Port 3 Output */\r
4046 #define P3DIR                  (PBDIR_L)      /* Port 3 Direction */\r
4047 #define P3REN                  (PBREN_L)      /* Port 3 Resistor Enable */\r
4048 #define P3SEL0                 (PBSEL0_L)     /* Port 3 Selection 0 */\r
4049 #define P3SEL1                 (PBSEL1_L)     /* Port 3 Selection 1 */\r
4050 #define P3SELC                 (PBSELC_L)     /* Port 3 Complement Selection */\r
4051 #define P3IES                  (PBIES_L)      /* Port 3 Interrupt Edge Select */\r
4052 #define P3IE                   (PBIE_L)       /* Port 3 Interrupt Enable */\r
4053 #define P3IFG                  (PBIFG_L)      /* Port 3 Interrupt Flag */\r
4054 \r
4055 //Definitions for P3IV\r
4056 #define P3IV_NONE              (0x0000)       /* No Interrupt pending */\r
4057 #define P3IV_P3IFG0            (0x0002)       /* P3IV P3IFG.0 */\r
4058 #define P3IV_P3IFG1            (0x0004)       /* P3IV P3IFG.1 */\r
4059 #define P3IV_P3IFG2            (0x0006)       /* P3IV P3IFG.2 */\r
4060 #define P3IV_P3IFG3            (0x0008)       /* P3IV P3IFG.3 */\r
4061 #define P3IV_P3IFG4            (0x000A)       /* P3IV P3IFG.4 */\r
4062 #define P3IV_P3IFG5            (0x000C)       /* P3IV P3IFG.5 */\r
4063 #define P3IV_P3IFG6            (0x000E)       /* P3IV P3IFG.6 */\r
4064 #define P3IV_P3IFG7            (0x0010)       /* P3IV P3IFG.7 */\r
4065 \r
4066 #define P4IN                   (PBIN_H)       /* Port 4 Input */\r
4067 #define P4OUT                  (PBOUT_H)      /* Port 4 Output */\r
4068 #define P4DIR                  (PBDIR_H)      /* Port 4 Direction */\r
4069 #define P4REN                  (PBREN_H)      /* Port 4 Resistor Enable */\r
4070 #define P4SEL0                 (PBSEL0_H)     /* Port 4 Selection 0 */\r
4071 #define P4SEL1                 (PBSEL1_H)     /* Port 4 Selection 1 */\r
4072 #define P4SELC                 (PBSELC_H)     /* Port 4 Complement Selection */\r
4073 #define P4IES                  (PBIES_H)      /* Port 4 Interrupt Edge Select */\r
4074 #define P4IE                   (PBIE_H)       /* Port 4 Interrupt Enable */\r
4075 #define P4IFG                  (PBIFG_H)      /* Port 4 Interrupt Flag */\r
4076 \r
4077 //Definitions for P4IV\r
4078 #define P4IV_NONE              (0x0000)       /* No Interrupt pending */\r
4079 #define P4IV_P4IFG0            (0x0002)       /* P4IV P4IFG.0 */\r
4080 #define P4IV_P4IFG1            (0x0004)       /* P4IV P4IFG.1 */\r
4081 #define P4IV_P4IFG2            (0x0006)       /* P4IV P4IFG.2 */\r
4082 #define P4IV_P4IFG3            (0x0008)       /* P4IV P4IFG.3 */\r
4083 #define P4IV_P4IFG4            (0x000A)       /* P4IV P4IFG.4 */\r
4084 #define P4IV_P4IFG5            (0x000C)       /* P4IV P4IFG.5 */\r
4085 #define P4IV_P4IFG6            (0x000E)       /* P4IV P4IFG.6 */\r
4086 #define P4IV_P4IFG7            (0x0010)       /* P4IV P4IFG.7 */\r
4087 \r
4088 \r
4089 #endif\r
4090 #endif\r
4091 #endif\r
4092 /************************************************************\r
4093 * DIGITAL I/O Port5/6 Pull up / Pull down Resistors\r
4094 ************************************************************/\r
4095 #ifdef  __MSP430_HAS_PORT5_R__        /* Definition to show that Module is available */\r
4096 #ifdef  __MSP430_HAS_PORT6_R__        /* Definition to show that Module is available */\r
4097 #ifdef  __MSP430_HAS_PORTC_R__        /* Definition to show that Module is available */\r
4098 \r
4099 #define OFS_PCIN               (0x0000)       /* Port C Input */\r
4100 #define OFS_PCIN_L             OFS_PCIN\r
4101 #define OFS_PCIN_H             OFS_PCIN+1\r
4102 #define OFS_PCOUT              (0x0002)       /* Port C Output */\r
4103 #define OFS_PCOUT_L            OFS_PCOUT\r
4104 #define OFS_PCOUT_H            OFS_PCOUT+1\r
4105 #define OFS_PCDIR              (0x0004)       /* Port C Direction */\r
4106 #define OFS_PCDIR_L            OFS_PCDIR\r
4107 #define OFS_PCDIR_H            OFS_PCDIR+1\r
4108 #define OFS_PCREN              (0x0006)       /* Port C Resistor Enable */\r
4109 #define OFS_PCREN_L            OFS_PCREN\r
4110 #define OFS_PCREN_H            OFS_PCREN+1\r
4111 #define OFS_PCSEL0             (0x000A)       /* Port C Selection 0 */\r
4112 #define OFS_PCSEL0_L           OFS_PCSEL0\r
4113 #define OFS_PCSEL0_H           OFS_PCSEL0+1\r
4114 #define OFS_PCSEL1             (0x000C)       /* Port C Selection 1 */\r
4115 #define OFS_PCSEL1_L           OFS_PCSEL1\r
4116 #define OFS_PCSEL1_H           OFS_PCSEL1+1\r
4117 #define OFS_PCSELC             (0x0016)       /* Port C Complement Selection */\r
4118 #define OFS_PCSELC_L           OFS_PCSELC\r
4119 #define OFS_PCSELC_H           OFS_PCSELC+1\r
4120 #define OFS_PCIES              (0x0018)       /* Port C Interrupt Edge Select */\r
4121 #define OFS_PCIES_L            OFS_PCIES\r
4122 #define OFS_PCIES_H            OFS_PCIES+1\r
4123 #define OFS_PCIE               (0x001A)       /* Port C Interrupt Enable */\r
4124 #define OFS_PCIE_L             OFS_PCIE\r
4125 #define OFS_PCIE_H             OFS_PCIE+1\r
4126 #define OFS_PCIFG              (0x001C)       /* Port C Interrupt Flag */\r
4127 #define OFS_PCIFG_L            OFS_PCIFG\r
4128 #define OFS_PCIFG_H            OFS_PCIFG+1\r
4129 \r
4130 \r
4131 #define OFS_P5IN               (0x0000)\r
4132 #define OFS_P5OUT              (0x0002)\r
4133 #define OFS_P5DIR              (0x0004)\r
4134 #define OFS_P5REN              (0x0006)\r
4135 #define OFS_P5SEL0             (0x000A)\r
4136 #define OFS_P5SEL1             (0x000C)\r
4137 #define OFS_P5SELC             (0x0016)\r
4138 #define OFS_P5IV               (0x000E)       /* Port 5 Interrupt Vector Word */\r
4139 #define OFS_P5IES              (0x0018)\r
4140 #define OFS_P5IE               (0x001A)\r
4141 #define OFS_P5IFG              (0x001C)\r
4142 #define OFS_P6IN               (0x0001)\r
4143 #define OFS_P6OUT              (0x0003)\r
4144 #define OFS_P6DIR              (0x0005)\r
4145 #define OFS_P6REN              (0x0007)\r
4146 #define OFS_P6SEL0             (0x000B)\r
4147 #define OFS_P6SEL1             (0x000D)\r
4148 #define OFS_P6SELC             (0x0017)\r
4149 #define OFS_P6IV               (0x001E)       /* Port 6 Interrupt Vector Word */\r
4150 #define OFS_P6IES              (0x0019)\r
4151 #define OFS_P6IE               (0x001B)\r
4152 #define OFS_P6IFG              (0x001d)\r
4153 #define P5IN                   (PCIN_L)       /* Port 5 Input */\r
4154 #define P5OUT                  (PCOUT_L)      /* Port 5 Output */\r
4155 #define P5DIR                  (PCDIR_L)      /* Port 5 Direction */\r
4156 #define P5REN                  (PCREN_L)      /* Port 5 Resistor Enable */\r
4157 #define P5SEL0                 (PCSEL0_L)     /* Port 5 Selection 0 */\r
4158 #define P5SEL1                 (PCSEL1_L)     /* Port 5 Selection 1 */\r
4159 #define P5SELC                 (PCSELC_L)     /* Port 5 Complement Selection */\r
4160 #define P5IES                  (PCIES_L)      /* Port 5 Interrupt Edge Select */\r
4161 #define P5IE                   (PCIE_L)       /* Port 5 Interrupt Enable */\r
4162 #define P5IFG                  (PCIFG_L)      /* Port 5 Interrupt Flag */\r
4163 \r
4164 //Definitions for P5IV\r
4165 #define P5IV_NONE              (0x0000)       /* No Interrupt pending */\r
4166 #define P5IV_P5IFG0            (0x0002)       /* P5IV P5IFG.0 */\r
4167 #define P5IV_P5IFG1            (0x0004)       /* P5IV P5IFG.1 */\r
4168 #define P5IV_P5IFG2            (0x0006)       /* P5IV P5IFG.2 */\r
4169 #define P5IV_P5IFG3            (0x0008)       /* P5IV P5IFG.3 */\r
4170 #define P5IV_P5IFG4            (0x000A)       /* P5IV P5IFG.4 */\r
4171 #define P5IV_P5IFG5            (0x000C)       /* P5IV P5IFG.5 */\r
4172 #define P5IV_P5IFG6            (0x000E)       /* P5IV P5IFG.6 */\r
4173 #define P5IV_P5IFG7            (0x0010)       /* P5IV P5IFG.7 */\r
4174 \r
4175 #define P6IN                   (PCIN_H)       /* Port 6 Input */\r
4176 #define P6OUT                  (PCOUT_H)      /* Port 6 Output */\r
4177 #define P6DIR                  (PCDIR_H)      /* Port 6 Direction */\r
4178 #define P6REN                  (PCREN_H)      /* Port 6 Resistor Enable */\r
4179 #define P6SEL0                 (PCSEL0_H)     /* Port 6 Selection 0 */\r
4180 #define P6SEL1                 (PCSEL1_H)     /* Port 6 Selection 1 */\r
4181 #define P6SELC                 (PCSELC_H)     /* Port 6 Complement Selection */\r
4182 #define P6IES                  (PCIES_H)      /* Port 6 Interrupt Edge Select */\r
4183 #define P6IE                   (PCIE_H)       /* Port 6 Interrupt Enable */\r
4184 #define P6IFG                  (PCIFG_H)      /* Port 6 Interrupt Flag */\r
4185 \r
4186 //Definitions for P6IV\r
4187 #define P6IV_NONE              (0x0000)       /* No Interrupt pending */\r
4188 #define P6IV_P6IFG0            (0x0002)       /* P6IV P6IFG.0 */\r
4189 #define P6IV_P6IFG1            (0x0004)       /* P6IV P6IFG.1 */\r
4190 #define P6IV_P6IFG2            (0x0006)       /* P6IV P6IFG.2 */\r
4191 #define P6IV_P6IFG3            (0x0008)       /* P6IV P6IFG.3 */\r
4192 #define P6IV_P6IFG4            (0x000A)       /* P6IV P6IFG.4 */\r
4193 #define P6IV_P6IFG5            (0x000C)       /* P6IV P6IFG.5 */\r
4194 #define P6IV_P6IFG6            (0x000E)       /* P6IV P6IFG.6 */\r
4195 #define P6IV_P6IFG7            (0x0010)       /* P6IV P6IFG.7 */\r
4196 \r
4197 \r
4198 #endif\r
4199 #endif\r
4200 #endif\r
4201 /************************************************************\r
4202 * DIGITAL I/O Port7/8 Pull up / Pull down Resistors\r
4203 ************************************************************/\r
4204 #ifdef  __MSP430_HAS_PORT7_R__        /* Definition to show that Module is available */\r
4205 #ifdef  __MSP430_HAS_PORT8_R__        /* Definition to show that Module is available */\r
4206 #ifdef  __MSP430_HAS_PORTD_R__        /* Definition to show that Module is available */\r
4207 \r
4208 #define OFS_PDIN               (0x0000)       /* Port D Input */\r
4209 #define OFS_PDIN_L             OFS_PDIN\r
4210 #define OFS_PDIN_H             OFS_PDIN+1\r
4211 #define OFS_PDOUT              (0x0002)       /* Port D Output */\r
4212 #define OFS_PDOUT_L            OFS_PDOUT\r
4213 #define OFS_PDOUT_H            OFS_PDOUT+1\r
4214 #define OFS_PDDIR              (0x0004)       /* Port D Direction */\r
4215 #define OFS_PDDIR_L            OFS_PDDIR\r
4216 #define OFS_PDDIR_H            OFS_PDDIR+1\r
4217 #define OFS_PDREN              (0x0006)       /* Port D Resistor Enable */\r
4218 #define OFS_PDREN_L            OFS_PDREN\r
4219 #define OFS_PDREN_H            OFS_PDREN+1\r
4220 #define OFS_PDSEL0             (0x000A)       /* Port D Selection 0 */\r
4221 #define OFS_PDSEL0_L           OFS_PDSEL0\r
4222 #define OFS_PDSEL0_H           OFS_PDSEL0+1\r
4223 #define OFS_PDSEL1             (0x000C)       /* Port D Selection 1 */\r
4224 #define OFS_PDSEL1_L           OFS_PDSEL1\r
4225 #define OFS_PDSEL1_H           OFS_PDSEL1+1\r
4226 #define OFS_PDSELC             (0x0016)       /* Port D Complement Selection */\r
4227 #define OFS_PDSELC_L           OFS_PDSELC\r
4228 #define OFS_PDSELC_H           OFS_PDSELC+1\r
4229 #define OFS_PDIES              (0x0018)       /* Port D Interrupt Edge Select */\r
4230 #define OFS_PDIES_L            OFS_PDIES\r
4231 #define OFS_PDIES_H            OFS_PDIES+1\r
4232 #define OFS_PDIE               (0x001A)       /* Port D Interrupt Enable */\r
4233 #define OFS_PDIE_L             OFS_PDIE\r
4234 #define OFS_PDIE_H             OFS_PDIE+1\r
4235 #define OFS_PDIFG              (0x001C)       /* Port D Interrupt Flag */\r
4236 #define OFS_PDIFG_L            OFS_PDIFG\r
4237 #define OFS_PDIFG_H            OFS_PDIFG+1\r
4238 \r
4239 \r
4240 #define OFS_P7IN               (0x0000)\r
4241 #define OFS_P7OUT              (0x0002)\r
4242 #define OFS_P7DIR              (0x0004)\r
4243 #define OFS_P7REN              (0x0006)\r
4244 #define OFS_P7SEL0             (0x000A)\r
4245 #define OFS_P7SEL1             (0x000C)\r
4246 #define OFS_P7SELC             (0x0016)\r
4247 #define OFS_P7IV               (0x000E)       /* Port 7 Interrupt Vector Word */\r
4248 #define OFS_P7IES              (0x0018)\r
4249 #define OFS_P7IE               (0x001A)\r
4250 #define OFS_P7IFG              (0x001C)\r
4251 #define OFS_P8IN               (0x0001)\r
4252 #define OFS_P8OUT              (0x0003)\r
4253 #define OFS_P8DIR              (0x0005)\r
4254 #define OFS_P8REN              (0x0007)\r
4255 #define OFS_P8SEL0             (0x000B)\r
4256 #define OFS_P8SEL1             (0x000D)\r
4257 #define OFS_P8SELC             (0x0017)\r
4258 #define OFS_P8IV               (0x001E)       /* Port 8 Interrupt Vector Word */\r
4259 #define OFS_P8IES              (0x0019)\r
4260 #define OFS_P8IE               (0x001B)\r
4261 #define OFS_P8IFG              (0x001d)\r
4262 #define P7IN                   (PDIN_L)       /* Port 7 Input */\r
4263 #define P7OUT                  (PDOUT_L)      /* Port 7 Output */\r
4264 #define P7DIR                  (PDDIR_L)      /* Port 7 Direction */\r
4265 #define P7REN                  (PDREN_L)      /* Port 7 Resistor Enable */\r
4266 #define P7SEL0                 (PDSEL0_L)     /* Port 7 Selection 0 */\r
4267 #define P7SEL1                 (PDSEL1_L)     /* Port 7 Selection 1 */\r
4268 #define P7SELC                 (PDSELC_L)     /* Port 7 Complement Selection */\r
4269 #define P7IES                  (PDIES_L)      /* Port 7 Interrupt Edge Select */\r
4270 #define P7IE                   (PDIE_L)       /* Port 7 Interrupt Enable */\r
4271 #define P7IFG                  (PDIFG_L)      /* Port 7 Interrupt Flag */\r
4272 \r
4273 //Definitions for P7IV\r
4274 #define P7IV_NONE              (0x0000)       /* No Interrupt pending */\r
4275 #define P7IV_P7IFG0            (0x0002)       /* P7IV P7IFG.0 */\r
4276 #define P7IV_P7IFG1            (0x0004)       /* P7IV P7IFG.1 */\r
4277 #define P7IV_P7IFG2            (0x0006)       /* P7IV P7IFG.2 */\r
4278 #define P7IV_P7IFG3            (0x0008)       /* P7IV P7IFG.3 */\r
4279 #define P7IV_P7IFG4            (0x000A)       /* P7IV P7IFG.4 */\r
4280 #define P7IV_P7IFG5            (0x000C)       /* P7IV P7IFG.5 */\r
4281 #define P7IV_P7IFG6            (0x000E)       /* P7IV P7IFG.6 */\r
4282 #define P7IV_P7IFG7            (0x0010)       /* P7IV P7IFG.7 */\r
4283 \r
4284 #define P8IN                   (PDIN_H)       /* Port 8 Input */\r
4285 #define P8OUT                  (PDOUT_H)      /* Port 8 Output */\r
4286 #define P8DIR                  (PDDIR_H)      /* Port 8 Direction */\r
4287 #define P8REN                  (PDREN_H)      /* Port 8 Resistor Enable */\r
4288 #define P8SEL0                 (PDSEL0_H)     /* Port 8 Selection 0 */\r
4289 #define P8SEL1                 (PDSEL1_H)     /* Port 8 Selection 1 */\r
4290 #define P8SELC                 (PDSELC_H)     /* Port 8 Complement Selection */\r
4291 #define P8IES                  (PDIES_H)      /* Port 8 Interrupt Edge Select */\r
4292 #define P8IE                   (PDIE_H)       /* Port 8 Interrupt Enable */\r
4293 #define P8IFG                  (PDIFG_H)      /* Port 8 Interrupt Flag */\r
4294 \r
4295 //Definitions for P8IV\r
4296 #define P8IV_NONE              (0x0000)       /* No Interrupt pending */\r
4297 #define P8IV_P8IFG0            (0x0002)       /* P8IV P8IFG.0 */\r
4298 #define P8IV_P8IFG1            (0x0004)       /* P8IV P8IFG.1 */\r
4299 #define P8IV_P8IFG2            (0x0006)       /* P8IV P8IFG.2 */\r
4300 #define P8IV_P8IFG3            (0x0008)       /* P8IV P8IFG.3 */\r
4301 #define P8IV_P8IFG4            (0x000A)       /* P8IV P8IFG.4 */\r
4302 #define P8IV_P8IFG5            (0x000C)       /* P8IV P8IFG.5 */\r
4303 #define P8IV_P8IFG6            (0x000E)       /* P8IV P8IFG.6 */\r
4304 #define P8IV_P8IFG7            (0x0010)       /* P8IV P8IFG.7 */\r
4305 \r
4306 \r
4307 #endif\r
4308 #endif\r
4309 #endif\r
4310 /************************************************************\r
4311 * DIGITAL I/O Port9/10 Pull up / Pull down Resistors\r
4312 ************************************************************/\r
4313 #ifdef  __MSP430_HAS_PORT9_R__        /* Definition to show that Module is available */\r
4314 #ifdef  __MSP430_HAS_PORT10_R__        /* Definition to show that Module is available */\r
4315 #ifdef  __MSP430_HAS_PORTE_R__        /* Definition to show that Module is available */\r
4316 \r
4317 #define OFS_PEIN               (0x0000)       /* Port E Input */\r
4318 #define OFS_PEIN_L             OFS_PEIN\r
4319 #define OFS_PEIN_H             OFS_PEIN+1\r
4320 #define OFS_PEOUT              (0x0002)       /* Port E Output */\r
4321 #define OFS_PEOUT_L            OFS_PEOUT\r
4322 #define OFS_PEOUT_H            OFS_PEOUT+1\r
4323 #define OFS_PEDIR              (0x0004)       /* Port E Direction */\r
4324 #define OFS_PEDIR_L            OFS_PEDIR\r
4325 #define OFS_PEDIR_H            OFS_PEDIR+1\r
4326 #define OFS_PEREN              (0x0006)       /* Port E Resistor Enable */\r
4327 #define OFS_PEREN_L            OFS_PEREN\r
4328 #define OFS_PEREN_H            OFS_PEREN+1\r
4329 #define OFS_PESEL0             (0x000A)       /* Port E Selection 0 */\r
4330 #define OFS_PESEL0_L           OFS_PESEL0\r
4331 #define OFS_PESEL0_H           OFS_PESEL0+1\r
4332 #define OFS_PESEL1             (0x000C)       /* Port E Selection 1 */\r
4333 #define OFS_PESEL1_L           OFS_PESEL1\r
4334 #define OFS_PESEL1_H           OFS_PESEL1+1\r
4335 #define OFS_PESELC             (0x0016)       /* Port E Complement Selection */\r
4336 #define OFS_PESELC_L           OFS_PESELC\r
4337 #define OFS_PESELC_H           OFS_PESELC+1\r
4338 #define OFS_PEIES              (0x0018)       /* Port E Interrupt Edge Select */\r
4339 #define OFS_PEIES_L            OFS_PEIES\r
4340 #define OFS_PEIES_H            OFS_PEIES+1\r
4341 #define OFS_PEIE               (0x001A)       /* Port E Interrupt Enable */\r
4342 #define OFS_PEIE_L             OFS_PEIE\r
4343 #define OFS_PEIE_H             OFS_PEIE+1\r
4344 #define OFS_PEIFG              (0x001C)       /* Port E Interrupt Flag */\r
4345 #define OFS_PEIFG_L            OFS_PEIFG\r
4346 #define OFS_PEIFG_H            OFS_PEIFG+1\r
4347 \r
4348 \r
4349 #define OFS_P9IN               (0x0000)\r
4350 #define OFS_P9OUT              (0x0002)\r
4351 #define OFS_P9DIR              (0x0004)\r
4352 #define OFS_P9REN              (0x0006)\r
4353 #define OFS_P9SEL0             (0x000A)\r
4354 #define OFS_P9SEL1             (0x000C)\r
4355 #define OFS_P9SELC             (0x0016)\r
4356 #define OFS_P9IV               (0x000E)       /* Port 9 Interrupt Vector Word */\r
4357 #define OFS_P9IES              (0x0018)\r
4358 #define OFS_P9IE               (0x001A)\r
4359 #define OFS_P9IFG              (0x001C)\r
4360 #define OFS_P10IN              (0x0001)\r
4361 #define OFS_P10OUT             (0x0003)\r
4362 #define OFS_P10DIR             (0x0005)\r
4363 #define OFS_P10REN             (0x0007)\r
4364 #define OFS_P10SEL0            (0x000B)\r
4365 #define OFS_P10SEL1            (0x000D)\r
4366 #define OFS_P10SELC            (0x0017)\r
4367 #define OFS_P10IV              (0x001E)       /* Port 10 Interrupt Vector Word */\r
4368 #define OFS_P10IES             (0x0019)\r
4369 #define OFS_P10IE              (0x001B)\r
4370 #define OFS_P10IFG             (0x001d)\r
4371 #define P9IN                   (PEIN_L)       /* Port 9 Input */\r
4372 #define P9OUT                  (PEOUT_L)      /* Port 9 Output */\r
4373 #define P9DIR                  (PEDIR_L)      /* Port 9 Direction */\r
4374 #define P9REN                  (PEREN_L)      /* Port 9 Resistor Enable */\r
4375 #define P9SEL0                 (PESEL0_L)     /* Port 9 Selection 0 */\r
4376 #define P9SEL1                 (PESEL1_L)     /* Port 9 Selection 1 */\r
4377 #define P9SELC                 (PESELC_L)     /* Port 9 Complement Selection */\r
4378 #define P9IES                  (PEIES_L)      /* Port 9 Interrupt Edge Select */\r
4379 #define P9IE                   (PEIE_L)       /* Port 9 Interrupt Enable */\r
4380 #define P9IFG                  (PEIFG_L)      /* Port 9 Interrupt Flag */\r
4381 \r
4382 //Definitions for P9IV\r
4383 #define P9IV_NONE              (0x0000)       /* No Interrupt pending */\r
4384 #define P9IV_P9IFG0            (0x0002)       /* P9IV P9IFG.0 */\r
4385 #define P9IV_P9IFG1            (0x0004)       /* P9IV P9IFG.1 */\r
4386 #define P9IV_P9IFG2            (0x0006)       /* P9IV P9IFG.2 */\r
4387 #define P9IV_P9IFG3            (0x0008)       /* P9IV P9IFG.3 */\r
4388 #define P9IV_P9IFG4            (0x000A)       /* P9IV P9IFG.4 */\r
4389 #define P9IV_P9IFG5            (0x000C)       /* P9IV P9IFG.5 */\r
4390 #define P9IV_P9IFG6            (0x000E)       /* P9IV P9IFG.6 */\r
4391 #define P9IV_P9IFG7            (0x0010)       /* P9IV P9IFG.7 */\r
4392 \r
4393 #define P10IN                  (PEIN_H)       /* Port 10 Input */\r
4394 #define P10OUT                 (PEOUT_H)      /* Port 10 Output */\r
4395 #define P10DIR                 (PEDIR_H)      /* Port 10 Direction */\r
4396 #define P10REN                 (PEREN_H)      /* Port 10 Resistor Enable */\r
4397 #define P10SEL0                (PESEL0_H)     /* Port 10 Selection 0 */\r
4398 #define P10SEL1                (PESEL1_H)     /* Port 10 Selection 1 */\r
4399 #define P10SELC                (PESELC_H)     /* Port 10 Complement Selection */\r
4400 #define P10IES                 (PEIES_H)      /* Port 10 Interrupt Edge Select */\r
4401 #define P10IE                  (PEIE_H)       /* Port 10 Interrupt Enable */\r
4402 #define P10IFG                 (PEIFG_H)      /* Port 10 Interrupt Flag */\r
4403 \r
4404 //Definitions for P10IV\r
4405 #define P10IV_NONE             (0x0000)       /* No Interrupt pending */\r
4406 #define P10IV_P10IFG0          (0x0002)       /* P10IV P10IFG.0 */\r
4407 #define P10IV_P10IFG1          (0x0004)       /* P10IV P10IFG.1 */\r
4408 #define P10IV_P10IFG2          (0x0006)       /* P10IV P10IFG.2 */\r
4409 #define P10IV_P10IFG3          (0x0008)       /* P10IV P10IFG.3 */\r
4410 #define P10IV_P10IFG4          (0x000A)       /* P10IV P10IFG.4 */\r
4411 #define P10IV_P10IFG5          (0x000C)       /* P10IV P10IFG.5 */\r
4412 #define P10IV_P10IFG6          (0x000E)       /* P10IV P10IFG.6 */\r
4413 #define P10IV_P10IFG7          (0x0010)       /* P10IV P10IFG.7 */\r
4414 \r
4415 \r
4416 #endif\r
4417 #endif\r
4418 #endif\r
4419 /************************************************************\r
4420 * DIGITAL I/O Port11 Pull up / Pull down Resistors\r
4421 ************************************************************/\r
4422 #ifdef  __MSP430_HAS_PORT11_R__        /* Definition to show that Module is available */\r
4423 #ifdef  __MSP430_HAS_PORTF_R__        /* Definition to show that Module is available */\r
4424 \r
4425 #define OFS_PFIN               (0x0000)       /* Port F Input */\r
4426 #define OFS_PFIN_L             OFS_PFIN\r
4427 #define OFS_PFIN_H             OFS_PFIN+1\r
4428 #define OFS_PFOUT              (0x0002)       /* Port F Output */\r
4429 #define OFS_PFOUT_L            OFS_PFOUT\r
4430 #define OFS_PFOUT_H            OFS_PFOUT+1\r
4431 #define OFS_PFDIR              (0x0004)       /* Port F Direction */\r
4432 #define OFS_PFDIR_L            OFS_PFDIR\r
4433 #define OFS_PFDIR_H            OFS_PFDIR+1\r
4434 #define OFS_PFREN              (0x0006)       /* Port F Resistor Enable */\r
4435 #define OFS_PFREN_L            OFS_PFREN\r
4436 #define OFS_PFREN_H            OFS_PFREN+1\r
4437 #define OFS_PFSEL0             (0x000A)       /* Port F Selection 0 */\r
4438 #define OFS_PFSEL0_L           OFS_PFSEL0\r
4439 #define OFS_PFSEL0_H           OFS_PFSEL0+1\r
4440 #define OFS_PFSEL1             (0x000C)       /* Port F Selection 1 */\r
4441 #define OFS_PFSEL1_L           OFS_PFSEL1\r
4442 #define OFS_PFSEL1_H           OFS_PFSEL1+1\r
4443 #define OFS_PFSELC             (0x0016)       /* Port F Complement Selection */\r
4444 #define OFS_PFSELC_L           OFS_PFSELC\r
4445 #define OFS_PFSELC_H           OFS_PFSELC+1\r
4446 #define OFS_PFIES              (0x0018)       /* Port F Interrupt Edge Select */\r
4447 #define OFS_PFIES_L            OFS_PFIES\r
4448 #define OFS_PFIES_H            OFS_PFIES+1\r
4449 #define OFS_PFIE               (0x001A)       /* Port F Interrupt Enable */\r
4450 #define OFS_PFIE_L             OFS_PFIE\r
4451 #define OFS_PFIE_H             OFS_PFIE+1\r
4452 #define OFS_PFIFG              (0x001C)       /* Port F Interrupt Flag */\r
4453 #define OFS_PFIFG_L            OFS_PFIFG\r
4454 #define OFS_PFIFG_H            OFS_PFIFG+1\r
4455 \r
4456 \r
4457 #define OFS_P11IN              (0x0000)\r
4458 #define OFS_P11OUT             (0x0002)\r
4459 #define OFS_P11DIR             (0x0004)\r
4460 #define OFS_P11REN             (0x0006)\r
4461 #define OFS_P11SEL0            (0x000A)\r
4462 #define OFS_P11SEL1            (0x000C)\r
4463 #define OFS_P11SELC            (0x0016)\r
4464 #define OFS_P11IV              (0x000E)       /* Port 11 Interrupt Vector Word */\r
4465 #define OFS_P11IES             (0x0018)\r
4466 #define OFS_P11IE              (0x001A)\r
4467 #define OFS_P11IFG             (0x001C)\r
4468 #define P11IN                  (PFIN_L)       /* Port 11 Input */\r
4469 #define P11OUT                 (PFOUT_L)      /* Port 11 Output */\r
4470 #define P11DIR                 (PFDIR_L)      /* Port 11 Direction */\r
4471 #define P11REN                 (PFREN_L)      /* Port 11 Resistor Enable */\r
4472 #define P11SEL0                (PFSEL0_L)     /* Port 11 Selection0 */\r
4473 #define P11SEL1                (PFSEL1_L)     /* Port 11 Selection1 */\r
4474 #define OFS_P11SELC            (0x0017)\r
4475 \r
4476 #define P11IES                 (PFIES_L)      /* Port 11 Interrupt Edge Select */\r
4477 #define P11IE                  (PFIE_L)       /* Port 11 Interrupt Enable */\r
4478 #define P11IFG                 (PFIFG_L)      /* Port 11 Interrupt Flag */\r
4479 \r
4480 //Definitions for P11IV\r
4481 #define P11IV_NONE             (0x0000)       /* No Interrupt pending */\r
4482 #define P11IV_P11IFG0          (0x0002)       /* P11IV P11IFG.0 */\r
4483 #define P11IV_P11IFG1          (0x0004)       /* P11IV P11IFG.1 */\r
4484 #define P11IV_P11IFG2          (0x0006)       /* P11IV P11IFG.2 */\r
4485 #define P11IV_P11IFG3          (0x0008)       /* P11IV P11IFG.3 */\r
4486 #define P11IV_P11IFG4          (0x000A)       /* P11IV P11IFG.4 */\r
4487 #define P11IV_P11IFG5          (0x000C)       /* P11IV P11IFG.5 */\r
4488 #define P11IV_P11IFG6          (0x000E)       /* P11IV P11IFG.6 */\r
4489 #define P11IV_P11IFG7          (0x0010)       /* P11IV P11IFG.7 */\r
4490 \r
4491 \r
4492 #endif\r
4493 #endif\r
4494 /************************************************************\r
4495 * DIGITAL I/O PortJ Pull up / Pull down Resistors\r
4496 ************************************************************/\r
4497 #ifdef  __MSP430_HAS_PORTJ_R__        /* Definition to show that Module is available */\r
4498 \r
4499 #define OFS_PJIN               (0x0000)       /* Port J Input */\r
4500 #define OFS_PJIN_L             OFS_PJIN\r
4501 #define OFS_PJIN_H             OFS_PJIN+1\r
4502 #define OFS_PJOUT              (0x0002)       /* Port J Output */\r
4503 #define OFS_PJOUT_L            OFS_PJOUT\r
4504 #define OFS_PJOUT_H            OFS_PJOUT+1\r
4505 #define OFS_PJDIR              (0x0004)       /* Port J Direction */\r
4506 #define OFS_PJDIR_L            OFS_PJDIR\r
4507 #define OFS_PJDIR_H            OFS_PJDIR+1\r
4508 #define OFS_PJREN              (0x0006)       /* Port J Resistor Enable */\r
4509 #define OFS_PJREN_L            OFS_PJREN\r
4510 #define OFS_PJREN_H            OFS_PJREN+1\r
4511 #define OFS_PJSEL0             (0x000A)       /* Port J Selection 0 */\r
4512 #define OFS_PJSEL0_L           OFS_PJSEL0\r
4513 #define OFS_PJSEL0_H           OFS_PJSEL0+1\r
4514 #define OFS_PJSEL1             (0x000C)       /* Port J Selection 1 */\r
4515 #define OFS_PJSEL1_L           OFS_PJSEL1\r
4516 #define OFS_PJSEL1_H           OFS_PJSEL1+1\r
4517 #define OFS_PJSELC             (0x0016)       /* Port J Complement Selection */\r
4518 #define OFS_PJSELC_L           OFS_PJSELC\r
4519 #define OFS_PJSELC_H           OFS_PJSELC+1\r
4520 \r
4521 #endif\r
4522 /*************************************************************\r
4523 * RAM Control Module for FRAM\r
4524 *************************************************************/\r
4525 #ifdef  __MSP430_HAS_RC_FRAM__        /* Definition to show that Module is available */\r
4526 \r
4527 #define OFS_RCCTL0             (0x0000)       /* Ram Controller Control Register */\r
4528 #define OFS_RCCTL0_L           OFS_RCCTL0\r
4529 #define OFS_RCCTL0_H           OFS_RCCTL0+1\r
4530 \r
4531 /* RCCTL0 Control Bits */\r
4532 #define RCRS0OFF0              (0x0001)       /* RAM Controller RAM Sector 0 Off Bit: 0 */\r
4533 #define RCRS0OFF1              (0x0002)       /* RAM Controller RAM Sector 0 Off Bit: 1 */\r
4534 #define RCRS4OFF0              (0x0100)       /* RAM Controller RAM Sector 4 Off Bit: 0 */\r
4535 #define RCRS4OFF1              (0x0200)       /* RAM Controller RAM Sector 4 Off Bit: 1 */\r
4536 #define RCRS5OFF0              (0x0400)       /* RAM Controller RAM Sector 5 Off Bit: 0 */\r
4537 #define RCRS5OFF1              (0x0800)       /* RAM Controller RAM Sector 5 Off Bit: 1 */\r
4538 #define RCRS6OFF0              (0x1000)       /* RAM Controller RAM Sector 6 Off Bit: 0 */\r
4539 #define RCRS6OFF1              (0x2000)       /* RAM Controller RAM Sector 6 Off Bit: 1 */\r
4540 #define RCRS7OFF0              (0x4000)       /* RAM Controller RAM Sector 7 (USB) Off Bit: 0 */\r
4541 #define RCRS7OFF1              (0x8000)       /* RAM Controller RAM Sector 7 (USB) Off Bit: 1 */\r
4542 \r
4543 /* RCCTL0 Control Bits */\r
4544 #define RCRS0OFF0_L            (0x0001)       /* RAM Controller RAM Sector 0 Off Bit: 0 */\r
4545 #define RCRS0OFF1_L            (0x0002)       /* RAM Controller RAM Sector 0 Off Bit: 1 */\r
4546 \r
4547 /* RCCTL0 Control Bits */\r
4548 #define RCRS4OFF0_H            (0x0001)       /* RAM Controller RAM Sector 4 Off Bit: 0 */\r
4549 #define RCRS4OFF1_H            (0x0002)       /* RAM Controller RAM Sector 4 Off Bit: 1 */\r
4550 #define RCRS5OFF0_H            (0x0004)       /* RAM Controller RAM Sector 5 Off Bit: 0 */\r
4551 #define RCRS5OFF1_H            (0x0008)       /* RAM Controller RAM Sector 5 Off Bit: 1 */\r
4552 #define RCRS6OFF0_H            (0x0010)       /* RAM Controller RAM Sector 6 Off Bit: 0 */\r
4553 #define RCRS6OFF1_H            (0x0020)       /* RAM Controller RAM Sector 6 Off Bit: 1 */\r
4554 #define RCRS7OFF0_H            (0x0040)       /* RAM Controller RAM Sector 7 (USB) Off Bit: 0 */\r
4555 #define RCRS7OFF1_H            (0x0080)       /* RAM Controller RAM Sector 7 (USB) Off Bit: 1 */\r
4556 \r
4557 #define RCKEY                  (0x5A00)\r
4558 \r
4559 #define RCRS0OFF_0             (0x0000)       /* RAM Controller RAM Sector 0 Off : 0 */\r
4560 #define RCRS0OFF_1             (0x0001)       /* RAM Controller RAM Sector 0 Off : 1 */\r
4561 #define RCRS0OFF_2             (0x0002)       /* RAM Controller RAM Sector 0 Off : 2 */\r
4562 #define RCRS0OFF_3             (0x0003)       /* RAM Controller RAM Sector 0 Off : 3 */\r
4563 #define RCRS4OFF_0             (0x0000)       /* RAM Controller RAM Sector 4 Off : 0 */\r
4564 #define RCRS4OFF_2             (0x0100)       /* RAM Controller RAM Sector 4 Off : 1 */\r
4565 #define RCRS4OFF_3             (0x0200)       /* RAM Controller RAM Sector 4 Off : 2 */\r
4566 #define RCRS4OFF_4             (0x0300)       /* RAM Controller RAM Sector 4 Off : 3 */\r
4567 #define RCRS5OFF_0             (0x0000)       /* RAM Controller RAM Sector 5 Off : 0 */\r
4568 #define RCRS5OFF_1             (0x0400)       /* RAM Controller RAM Sector 5 Off : 1 */\r
4569 #define RCRS5OFF_2             (0x0800)       /* RAM Controller RAM Sector 5 Off : 2 */\r
4570 #define RCRS5OFF_3             (0x0C00)       /* RAM Controller RAM Sector 5 Off : 3 */\r
4571 #define RCRS6OFF_0             (0x0000)       /* RAM Controller RAM Sector 6 Off : 0 */\r
4572 #define RCRS6OFF_1             (0x0100)       /* RAM Controller RAM Sector 6 Off : 1 */\r
4573 #define RCRS6OFF_2             (0x0200)       /* RAM Controller RAM Sector 6 Off : 2 */\r
4574 #define RCRS6OFF_3             (0x0300)       /* RAM Controller RAM Sector 6 Off : 3 */\r
4575 #define RCRS7OFF_0             (0x0000)       /* RAM Controller RAM Sector 7 Off : 0 */\r
4576 #define RCRS7OFF_1             (0x4000)       /* RAM Controller RAM Sector 7 Off : 1 */\r
4577 #define RCRS7OFF_2             (0x8000)       /* RAM Controller RAM Sector 7 Off : 2*/\r
4578 #define RCRS7OFF_3             (0xC000)       /* RAM Controller RAM Sector 7 Off : 3*/\r
4579 \r
4580 #endif\r
4581 /************************************************************\r
4582 * Shared Reference\r
4583 ************************************************************/\r
4584 #ifdef  __MSP430_HAS_REF_A__           /* Definition to show that Module is available */\r
4585 \r
4586 #define OFS_REFCTL0            (0x0000)       /* REF Shared Reference control register 0 */\r
4587 #define OFS_REFCTL0_L          OFS_REFCTL0\r
4588 #define OFS_REFCTL0_H          OFS_REFCTL0+1\r
4589 \r
4590 /* REFCTL0 Control Bits */\r
4591 #define REFON                  (0x0001)       /* REF Reference On */\r
4592 #define REFOUT                 (0x0002)       /* REF Reference output Buffer On */\r
4593 //#define RESERVED            (0x0004)  /* Reserved */\r
4594 #define REFTCOFF               (0x0008)       /* REF Temp.Sensor off */\r
4595 #define REFVSEL0               (0x0010)       /* REF Reference Voltage Level Select Bit:0 */\r
4596 #define REFVSEL1               (0x0020)       /* REF Reference Voltage Level Select Bit:1 */\r
4597 #define REFGENOT               (0x0040)       /* REF Reference generator one-time trigger */\r
4598 #define REFBGOT                (0x0080)       /* REF Bandgap and bandgap buffer one-time trigger */\r
4599 #define REFGENACT              (0x0100)       /* REF Reference generator active */\r
4600 #define REFBGACT               (0x0200)       /* REF Reference bandgap active */\r
4601 #define REFGENBUSY             (0x0400)       /* REF Reference generator busy */\r
4602 #define BGMODE                 (0x0800)       /* REF Bandgap mode */\r
4603 #define REFGENRDY              (0x1000)       /* REF Reference generator ready */\r
4604 #define REFBGRDY               (0x2000)       /* REF Reference bandgap ready */\r
4605 //#define RESERVED            (0x4000)  /* Reserved */\r
4606 //#define RESERVED            (0x8000)  /* Reserved */\r
4607 \r
4608 /* REFCTL0 Control Bits */\r
4609 #define REFON_L                (0x0001)       /* REF Reference On */\r
4610 #define REFOUT_L               (0x0002)       /* REF Reference output Buffer On */\r
4611 //#define RESERVED            (0x0004)  /* Reserved */\r
4612 #define REFTCOFF_L             (0x0008)       /* REF Temp.Sensor off */\r
4613 #define REFVSEL0_L             (0x0010)       /* REF Reference Voltage Level Select Bit:0 */\r
4614 #define REFVSEL1_L             (0x0020)       /* REF Reference Voltage Level Select Bit:1 */\r
4615 #define REFGENOT_L             (0x0040)       /* REF Reference generator one-time trigger */\r
4616 #define REFBGOT_L              (0x0080)       /* REF Bandgap and bandgap buffer one-time trigger */\r
4617 //#define RESERVED            (0x4000)  /* Reserved */\r
4618 //#define RESERVED            (0x8000)  /* Reserved */\r
4619 \r
4620 /* REFCTL0 Control Bits */\r
4621 //#define RESERVED            (0x0004)  /* Reserved */\r
4622 #define REFGENACT_H            (0x0001)       /* REF Reference generator active */\r
4623 #define REFBGACT_H             (0x0002)       /* REF Reference bandgap active */\r
4624 #define REFGENBUSY_H           (0x0004)       /* REF Reference generator busy */\r
4625 #define BGMODE_H               (0x0008)       /* REF Bandgap mode */\r
4626 #define REFGENRDY_H            (0x0010)       /* REF Reference generator ready */\r
4627 #define REFBGRDY_H             (0x0020)       /* REF Reference bandgap ready */\r
4628 //#define RESERVED            (0x4000)  /* Reserved */\r
4629 //#define RESERVED            (0x8000)  /* Reserved */\r
4630 \r
4631 #define REFVSEL_0              (0x0000)       /* REF Reference Voltage Level Select 1.2V */\r
4632 #define REFVSEL_1              (0x0010)       /* REF Reference Voltage Level Select 2.0V */\r
4633 #define REFVSEL_2              (0x0020)       /* REF Reference Voltage Level Select 2.5V */\r
4634 #define REFVSEL_3              (0x0030)       /* REF Reference Voltage Level Select 2.5V */\r
4635 \r
4636 #endif\r
4637 /************************************************************\r
4638 * Real Time Clock\r
4639 ************************************************************/\r
4640 #ifdef  __MSP430_HAS_RTC_B__          /* Definition to show that Module is available */\r
4641 \r
4642 #define OFS_RTCCTL01           (0x0000)       /* Real Timer Control 0/1 */\r
4643 #define OFS_RTCCTL01_L         OFS_RTCCTL01\r
4644 #define OFS_RTCCTL01_H         OFS_RTCCTL01+1\r
4645 #define OFS_RTCCTL23           (0x0002)       /* Real Timer Control 2/3 */\r
4646 #define OFS_RTCCTL23_L         OFS_RTCCTL23\r
4647 #define OFS_RTCCTL23_H         OFS_RTCCTL23+1\r
4648 #define OFS_RTCPS0CTL          (0x0008)       /* Real Timer Prescale Timer 0 Control */\r
4649 #define OFS_RTCPS0CTL_L        OFS_RTCPS0CTL\r
4650 #define OFS_RTCPS0CTL_H        OFS_RTCPS0CTL+1\r
4651 #define OFS_RTCPS1CTL          (0x000A)       /* Real Timer Prescale Timer 1 Control */\r
4652 #define OFS_RTCPS1CTL_L        OFS_RTCPS1CTL\r
4653 #define OFS_RTCPS1CTL_H        OFS_RTCPS1CTL+1\r
4654 #define OFS_RTCPS              (0x000C)       /* Real Timer Prescale Timer Control */\r
4655 #define OFS_RTCPS_L            OFS_RTCPS\r
4656 #define OFS_RTCPS_H            OFS_RTCPS+1\r
4657 #define OFS_RTCIV              (0x000E)       /* Real Time Clock Interrupt Vector */\r
4658 #define OFS_RTCTIM0            (0x0010)       /* Real Time Clock Time 0 */\r
4659 #define OFS_RTCTIM0_L          OFS_RTCTIM0\r
4660 #define OFS_RTCTIM0_H          OFS_RTCTIM0+1\r
4661 #define OFS_RTCTIM1            (0x0012)       /* Real Time Clock Time 1 */\r
4662 #define OFS_RTCTIM1_L          OFS_RTCTIM1\r
4663 #define OFS_RTCTIM1_H          OFS_RTCTIM1+1\r
4664 #define OFS_RTCDATE            (0x0014)       /* Real Time Clock Date */\r
4665 #define OFS_RTCDATE_L          OFS_RTCDATE\r
4666 #define OFS_RTCDATE_H          OFS_RTCDATE+1\r
4667 #define OFS_RTCYEAR            (0x0016)       /* Real Time Clock Year */\r
4668 #define OFS_RTCYEAR_L          OFS_RTCYEAR\r
4669 #define OFS_RTCYEAR_H          OFS_RTCYEAR+1\r
4670 #define OFS_RTCAMINHR          (0x0018)       /* Real Time Clock Alarm Min/Hour */\r
4671 #define OFS_RTCAMINHR_L        OFS_RTCAMINHR\r
4672 #define OFS_RTCAMINHR_H        OFS_RTCAMINHR+1\r
4673 #define OFS_RTCADOWDAY         (0x001A)       /* Real Time Clock Alarm day of week/day */\r
4674 #define OFS_RTCADOWDAY_L       OFS_RTCADOWDAY\r
4675 #define OFS_RTCADOWDAY_H       OFS_RTCADOWDAY+1\r
4676 #define OFS_BIN2BCD            (0x001C)       /* Real Time Binary-to-BCD conversion register */\r
4677 #define OFS_BCD2BIN            (0x001E)       /* Real Time BCD-to-binary conversion register */\r
4678 #define OFS_RTCSEC             (0x0010)\r
4679 #define OFS_RTCMIN             (0x0011)\r
4680 #define OFS_RTCHOUR            (0x0012)\r
4681 #define OFS_RTCDOW             (0x0013)\r
4682 #define OFS_RTCDAY             (0x0014)\r
4683 #define OFS_RTCMON             (0x0015)\r
4684 #define OFS_RTCAMIN            (0x0018)\r
4685 #define OFS_RTCAHOUR           (0x0019)\r
4686 #define OFS_RTCADOW            (0x001A)\r
4687 #define OFS_RTCADAY            (0x001B)\r
4688 \r
4689 #define RTCCTL0                RTCCTL01_L     /* Real Time Clock Control 0 */\r
4690 #define RTCCTL1                RTCCTL01_H     /* Real Time Clock Control 1 */\r
4691 #define RTCCTL2                RTCCTL23_L     /* Real Time Clock Control 2 */\r
4692 #define RTCCTL3                RTCCTL23_H     /* Real Time Clock Control 3 */\r
4693 #define RTCNT12                RTCTIM0\r
4694 #define RTCNT34                RTCTIM1\r
4695 #define RTCNT1                 RTCTIM0_L\r
4696 #define RTCNT2                 RTCTIM0_H\r
4697 #define RTCNT3                 RTCTIM1_L\r
4698 #define RTCNT4                 RTCTIM1_H\r
4699 #define RTCSEC                 RTCTIM0_L\r
4700 #define RTCMIN                 RTCTIM0_H\r
4701 #define RTCHOUR                RTCTIM1_L\r
4702 #define RTCDOW                 RTCTIM1_H\r
4703 #define RTCDAY                 RTCDATE_L\r
4704 #define RTCMON                 RTCDATE_H\r
4705 #define RTCYEARL               RTCYEAR_L\r
4706 #define RTCYEARH               RTCYEAR_H\r
4707 #define RT0PS                  RTCPS_L\r
4708 #define RT1PS                  RTCPS_H\r
4709 #define RTCAMIN                RTCAMINHR_L    /* Real Time Clock Alarm Min */\r
4710 #define RTCAHOUR               RTCAMINHR_H    /* Real Time Clock Alarm Hour */\r
4711 #define RTCADOW                RTCADOWDAY_L   /* Real Time Clock Alarm day of week */\r
4712 #define RTCADAY                RTCADOWDAY_H   /* Real Time Clock Alarm day */\r
4713 \r
4714 /* RTCCTL01 Control Bits */\r
4715 #define RTCBCD                 (0x8000)       /* RTC BCD  0:Binary / 1:BCD */\r
4716 #define RTCHOLD                (0x4000)       /* RTC Hold */\r
4717 //#define RESERVED            (0x2000)     /* RESERVED */\r
4718 #define RTCRDY                 (0x1000)       /* RTC Ready */\r
4719 //#define RESERVED            (0x0800)     /* RESERVED */\r
4720 //#define RESERVED            (0x0400)     /* RESERVED */\r
4721 #define RTCTEV1                (0x0200)       /* RTC Time Event 1 */\r
4722 #define RTCTEV0                (0x0100)       /* RTC Time Event 0 */\r
4723 #define RTCOFIE                (0x0080)       /* RTC 32kHz cyrstal oscillator fault interrupt enable */\r
4724 #define RTCTEVIE               (0x0040)       /* RTC Time Event Interrupt Enable Flag */\r
4725 #define RTCAIE                 (0x0020)       /* RTC Alarm Interrupt Enable Flag */\r
4726 #define RTCRDYIE               (0x0010)       /* RTC Ready Interrupt Enable Flag */\r
4727 #define RTCOFIFG               (0x0008)       /* RTC 32kHz cyrstal oscillator fault interrupt flag */\r
4728 #define RTCTEVIFG              (0x0004)       /* RTC Time Event Interrupt Flag */\r
4729 #define RTCAIFG                (0x0002)       /* RTC Alarm Interrupt Flag */\r
4730 #define RTCRDYIFG              (0x0001)       /* RTC Ready Interrupt Flag */\r
4731 \r
4732 /* RTCCTL01 Control Bits */\r
4733 //#define RESERVED            (0x2000)     /* RESERVED */\r
4734 //#define RESERVED            (0x0800)     /* RESERVED */\r
4735 //#define RESERVED            (0x0400)     /* RESERVED */\r
4736 #define RTCOFIE_L              (0x0080)       /* RTC 32kHz cyrstal oscillator fault interrupt enable */\r
4737 #define RTCTEVIE_L             (0x0040)       /* RTC Time Event Interrupt Enable Flag */\r
4738 #define RTCAIE_L               (0x0020)       /* RTC Alarm Interrupt Enable Flag */\r
4739 #define RTCRDYIE_L             (0x0010)       /* RTC Ready Interrupt Enable Flag */\r
4740 #define RTCOFIFG_L             (0x0008)       /* RTC 32kHz cyrstal oscillator fault interrupt flag */\r
4741 #define RTCTEVIFG_L            (0x0004)       /* RTC Time Event Interrupt Flag */\r
4742 #define RTCAIFG_L              (0x0002)       /* RTC Alarm Interrupt Flag */\r
4743 #define RTCRDYIFG_L            (0x0001)       /* RTC Ready Interrupt Flag */\r
4744 \r
4745 /* RTCCTL01 Control Bits */\r
4746 #define RTCBCD_H               (0x0080)       /* RTC BCD  0:Binary / 1:BCD */\r
4747 #define RTCHOLD_H              (0x0040)       /* RTC Hold */\r
4748 //#define RESERVED            (0x2000)     /* RESERVED */\r
4749 #define RTCRDY_H               (0x0010)       /* RTC Ready */\r
4750 //#define RESERVED            (0x0800)     /* RESERVED */\r
4751 //#define RESERVED            (0x0400)     /* RESERVED */\r
4752 #define RTCTEV1_H              (0x0002)       /* RTC Time Event 1 */\r
4753 #define RTCTEV0_H              (0x0001)       /* RTC Time Event 0 */\r
4754 \r
4755 #define RTCTEV_0               (0x0000)       /* RTC Time Event: 0 (Min. changed) */\r
4756 #define RTCTEV_1               (0x0100)       /* RTC Time Event: 1 (Hour changed) */\r
4757 #define RTCTEV_2               (0x0200)       /* RTC Time Event: 2 (12:00 changed) */\r
4758 #define RTCTEV_3               (0x0300)       /* RTC Time Event: 3 (00:00 changed) */\r
4759 #define RTCTEV__MIN            (0x0000)       /* RTC Time Event: 0 (Min. changed) */\r
4760 #define RTCTEV__HOUR           (0x0100)       /* RTC Time Event: 1 (Hour changed) */\r
4761 #define RTCTEV__0000           (0x0200)       /* RTC Time Event: 2 (00:00 changed) */\r
4762 #define RTCTEV__1200           (0x0300)       /* RTC Time Event: 3 (12:00 changed) */\r
4763 \r
4764 /* RTCCTL23 Control Bits */\r
4765 #define RTCCALF1               (0x0200)       /* RTC Calibration Frequency Bit 1 */\r
4766 #define RTCCALF0               (0x0100)       /* RTC Calibration Frequency Bit 0 */\r
4767 #define RTCCALS                (0x0080)       /* RTC Calibration Sign */\r
4768 //#define Reserved          (0x0040)\r
4769 #define RTCCAL5                (0x0020)       /* RTC Calibration Bit 5 */\r
4770 #define RTCCAL4                (0x0010)       /* RTC Calibration Bit 4 */\r
4771 #define RTCCAL3                (0x0008)       /* RTC Calibration Bit 3 */\r
4772 #define RTCCAL2                (0x0004)       /* RTC Calibration Bit 2 */\r
4773 #define RTCCAL1                (0x0002)       /* RTC Calibration Bit 1 */\r
4774 #define RTCCAL0                (0x0001)       /* RTC Calibration Bit 0 */\r
4775 \r
4776 /* RTCCTL23 Control Bits */\r
4777 #define RTCCALS_L              (0x0080)       /* RTC Calibration Sign */\r
4778 //#define Reserved          (0x0040)\r
4779 #define RTCCAL5_L              (0x0020)       /* RTC Calibration Bit 5 */\r
4780 #define RTCCAL4_L              (0x0010)       /* RTC Calibration Bit 4 */\r
4781 #define RTCCAL3_L              (0x0008)       /* RTC Calibration Bit 3 */\r
4782 #define RTCCAL2_L              (0x0004)       /* RTC Calibration Bit 2 */\r
4783 #define RTCCAL1_L              (0x0002)       /* RTC Calibration Bit 1 */\r
4784 #define RTCCAL0_L              (0x0001)       /* RTC Calibration Bit 0 */\r
4785 \r
4786 /* RTCCTL23 Control Bits */\r
4787 #define RTCCALF1_H             (0x0002)       /* RTC Calibration Frequency Bit 1 */\r
4788 #define RTCCALF0_H             (0x0001)       /* RTC Calibration Frequency Bit 0 */\r
4789 //#define Reserved          (0x0040)\r
4790 \r
4791 #define RTCCALF_0              (0x0000)       /* RTC Calibration Frequency: No Output */\r
4792 #define RTCCALF_1              (0x0100)       /* RTC Calibration Frequency: 512 Hz */\r
4793 #define RTCCALF_2              (0x0200)       /* RTC Calibration Frequency: 256 Hz */\r
4794 #define RTCCALF_3              (0x0300)       /* RTC Calibration Frequency: 1 Hz */\r
4795 \r
4796 #define RTCAE                  (0x80)         /* Real Time Clock Alarm enable */\r
4797 \r
4798 /* RTCPS0CTL Control Bits */\r
4799 //#define Reserved          (0x0080)\r
4800 //#define Reserved          (0x0040)\r
4801 //#define Reserved          (0x0020)\r
4802 #define RT0IP2                 (0x0010)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 2 */\r
4803 #define RT0IP1                 (0x0008)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 1 */\r
4804 #define RT0IP0                 (0x0004)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 0 */\r
4805 #define RT0PSIE                (0x0002)       /* RTC Prescale Timer 0 Interrupt Enable Flag */\r
4806 #define RT0PSIFG               (0x0001)       /* RTC Prescale Timer 0 Interrupt Flag */\r
4807 \r
4808 /* RTCPS0CTL Control Bits */\r
4809 //#define Reserved          (0x0080)\r
4810 //#define Reserved          (0x0040)\r
4811 //#define Reserved          (0x0020)\r
4812 #define RT0IP2_L               (0x0010)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 2 */\r
4813 #define RT0IP1_L               (0x0008)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 1 */\r
4814 #define RT0IP0_L               (0x0004)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 0 */\r
4815 #define RT0PSIE_L              (0x0002)       /* RTC Prescale Timer 0 Interrupt Enable Flag */\r
4816 #define RT0PSIFG_L             (0x0001)       /* RTC Prescale Timer 0 Interrupt Flag */\r
4817 \r
4818 #define RT0IP_0                (0x0000)       /* RTC Prescale Timer 0 Interrupt Interval /2 */\r
4819 #define RT0IP_1                (0x0004)       /* RTC Prescale Timer 0 Interrupt Interval /4 */\r
4820 #define RT0IP_2                (0x0008)       /* RTC Prescale Timer 0 Interrupt Interval /8 */\r
4821 #define RT0IP_3                (0x000C)       /* RTC Prescale Timer 0 Interrupt Interval /16 */\r
4822 #define RT0IP_4                (0x0010)       /* RTC Prescale Timer 0 Interrupt Interval /32 */\r
4823 #define RT0IP_5                (0x0014)       /* RTC Prescale Timer 0 Interrupt Interval /64 */\r
4824 #define RT0IP_6                (0x0018)       /* RTC Prescale Timer 0 Interrupt Interval /128 */\r
4825 #define RT0IP_7                (0x001C)       /* RTC Prescale Timer 0 Interrupt Interval /256 */\r
4826 \r
4827 #define RT0IP__2               (0x0000)       /* RTC Prescale Timer 0 Interrupt Interval /2 */\r
4828 #define RT0IP__4               (0x0004)       /* RTC Prescale Timer 0 Interrupt Interval /4 */\r
4829 #define RT0IP__8               (0x0008)       /* RTC Prescale Timer 0 Interrupt Interval /8 */\r
4830 #define RT0IP__16              (0x000C)       /* RTC Prescale Timer 0 Interrupt Interval /16 */\r
4831 #define RT0IP__32              (0x0010)       /* RTC Prescale Timer 0 Interrupt Interval /32 */\r
4832 #define RT0IP__64              (0x0014)       /* RTC Prescale Timer 0 Interrupt Interval /64 */\r
4833 #define RT0IP__128             (0x0018)       /* RTC Prescale Timer 0 Interrupt Interval /128 */\r
4834 #define RT0IP__256             (0x001C)       /* RTC Prescale Timer 0 Interrupt Interval /256 */\r
4835 \r
4836 /* RTCPS1CTL Control Bits */\r
4837 //#define Reserved          (0x0080)\r
4838 //#define Reserved          (0x0040)\r
4839 //#define Reserved          (0x0020)\r
4840 #define RT1IP2                 (0x0010)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 2 */\r
4841 #define RT1IP1                 (0x0008)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 1 */\r
4842 #define RT1IP0                 (0x0004)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 0 */\r
4843 #define RT1PSIE                (0x0002)       /* RTC Prescale Timer 1 Interrupt Enable Flag */\r
4844 #define RT1PSIFG               (0x0001)       /* RTC Prescale Timer 1 Interrupt Flag */\r
4845 \r
4846 /* RTCPS1CTL Control Bits */\r
4847 //#define Reserved          (0x0080)\r
4848 //#define Reserved          (0x0040)\r
4849 //#define Reserved          (0x0020)\r
4850 #define RT1IP2_L               (0x0010)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 2 */\r
4851 #define RT1IP1_L               (0x0008)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 1 */\r
4852 #define RT1IP0_L               (0x0004)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 0 */\r
4853 #define RT1PSIE_L              (0x0002)       /* RTC Prescale Timer 1 Interrupt Enable Flag */\r
4854 #define RT1PSIFG_L             (0x0001)       /* RTC Prescale Timer 1 Interrupt Flag */\r
4855 \r
4856 #define RT1IP_0                (0x0000)       /* RTC Prescale Timer 1 Interrupt Interval /2 */\r
4857 #define RT1IP_1                (0x0004)       /* RTC Prescale Timer 1 Interrupt Interval /4 */\r
4858 #define RT1IP_2                (0x0008)       /* RTC Prescale Timer 1 Interrupt Interval /8 */\r
4859 #define RT1IP_3                (0x000C)       /* RTC Prescale Timer 1 Interrupt Interval /16 */\r
4860 #define RT1IP_4                (0x0010)       /* RTC Prescale Timer 1 Interrupt Interval /32 */\r
4861 #define RT1IP_5                (0x0014)       /* RTC Prescale Timer 1 Interrupt Interval /64 */\r
4862 #define RT1IP_6                (0x0018)       /* RTC Prescale Timer 1 Interrupt Interval /128 */\r
4863 #define RT1IP_7                (0x001C)       /* RTC Prescale Timer 1 Interrupt Interval /256 */\r
4864 \r
4865 #define RT1IP__2               (0x0000)       /* RTC Prescale Timer 1 Interrupt Interval /2 */\r
4866 #define RT1IP__4               (0x0004)       /* RTC Prescale Timer 1 Interrupt Interval /4 */\r
4867 #define RT1IP__8               (0x0008)       /* RTC Prescale Timer 1 Interrupt Interval /8 */\r
4868 #define RT1IP__16              (0x000C)       /* RTC Prescale Timer 1 Interrupt Interval /16 */\r
4869 #define RT1IP__32              (0x0010)       /* RTC Prescale Timer 1 Interrupt Interval /32 */\r
4870 #define RT1IP__64              (0x0014)       /* RTC Prescale Timer 1 Interrupt Interval /64 */\r
4871 #define RT1IP__128             (0x0018)       /* RTC Prescale Timer 1 Interrupt Interval /128 */\r
4872 #define RT1IP__256             (0x001C)       /* RTC Prescale Timer 1 Interrupt Interval /256 */\r
4873 \r
4874 /* RTC Definitions */\r
4875 #define RTCIV_NONE             (0x0000)       /* No Interrupt pending */\r
4876 #define RTCIV_RTCRDYIFG        (0x0002)       /* RTC ready: RTCRDYIFG */\r
4877 #define RTCIV_RTCTEVIFG        (0x0004)       /* RTC interval timer: RTCTEVIFG */\r
4878 #define RTCIV_RTCAIFG          (0x0006)       /* RTC user alarm: RTCAIFG */\r
4879 #define RTCIV_RT0PSIFG         (0x0008)       /* RTC prescaler 0: RT0PSIFG */\r
4880 #define RTCIV_RT1PSIFG         (0x000A)       /* RTC prescaler 1: RT1PSIFG */\r
4881 #define RTCIV_RTCOFIFG         (0x000C)       /* RTC Oscillator fault */\r
4882 \r
4883 /* Legacy Definitions */\r
4884 #define RTC_NONE               (0x0000)       /* No Interrupt pending */\r
4885 #define RTC_RTCRDYIFG          (0x0002)       /* RTC ready: RTCRDYIFG */\r
4886 #define RTC_RTCTEVIFG          (0x0004)       /* RTC interval timer: RTCTEVIFG */\r
4887 #define RTC_RTCAIFG            (0x0006)       /* RTC user alarm: RTCAIFG */\r
4888 #define RTC_RT0PSIFG           (0x0008)       /* RTC prescaler 0: RT0PSIFG */\r
4889 #define RTC_RT1PSIFG           (0x000A)       /* RTC prescaler 1: RT1PSIFG */\r
4890 #define RTC_RTCOFIFG           (0x000C)       /* RTC Oscillator fault */\r
4891 \r
4892 #endif\r
4893 /************************************************************\r
4894 * Real Time Clock\r
4895 ************************************************************/\r
4896 #ifdef  __MSP430_HAS_RTC_C__          /* Definition to show that Module is available */\r
4897 \r
4898 #define OFS_RTCCTL0            (0x0000)       /* Real Timer Clock Control 0/Key */\r
4899 #define OFS_RTCCTL0_L          OFS_RTCCTL0\r
4900 #define OFS_RTCCTL0_H          OFS_RTCCTL0+1\r
4901 #define OFS_RTCCTL13           (0x0002)       /* Real Timer Clock Control 1/3 */\r
4902 #define OFS_RTCCTL13_L         OFS_RTCCTL13\r
4903 #define OFS_RTCCTL13_H         OFS_RTCCTL13+1\r
4904 #define RTCCTL1                RTCCTL13_L\r
4905 #define RTCCTL3                RTCCTL13_H\r
4906 #define OFS_RTCOCAL            (0x0004)       /* Real Timer Clock Offset Calibartion */\r
4907 #define OFS_RTCOCAL_L          OFS_RTCOCAL\r
4908 #define OFS_RTCOCAL_H          OFS_RTCOCAL+1\r
4909 #define OFS_RTCTCMP            (0x0006)       /* Real Timer Temperature Compensation */\r
4910 #define OFS_RTCTCMP_L          OFS_RTCTCMP\r
4911 #define OFS_RTCTCMP_H          OFS_RTCTCMP+1\r
4912 #define OFS_RTCPS0CTL          (0x0008)       /* Real Timer Prescale Timer 0 Control */\r
4913 #define OFS_RTCPS0CTL_L        OFS_RTCPS0CTL\r
4914 #define OFS_RTCPS0CTL_H        OFS_RTCPS0CTL+1\r
4915 #define OFS_RTCPS1CTL          (0x000A)       /* Real Timer Prescale Timer 1 Control */\r
4916 #define OFS_RTCPS1CTL_L        OFS_RTCPS1CTL\r
4917 #define OFS_RTCPS1CTL_H        OFS_RTCPS1CTL+1\r
4918 #define OFS_RTCPS              (0x000C)       /* Real Timer Prescale Timer Control */\r
4919 #define OFS_RTCPS_L            OFS_RTCPS\r
4920 #define OFS_RTCPS_H            OFS_RTCPS+1\r
4921 #define OFS_RTCIV              (0x000E)       /* Real Time Clock Interrupt Vector */\r
4922 #define OFS_RTCTIM0            (0x0010)       /* Real Time Clock Time 0 */\r
4923 #define OFS_RTCTIM0_L          OFS_RTCTIM0\r
4924 #define OFS_RTCTIM0_H          OFS_RTCTIM0+1\r
4925 #define OFS_RTCTIM1            (0x0012)       /* Real Time Clock Time 1 */\r
4926 #define OFS_RTCTIM1_L          OFS_RTCTIM1\r
4927 #define OFS_RTCTIM1_H          OFS_RTCTIM1+1\r
4928 #define OFS_RTCDATE            (0x0014)       /* Real Time Clock Date */\r
4929 #define OFS_RTCDATE_L          OFS_RTCDATE\r
4930 #define OFS_RTCDATE_H          OFS_RTCDATE+1\r
4931 #define OFS_RTCYEAR            (0x0016)       /* Real Time Clock Year */\r
4932 #define OFS_RTCYEAR_L          OFS_RTCYEAR\r
4933 #define OFS_RTCYEAR_H          OFS_RTCYEAR+1\r
4934 #define OFS_RTCAMINHR          (0x0018)       /* Real Time Clock Alarm Min/Hour */\r
4935 #define OFS_RTCAMINHR_L        OFS_RTCAMINHR\r
4936 #define OFS_RTCAMINHR_H        OFS_RTCAMINHR+1\r
4937 #define OFS_RTCADOWDAY         (0x001A)       /* Real Time Clock Alarm day of week/day */\r
4938 #define OFS_RTCADOWDAY_L       OFS_RTCADOWDAY\r
4939 #define OFS_RTCADOWDAY_H       OFS_RTCADOWDAY+1\r
4940 #define OFS_BIN2BCD            (0x001C)       /* Real Time Binary-to-BCD conversion register */\r
4941 #define OFS_BCD2BIN            (0x001E)       /* Real Time BCD-to-binary conversion register */\r
4942 #define OFS_RTCSEC             (0x0010)\r
4943 #define OFS_RTCMIN             (0x0011)\r
4944 #define OFS_RTCHOUR            (0x0012)\r
4945 #define OFS_RTCDOW             (0x0013)\r
4946 #define OFS_RTCDAY             (0x0014)\r
4947 #define OFS_RTCMON             (0x0015)\r
4948 #define OFS_RTCAMIN            (0x0018)\r
4949 #define OFS_RTCAHOUR           (0x0019)\r
4950 #define OFS_RTCADOW            (0x001A)\r
4951 #define OFS_RTCADAY            (0x001B)\r
4952 \r
4953 #define RTCSEC                 RTCTIM0_L\r
4954 #define RTCMIN                 RTCTIM0_H\r
4955 #define RTCHOUR                RTCTIM1_L\r
4956 #define RTCDOW                 RTCTIM1_H\r
4957 #define RTCDAY                 RTCDATE_L\r
4958 #define RTCMON                 RTCDATE_H\r
4959 #define RTCYEARL               RTCYEAR_L\r
4960 #define RT0PS                  RTCPS_L\r
4961 #define RT1PS                  RTCPS_H\r
4962 #define RTCAMIN                RTCAMINHR_L    /* Real Time Clock Alarm Min */\r
4963 #define RTCAHOUR               RTCAMINHR_H    /* Real Time Clock Alarm Hour */\r
4964 #define RTCADOW                RTCADOWDAY_L   /* Real Time Clock Alarm day of week */\r
4965 #define RTCADAY                RTCADOWDAY_H   /* Real Time Clock Alarm day */\r
4966 \r
4967 /* RTCCTL0 Control Bits */\r
4968 #define RTCOFIE                (0x0080)       /* RTC 32kHz cyrstal oscillator fault interrupt enable */\r
4969 #define RTCTEVIE               (0x0040)       /* RTC Time Event Interrupt Enable Flag */\r
4970 #define RTCAIE                 (0x0020)       /* RTC Alarm Interrupt Enable Flag */\r
4971 #define RTCRDYIE               (0x0010)       /* RTC Ready Interrupt Enable Flag */\r
4972 #define RTCOFIFG               (0x0008)       /* RTC 32kHz cyrstal oscillator fault interrupt flag */\r
4973 #define RTCTEVIFG              (0x0004)       /* RTC Time Event Interrupt Flag */\r
4974 #define RTCAIFG                (0x0002)       /* RTC Alarm Interrupt Flag */\r
4975 #define RTCRDYIFG              (0x0001)       /* RTC Ready Interrupt Flag */\r
4976 \r
4977 /* RTCCTL0 Control Bits */\r
4978 #define RTCOFIE_L              (0x0080)       /* RTC 32kHz cyrstal oscillator fault interrupt enable */\r
4979 #define RTCTEVIE_L             (0x0040)       /* RTC Time Event Interrupt Enable Flag */\r
4980 #define RTCAIE_L               (0x0020)       /* RTC Alarm Interrupt Enable Flag */\r
4981 #define RTCRDYIE_L             (0x0010)       /* RTC Ready Interrupt Enable Flag */\r
4982 #define RTCOFIFG_L             (0x0008)       /* RTC 32kHz cyrstal oscillator fault interrupt flag */\r
4983 #define RTCTEVIFG_L            (0x0004)       /* RTC Time Event Interrupt Flag */\r
4984 #define RTCAIFG_L              (0x0002)       /* RTC Alarm Interrupt Flag */\r
4985 #define RTCRDYIFG_L            (0x0001)       /* RTC Ready Interrupt Flag */\r
4986 \r
4987 #define RTCKEY                 (0xA500)       /* RTC Key for RTC write access */\r
4988 #define RTCKEY_H               (0xA5)         /* RTC Key for RTC write access (high word) */\r
4989 \r
4990 /* RTCCTL13 Control Bits */\r
4991 #define RTCCALF1               (0x0200)       /* RTC Calibration Frequency Bit 1 */\r
4992 #define RTCCALF0               (0x0100)       /* RTC Calibration Frequency Bit 0 */\r
4993 #define RTCBCD                 (0x0080)       /* RTC BCD  0:Binary / 1:BCD */\r
4994 #define RTCHOLD                (0x0040)       /* RTC Hold */\r
4995 #define RTCMODE                (0x0020)       /* RTC Mode 0:Counter / 1: Calendar */\r
4996 #define RTCRDY                 (0x0010)       /* RTC Ready */\r
4997 #define RTCSSEL1               (0x0008)       /* RTC Source Select 1 */\r
4998 #define RTCSSEL0               (0x0004)       /* RTC Source Select 0 */\r
4999 #define RTCTEV1                (0x0002)       /* RTC Time Event 1 */\r
5000 #define RTCTEV0                (0x0001)       /* RTC Time Event 0 */\r
5001 \r
5002 /* RTCCTL13 Control Bits */\r
5003 #define RTCBCD_L               (0x0080)       /* RTC BCD  0:Binary / 1:BCD */\r
5004 #define RTCHOLD_L              (0x0040)       /* RTC Hold */\r
5005 #define RTCMODE_L              (0x0020)       /* RTC Mode 0:Counter / 1: Calendar */\r
5006 #define RTCRDY_L               (0x0010)       /* RTC Ready */\r
5007 #define RTCSSEL1_L             (0x0008)       /* RTC Source Select 1 */\r
5008 #define RTCSSEL0_L             (0x0004)       /* RTC Source Select 0 */\r
5009 #define RTCTEV1_L              (0x0002)       /* RTC Time Event 1 */\r
5010 #define RTCTEV0_L              (0x0001)       /* RTC Time Event 0 */\r
5011 \r
5012 /* RTCCTL13 Control Bits */\r
5013 #define RTCCALF1_H             (0x0002)       /* RTC Calibration Frequency Bit 1 */\r
5014 #define RTCCALF0_H             (0x0001)       /* RTC Calibration Frequency Bit 0 */\r
5015 \r
5016 #define RTCSSEL_0              (0x0000)       /* RTC Source Select ACLK */\r
5017 #define RTCSSEL_1              (0x0004)       /* RTC Source Select SMCLK */\r
5018 #define RTCSSEL_2              (0x0008)       /* RTC Source Select RT1PS */\r
5019 #define RTCSSEL_3              (0x000C)       /* RTC Source Select RT1PS */\r
5020 #define RTCSSEL__ACLK          (0x0000)       /* RTC Source Select ACLK */\r
5021 #define RTCSSEL__SMCLK         (0x0004)       /* RTC Source Select SMCLK */\r
5022 #define RTCSSEL__RT1PS         (0x0008)       /* RTC Source Select RT1PS */\r
5023 \r
5024 #define RTCTEV_0               (0x0000)       /* RTC Time Event: 0 (Min. changed) */\r
5025 #define RTCTEV_1               (0x0001)       /* RTC Time Event: 1 (Hour changed) */\r
5026 #define RTCTEV_2               (0x0002)       /* RTC Time Event: 2 (12:00 changed) */\r
5027 #define RTCTEV_3               (0x0003)       /* RTC Time Event: 3 (00:00 changed) */\r
5028 #define RTCTEV__MIN            (0x0000)       /* RTC Time Event: 0 (Min. changed) */\r
5029 #define RTCTEV__HOUR           (0x0001)       /* RTC Time Event: 1 (Hour changed) */\r
5030 #define RTCTEV__0000           (0x0002)       /* RTC Time Event: 2 (00:00 changed) */\r
5031 #define RTCTEV__1200           (0x0003)       /* RTC Time Event: 3 (12:00 changed) */\r
5032 \r
5033 #define RTCCALF_0              (0x0000)       /* RTC Calibration Frequency: No Output */\r
5034 #define RTCCALF_1              (0x0100)       /* RTC Calibration Frequency: 512 Hz */\r
5035 #define RTCCALF_2              (0x0200)       /* RTC Calibration Frequency: 256 Hz */\r
5036 #define RTCCALF_3              (0x0300)       /* RTC Calibration Frequency: 1 Hz */\r
5037 \r
5038 /* RTCOCAL Control Bits */\r
5039 #define RTCOCALS               (0x8000)       /* RTC Offset Calibration Sign */\r
5040 #define RTCOCAL7               (0x0080)       /* RTC Offset Calibration Bit 7 */\r
5041 #define RTCOCAL6               (0x0040)       /* RTC Offset Calibration Bit 6 */\r
5042 #define RTCOCAL5               (0x0020)       /* RTC Offset Calibration Bit 5 */\r
5043 #define RTCOCAL4               (0x0010)       /* RTC Offset Calibration Bit 4 */\r
5044 #define RTCOCAL3               (0x0008)       /* RTC Offset Calibration Bit 3 */\r
5045 #define RTCOCAL2               (0x0004)       /* RTC Offset Calibration Bit 2 */\r
5046 #define RTCOCAL1               (0x0002)       /* RTC Offset Calibration Bit 1 */\r
5047 #define RTCOCAL0               (0x0001)       /* RTC Offset Calibration Bit 0 */\r
5048 \r
5049 /* RTCOCAL Control Bits */\r
5050 #define RTCOCAL7_L             (0x0080)       /* RTC Offset Calibration Bit 7 */\r
5051 #define RTCOCAL6_L             (0x0040)       /* RTC Offset Calibration Bit 6 */\r
5052 #define RTCOCAL5_L             (0x0020)       /* RTC Offset Calibration Bit 5 */\r
5053 #define RTCOCAL4_L             (0x0010)       /* RTC Offset Calibration Bit 4 */\r
5054 #define RTCOCAL3_L             (0x0008)       /* RTC Offset Calibration Bit 3 */\r
5055 #define RTCOCAL2_L             (0x0004)       /* RTC Offset Calibration Bit 2 */\r
5056 #define RTCOCAL1_L             (0x0002)       /* RTC Offset Calibration Bit 1 */\r
5057 #define RTCOCAL0_L             (0x0001)       /* RTC Offset Calibration Bit 0 */\r
5058 \r
5059 /* RTCOCAL Control Bits */\r
5060 #define RTCOCALS_H             (0x0080)       /* RTC Offset Calibration Sign */\r
5061 \r
5062 /* RTCTCMP Control Bits */\r
5063 #define RTCTCMPS               (0x8000)       /* RTC Temperature Compensation Sign */\r
5064 #define RTCTCRDY               (0x4000)       /* RTC Temperature compensation ready */\r
5065 #define RTCTCOK                (0x2000)       /* RTC Temperature compensation write OK */\r
5066 #define RTCTCMP7               (0x0080)       /* RTC Temperature Compensation Bit 7 */\r
5067 #define RTCTCMP6               (0x0040)       /* RTC Temperature Compensation Bit 6 */\r
5068 #define RTCTCMP5               (0x0020)       /* RTC Temperature Compensation Bit 5 */\r
5069 #define RTCTCMP4               (0x0010)       /* RTC Temperature Compensation Bit 4 */\r
5070 #define RTCTCMP3               (0x0008)       /* RTC Temperature Compensation Bit 3 */\r
5071 #define RTCTCMP2               (0x0004)       /* RTC Temperature Compensation Bit 2 */\r
5072 #define RTCTCMP1               (0x0002)       /* RTC Temperature Compensation Bit 1 */\r
5073 #define RTCTCMP0               (0x0001)       /* RTC Temperature Compensation Bit 0 */\r
5074 \r
5075 /* RTCTCMP Control Bits */\r
5076 #define RTCTCMP7_L             (0x0080)       /* RTC Temperature Compensation Bit 7 */\r
5077 #define RTCTCMP6_L             (0x0040)       /* RTC Temperature Compensation Bit 6 */\r
5078 #define RTCTCMP5_L             (0x0020)       /* RTC Temperature Compensation Bit 5 */\r
5079 #define RTCTCMP4_L             (0x0010)       /* RTC Temperature Compensation Bit 4 */\r
5080 #define RTCTCMP3_L             (0x0008)       /* RTC Temperature Compensation Bit 3 */\r
5081 #define RTCTCMP2_L             (0x0004)       /* RTC Temperature Compensation Bit 2 */\r
5082 #define RTCTCMP1_L             (0x0002)       /* RTC Temperature Compensation Bit 1 */\r
5083 #define RTCTCMP0_L             (0x0001)       /* RTC Temperature Compensation Bit 0 */\r
5084 \r
5085 /* RTCTCMP Control Bits */\r
5086 #define RTCTCMPS_H             (0x0080)       /* RTC Temperature Compensation Sign */\r
5087 #define RTCTCRDY_H             (0x0040)       /* RTC Temperature compensation ready */\r
5088 #define RTCTCOK_H              (0x0020)       /* RTC Temperature compensation write OK */\r
5089 \r
5090 #define RTCAE                  (0x80)         /* Real Time Clock Alarm enable */\r
5091 \r
5092 /* RTCPS0CTL Control Bits */\r
5093 //#define Reserved          (0x8000)\r
5094 //#define Reserved          (0x4000)\r
5095 #define RT0PSDIV2              (0x2000)       /* RTC Prescale Timer 0 Clock Divide Bit: 2 */\r
5096 #define RT0PSDIV1              (0x1000)       /* RTC Prescale Timer 0 Clock Divide Bit: 1 */\r
5097 #define RT0PSDIV0              (0x0800)       /* RTC Prescale Timer 0 Clock Divide Bit: 0 */\r
5098 //#define Reserved          (0x0400)\r
5099 //#define Reserved          (0x0200)\r
5100 #define RT0PSHOLD              (0x0100)       /* RTC Prescale Timer 0 Hold */\r
5101 //#define Reserved          (0x0080)\r
5102 //#define Reserved          (0x0040)\r
5103 //#define Reserved          (0x0020)\r
5104 #define RT0IP2                 (0x0010)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 2 */\r
5105 #define RT0IP1                 (0x0008)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 1 */\r
5106 #define RT0IP0                 (0x0004)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 0 */\r
5107 #define RT0PSIE                (0x0002)       /* RTC Prescale Timer 0 Interrupt Enable Flag */\r
5108 #define RT0PSIFG               (0x0001)       /* RTC Prescale Timer 0 Interrupt Flag */\r
5109 \r
5110 /* RTCPS0CTL Control Bits */\r
5111 //#define Reserved          (0x8000)\r
5112 //#define Reserved          (0x4000)\r
5113 //#define Reserved          (0x0400)\r
5114 //#define Reserved          (0x0200)\r
5115 //#define Reserved          (0x0080)\r
5116 //#define Reserved          (0x0040)\r
5117 //#define Reserved          (0x0020)\r
5118 #define RT0IP2_L               (0x0010)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 2 */\r
5119 #define RT0IP1_L               (0x0008)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 1 */\r
5120 #define RT0IP0_L               (0x0004)       /* RTC Prescale Timer 0 Interrupt Interval Bit: 0 */\r
5121 #define RT0PSIE_L              (0x0002)       /* RTC Prescale Timer 0 Interrupt Enable Flag */\r
5122 #define RT0PSIFG_L             (0x0001)       /* RTC Prescale Timer 0 Interrupt Flag */\r
5123 \r
5124 /* RTCPS0CTL Control Bits */\r
5125 //#define Reserved          (0x8000)\r
5126 //#define Reserved          (0x4000)\r
5127 #define RT0PSDIV2_H            (0x0020)       /* RTC Prescale Timer 0 Clock Divide Bit: 2 */\r
5128 #define RT0PSDIV1_H            (0x0010)       /* RTC Prescale Timer 0 Clock Divide Bit: 1 */\r
5129 #define RT0PSDIV0_H            (0x0008)       /* RTC Prescale Timer 0 Clock Divide Bit: 0 */\r
5130 //#define Reserved          (0x0400)\r
5131 //#define Reserved          (0x0200)\r
5132 #define RT0PSHOLD_H            (0x0001)       /* RTC Prescale Timer 0 Hold */\r
5133 //#define Reserved          (0x0080)\r
5134 //#define Reserved          (0x0040)\r
5135 //#define Reserved          (0x0020)\r
5136 \r
5137 #define RT0IP_0                (0x0000)       /* RTC Prescale Timer 0 Interrupt Interval /2 */\r
5138 #define RT0IP_1                (0x0004)       /* RTC Prescale Timer 0 Interrupt Interval /4 */\r
5139 #define RT0IP_2                (0x0008)       /* RTC Prescale Timer 0 Interrupt Interval /8 */\r
5140 #define RT0IP_3                (0x000C)       /* RTC Prescale Timer 0 Interrupt Interval /16 */\r
5141 #define RT0IP_4                (0x0010)       /* RTC Prescale Timer 0 Interrupt Interval /32 */\r
5142 #define RT0IP_5                (0x0014)       /* RTC Prescale Timer 0 Interrupt Interval /64 */\r
5143 #define RT0IP_6                (0x0018)       /* RTC Prescale Timer 0 Interrupt Interval /128 */\r
5144 #define RT0IP_7                (0x001C)       /* RTC Prescale Timer 0 Interrupt Interval /256 */\r
5145 \r
5146 /* RTCPS1CTL Control Bits */\r
5147 #define RT1SSEL1               (0x8000)       /* RTC Prescale Timer 1 Source Select Bit 1 */\r
5148 #define RT1SSEL0               (0x4000)       /* RTC Prescale Timer 1 Source Select Bit 0 */\r
5149 #define RT1PSDIV2              (0x2000)       /* RTC Prescale Timer 1 Clock Divide Bit: 2 */\r
5150 #define RT1PSDIV1              (0x1000)       /* RTC Prescale Timer 1 Clock Divide Bit: 1 */\r
5151 #define RT1PSDIV0              (0x0800)       /* RTC Prescale Timer 1 Clock Divide Bit: 0 */\r
5152 //#define Reserved          (0x0400)\r
5153 //#define Reserved          (0x0200)\r
5154 #define RT1PSHOLD              (0x0100)       /* RTC Prescale Timer 1 Hold */\r
5155 //#define Reserved          (0x0080)\r
5156 //#define Reserved          (0x0040)\r
5157 //#define Reserved          (0x0020)\r
5158 #define RT1IP2                 (0x0010)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 2 */\r
5159 #define RT1IP1                 (0x0008)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 1 */\r
5160 #define RT1IP0                 (0x0004)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 0 */\r
5161 #define RT1PSIE                (0x0002)       /* RTC Prescale Timer 1 Interrupt Enable Flag */\r
5162 #define RT1PSIFG               (0x0001)       /* RTC Prescale Timer 1 Interrupt Flag */\r
5163 \r
5164 /* RTCPS1CTL Control Bits */\r
5165 //#define Reserved          (0x0400)\r
5166 //#define Reserved          (0x0200)\r
5167 //#define Reserved          (0x0080)\r
5168 //#define Reserved          (0x0040)\r
5169 //#define Reserved          (0x0020)\r
5170 #define RT1IP2_L               (0x0010)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 2 */\r
5171 #define RT1IP1_L               (0x0008)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 1 */\r
5172 #define RT1IP0_L               (0x0004)       /* RTC Prescale Timer 1 Interrupt Interval Bit: 0 */\r
5173 #define RT1PSIE_L              (0x0002)       /* RTC Prescale Timer 1 Interrupt Enable Flag */\r
5174 #define RT1PSIFG_L             (0x0001)       /* RTC Prescale Timer 1 Interrupt Flag */\r
5175 \r
5176 /* RTCPS1CTL Control Bits */\r
5177 #define RT1SSEL1_H             (0x0080)       /* RTC Prescale Timer 1 Source Select Bit 1 */\r
5178 #define RT1SSEL0_H             (0x0040)       /* RTC Prescale Timer 1 Source Select Bit 0 */\r
5179 #define RT1PSDIV2_H            (0x0020)       /* RTC Prescale Timer 1 Clock Divide Bit: 2 */\r
5180 #define RT1PSDIV1_H            (0x0010)       /* RTC Prescale Timer 1 Clock Divide Bit: 1 */\r
5181 #define RT1PSDIV0_H            (0x0008)       /* RTC Prescale Timer 1 Clock Divide Bit: 0 */\r
5182 //#define Reserved          (0x0400)\r
5183 //#define Reserved          (0x0200)\r
5184 #define RT1PSHOLD_H            (0x0001)       /* RTC Prescale Timer 1 Hold */\r
5185 //#define Reserved          (0x0080)\r
5186 //#define Reserved          (0x0040)\r
5187 //#define Reserved          (0x0020)\r
5188 \r
5189 #define RT1IP_0                (0x0000)       /* RTC Prescale Timer 1 Interrupt Interval /2 */\r
5190 #define RT1IP_1                (0x0004)       /* RTC Prescale Timer 1 Interrupt Interval /4 */\r
5191 #define RT1IP_2                (0x0008)       /* RTC Prescale Timer 1 Interrupt Interval /8 */\r
5192 #define RT1IP_3                (0x000C)       /* RTC Prescale Timer 1 Interrupt Interval /16 */\r
5193 #define RT1IP_4                (0x0010)       /* RTC Prescale Timer 1 Interrupt Interval /32 */\r
5194 #define RT1IP_5                (0x0014)       /* RTC Prescale Timer 1 Interrupt Interval /64 */\r
5195 #define RT1IP_6                (0x0018)       /* RTC Prescale Timer 1 Interrupt Interval /128 */\r
5196 #define RT1IP_7                (0x001C)       /* RTC Prescale Timer 1 Interrupt Interval /256 */\r
5197 \r
5198 /* RTC Definitions */\r
5199 #define RTCIV_NONE             (0x0000)       /* No Interrupt pending */\r
5200 #define RTCIV_RTCOFIFG         (0x0002)       /* RTC Osc fault: RTCOFIFG */\r
5201 #define RTCIV_RTCRDYIFG        (0x0004)       /* RTC ready: RTCRDYIFG */\r
5202 #define RTCIV_RTCTEVIFG        (0x0006)       /* RTC interval timer: RTCTEVIFG */\r
5203 #define RTCIV_RTCAIFG          (0x0008)       /* RTC user alarm: RTCAIFG */\r
5204 #define RTCIV_RT0PSIFG         (0x000A)       /* RTC prescaler 0: RT0PSIFG */\r
5205 #define RTCIV_RT1PSIFG         (0x000C)       /* RTC prescaler 1: RT1PSIFG */\r
5206 \r
5207 /* Legacy Definitions */\r
5208 #define RTC_NONE               (0x0000)       /* No Interrupt pending */\r
5209 #define RTC_RTCOFIFG           (0x0002)       /* RTC Osc fault: RTCOFIFG */\r
5210 #define RTC_RTCRDYIFG          (0x0004)       /* RTC ready: RTCRDYIFG */\r
5211 #define RTC_RTCTEVIFG          (0x0006)       /* RTC interval timer: RTCTEVIFG */\r
5212 #define RTC_RTCAIFG            (0x0008)       /* RTC user alarm: RTCAIFG */\r
5213 #define RTC_RT0PSIFG           (0x000A)       /* RTC prescaler 0: RT0PSIFG */\r
5214 #define RTC_RT1PSIFG           (0x000C)       /* RTC prescaler 1: RT1PSIFG */\r
5215 \r
5216 #endif\r
5217 /************************************************************\r
5218 * SFR - Special Function Register Module\r
5219 ************************************************************/\r
5220 #ifdef  __MSP430_HAS_SFR__            /* Definition to show that Module is available */\r
5221 \r
5222 #define OFS_SFRIE1             (0x0000)       /* Interrupt Enable 1 */\r
5223 #define OFS_SFRIE1_L           OFS_SFRIE1\r
5224 #define OFS_SFRIE1_H           OFS_SFRIE1+1\r
5225 \r
5226 /* SFRIE1 Control Bits */\r
5227 #define WDTIE                  (0x0001)       /* WDT Interrupt Enable */\r
5228 #define OFIE                   (0x0002)       /* Osc Fault Enable */\r
5229 //#define Reserved          (0x0004)\r
5230 #define VMAIE                  (0x0008)       /* Vacant Memory Interrupt Enable */\r
5231 #define NMIIE                  (0x0010)       /* NMI Interrupt Enable */\r
5232 #define JMBINIE                (0x0040)       /* JTAG Mail Box input Interrupt Enable */\r
5233 #define JMBOUTIE               (0x0080)       /* JTAG Mail Box output Interrupt Enable */\r
5234 \r
5235 #define WDTIE_L                (0x0001)       /* WDT Interrupt Enable */\r
5236 #define OFIE_L                 (0x0002)       /* Osc Fault Enable */\r
5237 //#define Reserved          (0x0004)\r
5238 #define VMAIE_L                (0x0008)       /* Vacant Memory Interrupt Enable */\r
5239 #define NMIIE_L                (0x0010)       /* NMI Interrupt Enable */\r
5240 #define JMBINIE_L              (0x0040)       /* JTAG Mail Box input Interrupt Enable */\r
5241 #define JMBOUTIE_L             (0x0080)       /* JTAG Mail Box output Interrupt Enable */\r
5242 \r
5243 #define OFS_SFRIFG1            (0x0002)       /* Interrupt Flag 1 */\r
5244 #define OFS_SFRIFG1_L          OFS_SFRIFG1\r
5245 #define OFS_SFRIFG1_H          OFS_SFRIFG1+1\r
5246 /* SFRIFG1 Control Bits */\r
5247 #define WDTIFG                 (0x0001)       /* WDT Interrupt Flag */\r
5248 #define OFIFG                  (0x0002)       /* Osc Fault Flag */\r
5249 //#define Reserved          (0x0004)\r
5250 #define VMAIFG                 (0x0008)       /* Vacant Memory Interrupt Flag */\r
5251 #define NMIIFG                 (0x0010)       /* NMI Interrupt Flag */\r
5252 //#define Reserved          (0x0020)\r
5253 #define JMBINIFG               (0x0040)       /* JTAG Mail Box input Interrupt Flag */\r
5254 #define JMBOUTIFG              (0x0080)       /* JTAG Mail Box output Interrupt Flag */\r
5255 \r
5256 #define WDTIFG_L               (0x0001)       /* WDT Interrupt Flag */\r
5257 #define OFIFG_L                (0x0002)       /* Osc Fault Flag */\r
5258 //#define Reserved          (0x0004)\r
5259 #define VMAIFG_L               (0x0008)       /* Vacant Memory Interrupt Flag */\r
5260 #define NMIIFG_L               (0x0010)       /* NMI Interrupt Flag */\r
5261 //#define Reserved          (0x0020)\r
5262 #define JMBINIFG_L             (0x0040)       /* JTAG Mail Box input Interrupt Flag */\r
5263 #define JMBOUTIFG_L            (0x0080)       /* JTAG Mail Box output Interrupt Flag */\r
5264 \r
5265 #define OFS_SFRRPCR            (0x0004)       /* RESET Pin Control Register */\r
5266 #define OFS_SFRRPCR_L          OFS_SFRRPCR\r
5267 #define OFS_SFRRPCR_H          OFS_SFRRPCR+1\r
5268 /* SFRRPCR Control Bits */\r
5269 #define SYSNMI                 (0x0001)       /* NMI select */\r
5270 #define SYSNMIIES              (0x0002)       /* NMI edge select */\r
5271 #define SYSRSTUP               (0x0004)       /* RESET Pin pull down/up select */\r
5272 #define SYSRSTRE               (0x0008)       /* RESET Pin Resistor enable */\r
5273 \r
5274 #define SYSNMI_L               (0x0001)       /* NMI select */\r
5275 #define SYSNMIIES_L            (0x0002)       /* NMI edge select */\r
5276 #define SYSRSTUP_L             (0x0004)       /* RESET Pin pull down/up select */\r
5277 #define SYSRSTRE_L             (0x0008)       /* RESET Pin Resistor enable */\r
5278 \r
5279 #endif\r
5280 /************************************************************\r
5281 * SYS - System Module\r
5282 ************************************************************/\r
5283 #ifdef  __MSP430_HAS_SYS__            /* Definition to show that Module is available */\r
5284 \r
5285 #define OFS_SYSCTL             (0x0000)       /* System control */\r
5286 #define OFS_SYSCTL_L           OFS_SYSCTL\r
5287 #define OFS_SYSCTL_H           OFS_SYSCTL+1\r
5288 #define OFS_SYSBSLC            (0x0002)       /* Boot strap configuration area */\r
5289 #define OFS_SYSBSLC_L          OFS_SYSBSLC\r
5290 #define OFS_SYSBSLC_H          OFS_SYSBSLC+1\r
5291 #define OFS_SYSJMBC            (0x0006)       /* JTAG mailbox control */\r
5292 #define OFS_SYSJMBC_L          OFS_SYSJMBC\r
5293 #define OFS_SYSJMBC_H          OFS_SYSJMBC+1\r
5294 #define OFS_SYSJMBI0           (0x0008)       /* JTAG mailbox input 0 */\r
5295 #define OFS_SYSJMBI0_L         OFS_SYSJMBI0\r
5296 #define OFS_SYSJMBI0_H         OFS_SYSJMBI0+1\r
5297 #define OFS_SYSJMBI1           (0x000A)       /* JTAG mailbox input 1 */\r
5298 #define OFS_SYSJMBI1_L         OFS_SYSJMBI1\r
5299 #define OFS_SYSJMBI1_H         OFS_SYSJMBI1+1\r
5300 #define OFS_SYSJMBO0           (0x000C)       /* JTAG mailbox output 0 */\r
5301 #define OFS_SYSJMBO0_L         OFS_SYSJMBO0\r
5302 #define OFS_SYSJMBO0_H         OFS_SYSJMBO0+1\r
5303 #define OFS_SYSJMBO1           (0x000E)       /* JTAG mailbox output 1 */\r
5304 #define OFS_SYSJMBO1_L         OFS_SYSJMBO1\r
5305 #define OFS_SYSJMBO1_H         OFS_SYSJMBO1+1\r
5306 \r
5307 #define OFS_SYSBERRIV          (0x0018)       /* Bus Error vector generator */\r
5308 #define OFS_SYSBERRIV_L        OFS_SYSBERRIV\r
5309 #define OFS_SYSBERRIV_H        OFS_SYSBERRIV+1\r
5310 #define OFS_SYSUNIV            (0x001A)       /* User NMI vector generator */\r
5311 #define OFS_SYSUNIV_L          OFS_SYSUNIV\r
5312 #define OFS_SYSUNIV_H          OFS_SYSUNIV+1\r
5313 #define OFS_SYSSNIV            (0x001C)       /* System NMI vector generator */\r
5314 #define OFS_SYSSNIV_L          OFS_SYSSNIV\r
5315 #define OFS_SYSSNIV_H          OFS_SYSSNIV+1\r
5316 #define OFS_SYSRSTIV           (0x001E)       /* Reset vector generator */\r
5317 #define OFS_SYSRSTIV_L         OFS_SYSRSTIV\r
5318 #define OFS_SYSRSTIV_H         OFS_SYSRSTIV+1\r
5319 \r
5320 /* SYSCTL Control Bits */\r
5321 #define SYSRIVECT              (0x0001)       /* SYS - RAM based interrupt vectors */\r
5322 //#define RESERVED            (0x0002)  /* SYS - Reserved */\r
5323 #define SYSPMMPE               (0x0004)       /* SYS - PMM access protect */\r
5324 //#define RESERVED            (0x0008)  /* SYS - Reserved */\r
5325 #define SYSBSLIND              (0x0010)       /* SYS - TCK/RST indication detected */\r
5326 #define SYSJTAGPIN             (0x0020)       /* SYS - Dedicated JTAG pins enabled */\r
5327 //#define RESERVED            (0x0040)  /* SYS - Reserved */\r
5328 //#define RESERVED            (0x0080)  /* SYS - Reserved */\r
5329 //#define RESERVED            (0x0100)  /* SYS - Reserved */\r
5330 //#define RESERVED            (0x0200)  /* SYS - Reserved */\r
5331 //#define RESERVED            (0x0400)  /* SYS - Reserved */\r
5332 //#define RESERVED            (0x0800)  /* SYS - Reserved */\r
5333 //#define RESERVED            (0x1000)  /* SYS - Reserved */\r
5334 //#define RESERVED            (0x2000)  /* SYS - Reserved */\r
5335 //#define RESERVED            (0x4000)  /* SYS - Reserved */\r
5336 //#define RESERVED            (0x8000)  /* SYS - Reserved */\r
5337 \r
5338 /* SYSCTL Control Bits */\r
5339 #define SYSRIVECT_L            (0x0001)       /* SYS - RAM based interrupt vectors */\r
5340 //#define RESERVED            (0x0002)  /* SYS - Reserved */\r
5341 #define SYSPMMPE_L             (0x0004)       /* SYS - PMM access protect */\r
5342 //#define RESERVED            (0x0008)  /* SYS - Reserved */\r
5343 #define SYSBSLIND_L            (0x0010)       /* SYS - TCK/RST indication detected */\r
5344 #define SYSJTAGPIN_L           (0x0020)       /* SYS - Dedicated JTAG pins enabled */\r
5345 //#define RESERVED            (0x0040)  /* SYS - Reserved */\r
5346 //#define RESERVED            (0x0080)  /* SYS - Reserved */\r
5347 //#define RESERVED            (0x0100)  /* SYS - Reserved */\r
5348 //#define RESERVED            (0x0200)  /* SYS - Reserved */\r
5349 //#define RESERVED            (0x0400)  /* SYS - Reserved */\r
5350 //#define RESERVED            (0x0800)  /* SYS - Reserved */\r
5351 //#define RESERVED            (0x1000)  /* SYS - Reserved */\r
5352 //#define RESERVED            (0x2000)  /* SYS - Reserved */\r
5353 //#define RESERVED            (0x4000)  /* SYS - Reserved */\r
5354 //#define RESERVED            (0x8000)  /* SYS - Reserved */\r
5355 \r
5356 /* SYSBSLC Control Bits */\r
5357 #define SYSBSLSIZE0            (0x0001)       /* SYS - BSL Protection Size 0 */\r
5358 #define SYSBSLSIZE1            (0x0002)       /* SYS - BSL Protection Size 1 */\r
5359 #define SYSBSLR                (0x0004)       /* SYS - RAM assigned to BSL */\r
5360 //#define RESERVED            (0x0008)  /* SYS - Reserved */\r
5361 //#define RESERVED            (0x0010)  /* SYS - Reserved */\r
5362 //#define RESERVED            (0x0020)  /* SYS - Reserved */\r
5363 //#define RESERVED            (0x0040)  /* SYS - Reserved */\r
5364 //#define RESERVED            (0x0080)  /* SYS - Reserved */\r
5365 //#define RESERVED            (0x0100)  /* SYS - Reserved */\r
5366 //#define RESERVED            (0x0200)  /* SYS - Reserved */\r
5367 //#define RESERVED            (0x0400)  /* SYS - Reserved */\r
5368 //#define RESERVED            (0x0800)  /* SYS - Reserved */\r
5369 //#define RESERVED            (0x1000)  /* SYS - Reserved */\r
5370 //#define RESERVED            (0x2000)  /* SYS - Reserved */\r
5371 #define SYSBSLOFF              (0x4000)       /* SYS - BSL Memory disabled */\r
5372 #define SYSBSLPE               (0x8000)       /* SYS - BSL Memory protection enabled */\r
5373 \r
5374 /* SYSBSLC Control Bits */\r
5375 #define SYSBSLSIZE0_L          (0x0001)       /* SYS - BSL Protection Size 0 */\r
5376 #define SYSBSLSIZE1_L          (0x0002)       /* SYS - BSL Protection Size 1 */\r
5377 #define SYSBSLR_L              (0x0004)       /* SYS - RAM assigned to BSL */\r
5378 //#define RESERVED            (0x0008)  /* SYS - Reserved */\r
5379 //#define RESERVED            (0x0010)  /* SYS - Reserved */\r
5380 //#define RESERVED            (0x0020)  /* SYS - Reserved */\r
5381 //#define RESERVED            (0x0040)  /* SYS - Reserved */\r
5382 //#define RESERVED            (0x0080)  /* SYS - Reserved */\r
5383 //#define RESERVED            (0x0100)  /* SYS - Reserved */\r
5384 //#define RESERVED            (0x0200)  /* SYS - Reserved */\r
5385 //#define RESERVED            (0x0400)  /* SYS - Reserved */\r
5386 //#define RESERVED            (0x0800)  /* SYS - Reserved */\r
5387 //#define RESERVED            (0x1000)  /* SYS - Reserved */\r
5388 //#define RESERVED            (0x2000)  /* SYS - Reserved */\r
5389 \r
5390 /* SYSBSLC Control Bits */\r
5391 //#define RESERVED            (0x0008)  /* SYS - Reserved */\r
5392 //#define RESERVED            (0x0010)  /* SYS - Reserved */\r
5393 //#define RESERVED            (0x0020)  /* SYS - Reserved */\r
5394 //#define RESERVED            (0x0040)  /* SYS - Reserved */\r
5395 //#define RESERVED            (0x0080)  /* SYS - Reserved */\r
5396 //#define RESERVED            (0x0100)  /* SYS - Reserved */\r
5397 //#define RESERVED            (0x0200)  /* SYS - Reserved */\r
5398 //#define RESERVED            (0x0400)  /* SYS - Reserved */\r
5399 //#define RESERVED            (0x0800)  /* SYS - Reserved */\r
5400 //#define RESERVED            (0x1000)  /* SYS - Reserved */\r
5401 //#define RESERVED            (0x2000)  /* SYS - Reserved */\r
5402 #define SYSBSLOFF_H            (0x0040)       /* SYS - BSL Memory disabled */\r
5403 #define SYSBSLPE_H             (0x0080)       /* SYS - BSL Memory protection enabled */\r
5404 \r
5405 /* SYSJMBC Control Bits */\r
5406 #define JMBIN0FG               (0x0001)       /* SYS - Incoming JTAG Mailbox 0 Flag */\r
5407 #define JMBIN1FG               (0x0002)       /* SYS - Incoming JTAG Mailbox 1 Flag */\r
5408 #define JMBOUT0FG              (0x0004)       /* SYS - Outgoing JTAG Mailbox 0 Flag */\r
5409 #define JMBOUT1FG              (0x0008)       /* SYS - Outgoing JTAG Mailbox 1 Flag */\r
5410 #define JMBMODE                (0x0010)       /* SYS - JMB 16/32 Bit Mode */\r
5411 //#define RESERVED            (0x0020)  /* SYS - Reserved */\r
5412 #define JMBCLR0OFF             (0x0040)       /* SYS - Incoming JTAG Mailbox 0 Flag auto-clear disalbe */\r
5413 #define JMBCLR1OFF             (0x0080)       /* SYS - Incoming JTAG Mailbox 1 Flag auto-clear disalbe */\r
5414 //#define RESERVED            (0x0100)  /* SYS - Reserved */\r
5415 //#define RESERVED            (0x0200)  /* SYS - Reserved */\r
5416 //#define RESERVED            (0x0400)  /* SYS - Reserved */\r
5417 //#define RESERVED            (0x0800)  /* SYS - Reserved */\r
5418 //#define RESERVED            (0x1000)  /* SYS - Reserved */\r
5419 //#define RESERVED            (0x2000)  /* SYS - Reserved */\r
5420 //#define RESERVED            (0x4000)  /* SYS - Reserved */\r
5421 //#define RESERVED            (0x8000)  /* SYS - Reserved */\r
5422 \r
5423 /* SYSJMBC Control Bits */\r
5424 #define JMBIN0FG_L             (0x0001)       /* SYS - Incoming JTAG Mailbox 0 Flag */\r
5425 #define JMBIN1FG_L             (0x0002)       /* SYS - Incoming JTAG Mailbox 1 Flag */\r
5426 #define JMBOUT0FG_L            (0x0004)       /* SYS - Outgoing JTAG Mailbox 0 Flag */\r
5427 #define JMBOUT1FG_L            (0x0008)       /* SYS - Outgoing JTAG Mailbox 1 Flag */\r
5428 #define JMBMODE_L              (0x0010)       /* SYS - JMB 16/32 Bit Mode */\r
5429 //#define RESERVED            (0x0020)  /* SYS - Reserved */\r
5430 #define JMBCLR0OFF_L           (0x0040)       /* SYS - Incoming JTAG Mailbox 0 Flag auto-clear disalbe */\r
5431 #define JMBCLR1OFF_L           (0x0080)       /* SYS - Incoming JTAG Mailbox 1 Flag auto-clear disalbe */\r
5432 //#define RESERVED            (0x0100)  /* SYS - Reserved */\r
5433 //#define RESERVED            (0x0200)  /* SYS - Reserved */\r
5434 //#define RESERVED            (0x0400)  /* SYS - Reserved */\r
5435 //#define RESERVED            (0x0800)  /* SYS - Reserved */\r
5436 //#define RESERVED            (0x1000)  /* SYS - Reserved */\r
5437 //#define RESERVED            (0x2000)  /* SYS - Reserved */\r
5438 //#define RESERVED            (0x4000)  /* SYS - Reserved */\r
5439 //#define RESERVED            (0x8000)  /* SYS - Reserved */\r
5440 \r
5441 \r
5442 #endif\r
5443 /************************************************************\r
5444 * Timerx_A7\r
5445 ************************************************************/\r
5446 #ifdef  __MSP430_HAS_TxA7__            /* Definition to show that Module is available */\r
5447 \r
5448 #define OFS_TAxCTL             (0x0000)       /* Timerx_A7 Control */\r
5449 #define OFS_TAxCCTL0           (0x0002)       /* Timerx_A7 Capture/Compare Control 0 */\r
5450 #define OFS_TAxCCTL1           (0x0004)       /* Timerx_A7 Capture/Compare Control 1 */\r
5451 #define OFS_TAxCCTL2           (0x0006)       /* Timerx_A7 Capture/Compare Control 2 */\r
5452 #define OFS_TAxCCTL3           (0x0008)       /* Timerx_A7 Capture/Compare Control 3 */\r
5453 #define OFS_TAxCCTL4           (0x000A)       /* Timerx_A7 Capture/Compare Control 4 */\r
5454 #define OFS_TAxCCTL5           (0x000C)       /* Timerx_A7 Capture/Compare Control 5 */\r
5455 #define OFS_TAxCCTL6           (0x000E)       /* Timerx_A7 Capture/Compare Control 6 */\r
5456 #define OFS_TAxR               (0x0010)       /* Timerx_A7 */\r
5457 #define OFS_TAxCCR0            (0x0012)       /* Timerx_A7 Capture/Compare 0 */\r
5458 #define OFS_TAxCCR1            (0x0014)       /* Timerx_A7 Capture/Compare 1 */\r
5459 #define OFS_TAxCCR2            (0x0016)       /* Timerx_A7 Capture/Compare 2 */\r
5460 #define OFS_TAxCCR3            (0x0018)       /* Timerx_A7 Capture/Compare 3 */\r
5461 #define OFS_TAxCCR4            (0x001A)       /* Timerx_A7 Capture/Compare 4 */\r
5462 #define OFS_TAxCCR5            (0x001C)       /* Timerx_A7 Capture/Compare 5 */\r
5463 #define OFS_TAxCCR6            (0x001E)       /* Timerx_A7 Capture/Compare 6 */\r
5464 #define OFS_TAxIV              (0x002E)       /* Timerx_A7 Interrupt Vector Word */\r
5465 #define OFS_TAxEX0             (0x0020)       /* Timerx_A7 Expansion Register 0 */\r
5466 \r
5467 /* Bits are already defined within the Timer0_Ax */\r
5468 \r
5469 /* TAxIV Definitions */\r
5470 #define TAxIV_NONE             (0x0000)       /* No Interrupt pending */\r
5471 #define TAxIV_TACCR1           (0x0002)       /* TAxCCR1_CCIFG */\r
5472 #define TAxIV_TACCR2           (0x0004)       /* TAxCCR2_CCIFG */\r
5473 #define TAxIV_TACCR3           (0x0006)       /* TAxCCR3_CCIFG */\r
5474 #define TAxIV_TACCR4           (0x0008)       /* TAxCCR4_CCIFG */\r
5475 #define TAxIV_TACCR5           (0x000A)       /* TAxCCR5_CCIFG */\r
5476 #define TAxIV_TACCR6           (0x000C)       /* TAxCCR6_CCIFG */\r
5477 #define TAxIV_TAIFG            (0x000E)       /* TAxIFG */\r
5478 \r
5479 /* Legacy Defines */\r
5480 #define TAxIV_TAxCCR1          (0x0002)       /* TAxCCR1_CCIFG */\r
5481 #define TAxIV_TAxCCR2          (0x0004)       /* TAxCCR2_CCIFG */\r
5482 #define TAxIV_TAxCCR3          (0x0006)       /* TAxCCR3_CCIFG */\r
5483 #define TAxIV_TAxCCR4          (0x0008)       /* TAxCCR4_CCIFG */\r
5484 #define TAxIV_TAxCCR5          (0x000A)       /* TAxCCR5_CCIFG */\r
5485 #define TAxIV_TAxCCR6          (0x000C)       /* TAxCCR6_CCIFG */\r
5486 #define TAxIV_TAxIFG           (0x000E)       /* TAxIFG */\r
5487 \r
5488 /* TAxCTL Control Bits */\r
5489 #define TASSEL1                (0x0200)       /* Timer A clock source select 1 */\r
5490 #define TASSEL0                (0x0100)       /* Timer A clock source select 0 */\r
5491 #define ID1                    (0x0080)       /* Timer A clock input divider 1 */\r
5492 #define ID0                    (0x0040)       /* Timer A clock input divider 0 */\r
5493 #define MC1                    (0x0020)       /* Timer A mode control 1 */\r
5494 #define MC0                    (0x0010)       /* Timer A mode control 0 */\r
5495 #define TACLR                  (0x0004)       /* Timer A counter clear */\r
5496 #define TAIE                   (0x0002)       /* Timer A counter interrupt enable */\r
5497 #define TAIFG                  (0x0001)       /* Timer A counter interrupt flag */\r
5498 \r
5499 #define MC_0                   (0*0x10u)      /* Timer A mode control: 0 - Stop */\r
5500 #define MC_1                   (1*0x10u)      /* Timer A mode control: 1 - Up to CCR0 */\r
5501 #define MC_2                   (2*0x10u)      /* Timer A mode control: 2 - Continuous up */\r
5502 #define MC_3                   (3*0x10u)      /* Timer A mode control: 3 - Up/Down */\r
5503 #define ID_0                   (0*0x40u)      /* Timer A input divider: 0 - /1 */\r
5504 #define ID_1                   (1*0x40u)      /* Timer A input divider: 1 - /2 */\r
5505 #define ID_2                   (2*0x40u)      /* Timer A input divider: 2 - /4 */\r
5506 #define ID_3                   (3*0x40u)      /* Timer A input divider: 3 - /8 */\r
5507 #define TASSEL_0               (0*0x100u)     /* Timer A clock source select: 0 - TACLK */\r
5508 #define TASSEL_1               (1*0x100u)     /* Timer A clock source select: 1 - ACLK  */\r
5509 #define TASSEL_2               (2*0x100u)     /* Timer A clock source select: 2 - SMCLK */\r
5510 #define TASSEL_3               (3*0x100u)     /* Timer A clock source select: 3 - INCLK */\r
5511 #define MC__STOP               (0*0x10u)      /* Timer A mode control: 0 - Stop */\r
5512 #define MC__UP                 (1*0x10u)      /* Timer A mode control: 1 - Up to CCR0 */\r
5513 #define MC__CONTINUOUS         (2*0x10u)      /* Timer A mode control: 2 - Continuous up */\r
5514 #define MC__CONTINOUS          (2*0x10u)      /* Legacy define */\r
5515 #define MC__UPDOWN             (3*0x10u)      /* Timer A mode control: 3 - Up/Down */\r
5516 #define ID__1                  (0*0x40u)      /* Timer A input divider: 0 - /1 */\r
5517 #define ID__2                  (1*0x40u)      /* Timer A input divider: 1 - /2 */\r
5518 #define ID__4                  (2*0x40u)      /* Timer A input divider: 2 - /4 */\r
5519 #define ID__8                  (3*0x40u)      /* Timer A input divider: 3 - /8 */\r
5520 #define TASSEL__TACLK          (0*0x100u)     /* Timer A clock source select: 0 - TACLK */\r
5521 #define TASSEL__ACLK           (1*0x100u)     /* Timer A clock source select: 1 - ACLK  */\r
5522 #define TASSEL__SMCLK          (2*0x100u)     /* Timer A clock source select: 2 - SMCLK */\r
5523 #define TASSEL__INCLK          (3*0x100u)     /* Timer A clock source select: 3 - INCLK */\r
5524 \r
5525 /* TAxCCTLx Control Bits */\r
5526 #define CM1                    (0x8000)       /* Capture mode 1 */\r
5527 #define CM0                    (0x4000)       /* Capture mode 0 */\r
5528 #define CCIS1                  (0x2000)       /* Capture input select 1 */\r
5529 #define CCIS0                  (0x1000)       /* Capture input select 0 */\r
5530 #define SCS                    (0x0800)       /* Capture sychronize */\r
5531 #define SCCI                   (0x0400)       /* Latched capture signal (read) */\r
5532 #define CAP                    (0x0100)       /* Capture mode: 1 /Compare mode : 0 */\r
5533 #define OUTMOD2                (0x0080)       /* Output mode 2 */\r
5534 #define OUTMOD1                (0x0040)       /* Output mode 1 */\r
5535 #define OUTMOD0                (0x0020)       /* Output mode 0 */\r
5536 #define CCIE                   (0x0010)       /* Capture/compare interrupt enable */\r
5537 #define CCI                    (0x0008)       /* Capture input signal (read) */\r
5538 #define OUT                    (0x0004)       /* PWM Output signal if output mode 0 */\r
5539 #define COV                    (0x0002)       /* Capture/compare overflow flag */\r
5540 #define CCIFG                  (0x0001)       /* Capture/compare interrupt flag */\r
5541 \r
5542 #define OUTMOD_0               (0*0x20u)      /* PWM output mode: 0 - output only */\r
5543 #define OUTMOD_1               (1*0x20u)      /* PWM output mode: 1 - set */\r
5544 #define OUTMOD_2               (2*0x20u)      /* PWM output mode: 2 - PWM toggle/reset */\r
5545 #define OUTMOD_3               (3*0x20u)      /* PWM output mode: 3 - PWM set/reset */\r
5546 #define OUTMOD_4               (4*0x20u)      /* PWM output mode: 4 - toggle */\r
5547 #define OUTMOD_5               (5*0x20u)      /* PWM output mode: 5 - Reset */\r
5548 #define OUTMOD_6               (6*0x20u)      /* PWM output mode: 6 - PWM toggle/set */\r
5549 #define OUTMOD_7               (7*0x20u)      /* PWM output mode: 7 - PWM reset/set */\r
5550 #define CCIS_0                 (0*0x1000u)    /* Capture input select: 0 - CCIxA */\r
5551 #define CCIS_1                 (1*0x1000u)    /* Capture input select: 1 - CCIxB */\r
5552 #define CCIS_2                 (2*0x1000u)    /* Capture input select: 2 - GND */\r
5553 #define CCIS_3                 (3*0x1000u)    /* Capture input select: 3 - Vcc */\r
5554 #define CM_0                   (0*0x4000u)    /* Capture mode: 0 - disabled */\r
5555 #define CM_1                   (1*0x4000u)    /* Capture mode: 1 - pos. edge */\r
5556 #define CM_2                   (2*0x4000u)    /* Capture mode: 1 - neg. edge */\r
5557 #define CM_3                   (3*0x4000u)    /* Capture mode: 1 - both edges */\r
5558 \r
5559 /* TAxEX0 Control Bits */\r
5560 #define TAIDEX0                (0x0001)       /* Timer A Input divider expansion Bit: 0 */\r
5561 #define TAIDEX1                (0x0002)       /* Timer A Input divider expansion Bit: 1 */\r
5562 #define TAIDEX2                (0x0004)       /* Timer A Input divider expansion Bit: 2 */\r
5563 \r
5564 #define TAIDEX_0               (0*0x0001u)    /* Timer A Input divider expansion : /1 */\r
5565 #define TAIDEX_1               (1*0x0001u)    /* Timer A Input divider expansion : /2 */\r
5566 #define TAIDEX_2               (2*0x0001u)    /* Timer A Input divider expansion : /3 */\r
5567 #define TAIDEX_3               (3*0x0001u)    /* Timer A Input divider expansion : /4 */\r
5568 #define TAIDEX_4               (4*0x0001u)    /* Timer A Input divider expansion : /5 */\r
5569 #define TAIDEX_5               (5*0x0001u)    /* Timer A Input divider expansion : /6 */\r
5570 #define TAIDEX_6               (6*0x0001u)    /* Timer A Input divider expansion : /7 */\r
5571 #define TAIDEX_7               (7*0x0001u)    /* Timer A Input divider expansion : /8 */\r
5572 \r
5573 #endif\r
5574 /************************************************************\r
5575 * Timerx_B7\r
5576 ************************************************************/\r
5577 #ifdef  __MSP430_HAS_TxB7__            /* Definition to show that Module is available */\r
5578 \r
5579 #define OFS_TBxCTL             (0x0000)       /* Timerx_B7 Control */\r
5580 #define OFS_TBxCCTL0           (0x0002)       /* Timerx_B7 Capture/Compare Control 0 */\r
5581 #define OFS_TBxCCTL1           (0x0004)       /* Timerx_B7 Capture/Compare Control 1 */\r
5582 #define OFS_TBxCCTL2           (0x0006)       /* Timerx_B7 Capture/Compare Control 2 */\r
5583 #define OFS_TBxCCTL3           (0x0008)       /* Timerx_B7 Capture/Compare Control 3 */\r
5584 #define OFS_TBxCCTL4           (0x000A)       /* Timerx_B7 Capture/Compare Control 4 */\r
5585 #define OFS_TBxCCTL5           (0x000C)       /* Timerx_B7 Capture/Compare Control 5 */\r
5586 #define OFS_TBxCCTL6           (0x000E)       /* Timerx_B7 Capture/Compare Control 6 */\r
5587 #define OFS_TBxR               (0x0010)       /* Timerx_B7 */\r
5588 #define OFS_TBxCCR0            (0x0012)       /* Timerx_B7 Capture/Compare 0 */\r
5589 #define OFS_TBxCCR1            (0x0014)       /* Timerx_B7 Capture/Compare 1 */\r
5590 #define OFS_TBxCCR2            (0x0016)       /* Timerx_B7 Capture/Compare 2 */\r
5591 #define OFS_TBxCCR3            (0x0018)       /* Timerx_B7 Capture/Compare 3 */\r
5592 #define OFS_TBxCCR4            (0x001A)       /* Timerx_B7 Capture/Compare 4 */\r
5593 #define OFS_TBxCCR5            (0x001C)       /* Timerx_B7 Capture/Compare 5 */\r
5594 #define OFS_TBxCCR6            (0x001E)       /* Timerx_B7 Capture/Compare 6 */\r
5595 #define OFS_TBxIV              (0x002E)       /* Timerx_B7 Interrupt Vector Word */\r
5596 #define OFS_TBxEX0             (0x0020)       /* Timerx_B7 Expansion Register 0 */\r
5597 \r
5598 /* Bits are already defined within the Timer0_Ax */\r
5599 \r
5600 /* TBxIV Definitions */\r
5601 #define TBxIV_NONE             (0x0000)       /* No Interrupt pending */\r
5602 #define TBxIV_TBCCR1           (0x0002)       /* TBxCCR1_CCIFG */\r
5603 #define TBxIV_TBCCR2           (0x0004)       /* TBxCCR2_CCIFG */\r
5604 #define TBxIV_TBCCR3           (0x0006)       /* TBxCCR3_CCIFG */\r
5605 #define TBxIV_TBCCR4           (0x0008)       /* TBxCCR4_CCIFG */\r
5606 #define TBxIV_TBCCR5           (0x000A)       /* TBxCCR5_CCIFG */\r
5607 #define TBxIV_TBCCR6           (0x000C)       /* TBxCCR6_CCIFG */\r
5608 #define TBxIV_TBIFG            (0x000E)       /* TBxIFG */\r
5609 \r
5610 /* Legacy Defines */\r
5611 #define TBxIV_TBxCCR1          (0x0002)       /* TBxCCR1_CCIFG */\r
5612 #define TBxIV_TBxCCR2          (0x0004)       /* TBxCCR2_CCIFG */\r
5613 #define TBxIV_TBxCCR3          (0x0006)       /* TBxCCR3_CCIFG */\r
5614 #define TBxIV_TBxCCR4          (0x0008)       /* TBxCCR4_CCIFG */\r
5615 #define TBxIV_TBxCCR5          (0x000A)       /* TBxCCR5_CCIFG */\r
5616 #define TBxIV_TBxCCR6          (0x000C)       /* TBxCCR6_CCIFG */\r
5617 #define TBxIV_TBxIFG           (0x000E)       /* TBxIFG */\r
5618 \r
5619 /* TBxCTL Control Bits */\r
5620 #define TBCLGRP1               (0x4000)       /* Timer_B7 Compare latch load group 1 */\r
5621 #define TBCLGRP0               (0x2000)       /* Timer_B7 Compare latch load group 0 */\r
5622 #define CNTL1                  (0x1000)       /* Counter lenght 1 */\r
5623 #define CNTL0                  (0x0800)       /* Counter lenght 0 */\r
5624 #define TBSSEL1                (0x0200)       /* Clock source 1 */\r
5625 #define TBSSEL0                (0x0100)       /* Clock source 0 */\r
5626 #define TBCLR                  (0x0004)       /* Timer_B7 counter clear */\r
5627 #define TBIE                   (0x0002)       /* Timer_B7 interrupt enable */\r
5628 #define TBIFG                  (0x0001)       /* Timer_B7 interrupt flag */\r
5629 \r
5630 #define SHR1                   (0x4000)       /* Timer_B7 Compare latch load group 1 */\r
5631 #define SHR0                   (0x2000)       /* Timer_B7 Compare latch load group 0 */\r
5632 \r
5633 #define TBSSEL_0               (0*0x0100u)    /* Clock Source: TBCLK */\r
5634 #define TBSSEL_1               (1*0x0100u)    /* Clock Source: ACLK  */\r
5635 #define TBSSEL_2               (2*0x0100u)    /* Clock Source: SMCLK */\r
5636 #define TBSSEL_3               (3*0x0100u)    /* Clock Source: INCLK */\r
5637 #define CNTL_0                 (0*0x0800u)    /* Counter lenght: 16 bit */\r
5638 #define CNTL_1                 (1*0x0800u)    /* Counter lenght: 12 bit */\r
5639 #define CNTL_2                 (2*0x0800u)    /* Counter lenght: 10 bit */\r
5640 #define CNTL_3                 (3*0x0800u)    /* Counter lenght:  8 bit */\r
5641 #define SHR_0                  (0*0x2000u)    /* Timer_B7 Group: 0 - individually */\r
5642 #define SHR_1                  (1*0x2000u)    /* Timer_B7 Group: 1 - 3 groups (1-2, 3-4, 5-6) */\r
5643 #define SHR_2                  (2*0x2000u)    /* Timer_B7 Group: 2 - 2 groups (1-3, 4-6)*/\r
5644 #define SHR_3                  (3*0x2000u)    /* Timer_B7 Group: 3 - 1 group (all) */\r
5645 #define TBCLGRP_0              (0*0x2000u)    /* Timer_B7 Group: 0 - individually */\r
5646 #define TBCLGRP_1              (1*0x2000u)    /* Timer_B7 Group: 1 - 3 groups (1-2, 3-4, 5-6) */\r
5647 #define TBCLGRP_2              (2*0x2000u)    /* Timer_B7 Group: 2 - 2 groups (1-3, 4-6)*/\r
5648 #define TBCLGRP_3              (3*0x2000u)    /* Timer_B7 Group: 3 - 1 group (all) */\r
5649 #define TBSSEL__TBCLK          (0*0x100u)     /* Timer0_B7 clock source select: 0 - TBCLK */\r
5650 #define TBSSEL__TACLK          (0*0x100u)     /* Timer0_B7 clock source select: 0 - TBCLK (legacy) */\r
5651 #define TBSSEL__ACLK           (1*0x100u)     /* Timer_B7 clock source select: 1 - ACLK  */\r
5652 #define TBSSEL__SMCLK          (2*0x100u)     /* Timer_B7 clock source select: 2 - SMCLK */\r
5653 #define TBSSEL__INCLK          (3*0x100u)     /* Timer_B7 clock source select: 3 - INCLK */\r
5654 #define CNTL__16               (0*0x0800u)    /* Counter lenght: 16 bit */\r
5655 #define CNTL__12               (1*0x0800u)    /* Counter lenght: 12 bit */\r
5656 #define CNTL__10               (2*0x0800u)    /* Counter lenght: 10 bit */\r
5657 #define CNTL__8                (3*0x0800u)    /* Counter lenght:  8 bit */\r
5658 \r
5659 /* Additional Timer B Control Register bits are defined in Timer A */\r
5660 /* TBxCCTLx Control Bits */\r
5661 #define CLLD1                  (0x0400)       /* Compare latch load source 1 */\r
5662 #define CLLD0                  (0x0200)       /* Compare latch load source 0 */\r
5663 \r
5664 #define SLSHR1                 (0x0400)       /* Compare latch load source 1 */\r
5665 #define SLSHR0                 (0x0200)       /* Compare latch load source 0 */\r
5666 \r
5667 #define SLSHR_0                (0*0x0200u)    /* Compare latch load sourec : 0 - immediate */\r
5668 #define SLSHR_1                (1*0x0200u)    /* Compare latch load sourec : 1 - TBR counts to 0 */\r
5669 #define SLSHR_2                (2*0x0200u)    /* Compare latch load sourec : 2 - up/down */\r
5670 #define SLSHR_3                (3*0x0200u)    /* Compare latch load sourec : 3 - TBR counts to TBCTL0 */\r
5671 \r
5672 #define CLLD_0                 (0*0x0200u)    /* Compare latch load sourec : 0 - immediate */\r
5673 #define CLLD_1                 (1*0x0200u)    /* Compare latch load sourec : 1 - TBR counts to 0 */\r
5674 #define CLLD_2                 (2*0x0200u)    /* Compare latch load sourec : 2 - up/down */\r
5675 #define CLLD_3                 (3*0x0200u)    /* Compare latch load sourec : 3 - TBR counts to TBCTL0 */\r
5676 \r
5677 /* TBxEX0 Control Bits */\r
5678 #define TBIDEX0                (0x0001)       /* Timer_B7 Input divider expansion Bit: 0 */\r
5679 #define TBIDEX1                (0x0002)       /* Timer_B7 Input divider expansion Bit: 1 */\r
5680 #define TBIDEX2                (0x0004)       /* Timer_B7 Input divider expansion Bit: 2 */\r
5681 \r
5682 #define TBIDEX_0               (0*0x0001u)    /* Timer_B7 Input divider expansion : /1 */\r
5683 #define TBIDEX_1               (1*0x0001u)    /* Timer_B7 Input divider expansion : /2 */\r
5684 #define TBIDEX_2               (2*0x0001u)    /* Timer_B7 Input divider expansion : /3 */\r
5685 #define TBIDEX_3               (3*0x0001u)    /* Timer_B7 Input divider expansion : /4 */\r
5686 #define TBIDEX_4               (4*0x0001u)    /* Timer_B7 Input divider expansion : /5 */\r
5687 #define TBIDEX_5               (5*0x0001u)    /* Timer_B7 Input divider expansion : /6 */\r
5688 #define TBIDEX_6               (6*0x0001u)    /* Timer_B7 Input divider expansion : /7 */\r
5689 #define TBIDEX_7               (7*0x0001u)    /* Timer_B7 Input divider expansion : /8 */\r
5690 #define TBIDEX__1              (0*0x0001u)    /* Timer_B7 Input divider expansion : /1 */\r
5691 #define TBIDEX__2              (1*0x0001u)    /* Timer_B7 Input divider expansion : /2 */\r
5692 #define TBIDEX__3              (2*0x0001u)    /* Timer_B7 Input divider expansion : /3 */\r
5693 #define TBIDEX__4              (3*0x0001u)    /* Timer_B7 Input divider expansion : /4 */\r
5694 #define TBIDEX__5              (4*0x0001u)    /* Timer_B7 Input divider expansion : /5 */\r
5695 #define TBIDEX__6              (5*0x0001u)    /* Timer_B7 Input divider expansion : /6 */\r
5696 #define TBIDEX__7              (6*0x0001u)    /* Timer_B7 Input divider expansion : /7 */\r
5697 #define TBIDEX__8              (7*0x0001u)    /* Timer_B7 Input divider expansion : /8 */\r
5698 \r
5699 \r
5700 #define ID1                    (0x0080)       /* Timer B clock input divider 1 */\r
5701 #define ID0                    (0x0040)       /* Timer B clock input divider 0 */\r
5702 #define MC1                    (0x0020)       /* Timer B mode control 1 */\r
5703 #define MC0                    (0x0010)       /* Timer B mode control 0 */\r
5704 #define MC__STOP               (0*0x10u)      /* Timer B mode control: 0 - Stop */\r
5705 #define MC__UP                 (1*0x10u)      /* Timer B mode control: 1 - Up to CCR0 */\r
5706 #define MC__CONTINUOUS         (2*0x10u)      /* Timer B mode control: 2 - Continuous up */\r
5707 #define MC__CONTINOUS          (2*0x10u)      /* Legacy define */\r
5708 #define MC__UPDOWN             (3*0x10u)      /* Timer B mode control: 3 - Up/Down */\r
5709 #define CM1                    (0x8000)       /* Capture mode 1 */\r
5710 #define CM0                    (0x4000)       /* Capture mode 0 */\r
5711 #define MC_0                   (0*0x10u)      /* Timer B mode control: 0 - Stop */\r
5712 #define MC_1                   (1*0x10u)      /* Timer B mode control: 1 - Up to CCR0 */\r
5713 #define MC_2                   (2*0x10u)      /* Timer B mode control: 2 - Continuous up */\r
5714 #define MC_3                   (3*0x10u)      /* Timer B mode control: 3 - Up/Down */\r
5715 #define CAP                    (0x0100)       /* Capture mode: 1 /Compare mode : 0 */\r
5716 #define CCIE                   (0x0010)       /* Capture/compare interrupt enable */\r
5717 #define CCIFG                  (0x0001)       /* Capture/compare interrupt flag */\r
5718 #define CCIS_0                 (0*0x1000u)\r
5719 #define CCIS_1                 (1*0x1000u)\r
5720 #define CCIS_2                 (2*0x1000u)\r
5721 #define CCIS_3                 (3*0x1000u)\r
5722 #define CM_0                   (0*0x4000u)    /* Capture mode: 0 - disabled */\r
5723 #define CM_1                   (1*0x4000u)    /* Capture mode: 1 - pos. edge */\r
5724 #define CM_2                   (2*0x4000u)    /* Capture mode: 1 - neg. edge */\r
5725 #define CM_3                   (3*0x4000u)    /* Capture mode: 1 - both edges */\r
5726 #define OUT                    (0x0004)       /* PWM Output signal if output mode 0 */\r
5727 #define OUTMOD_0               (0*0x20u)      /* PWM output mode: 0 - output only */\r
5728 #define OUTMOD_1               (1*0x20u)      /* PWM output mode: 1 - set */\r
5729 #define OUTMOD_2               (2*0x20u)      /* PWM output mode: 2 - PWM toggle/reset */\r
5730 #define OUTMOD_3               (3*0x20u)      /* PWM output mode: 3 - PWM set/reset */\r
5731 #define OUTMOD_4               (4*0x20u)      /* PWM output mode: 4 - toggle */\r
5732 #define OUTMOD_5               (5*0x20u)      /* PWM output mode: 5 - Reset */\r
5733 #define OUTMOD_6               (6*0x20u)      /* PWM output mode: 6 - PWM toggle/set */\r
5734 #define OUTMOD_7               (7*0x20u)      /* PWM output mode: 7 - PWM reset/set */\r
5735 #define SCCI                   (0x0400)       /* Latched capture signal (read) */\r
5736 #define SCS                    (0x0800)       /* Capture sychronize */\r
5737 #define CCI                    (0x0008)       /* Capture input signal (read) */\r
5738 #define ID__1                  (0*0x40u)      /* Timer B input divider: 0 - /1 */\r
5739 #define ID__2                  (1*0x40u)      /* Timer B input divider: 1 - /2 */\r
5740 #define ID__4                  (2*0x40u)      /* Timer B input divider: 2 - /4 */\r
5741 #define ID__8                  (3*0x40u)      /* Timer B input divider: 3 - /8 */\r
5742 #define ID_0                   (0*0x40u)      /* Timer B input divider: 0 - /1 */\r
5743 #define ID_1                   (1*0x40u)      /* Timer B input divider: 1 - /2 */\r
5744 #define ID_2                   (2*0x40u)      /* Timer B input divider: 2 - /4 */\r
5745 #define ID_3                   (3*0x40u)      /* Timer B input divider: 3 - /8 */\r
5746 \r
5747 #endif\r
5748 /************************************************************\r
5749 * USCI Ax\r
5750 ************************************************************/\r
5751 #ifdef  __MSP430_HAS_EUSCI_Ax__      /* Definition to show that Module is available */\r
5752 \r
5753 #define OFS_UCAxCTLW0          (0x0000)       /* USCI Ax Control Word Register 0 */\r
5754 #define OFS_UCAxCTLW0_L        OFS_UCAxCTLW0\r
5755 #define OFS_UCAxCTLW0_H        OFS_UCAxCTLW0+1\r
5756 #define OFS_UCAxCTL0           (0x0001)\r
5757 #define OFS_UCAxCTL1           (0x0000)\r
5758 #define UCAxCTL1               UCAxCTLW0_L    /* USCI Ax Control Register 1 */\r
5759 #define UCAxCTL0               UCAxCTLW0_H    /* USCI Ax Control Register 0 */\r
5760 #define OFS_UCAxCTLW1          (0x0002)       /* USCI Ax Control Word Register 1 */\r
5761 #define OFS_UCAxCTLW1_L        OFS_UCAxCTLW1\r
5762 #define OFS_UCAxCTLW1_H        OFS_UCAxCTLW1+1\r
5763 #define OFS_UCAxBRW            (0x0006)       /* USCI Ax Baud Word Rate 0 */\r
5764 #define OFS_UCAxBRW_L          OFS_UCAxBRW\r
5765 #define OFS_UCAxBRW_H          OFS_UCAxBRW+1\r
5766 #define OFS_UCAxBR0            (0x0006)\r
5767 #define OFS_UCAxBR1            (0x0007)\r
5768 #define UCAxBR0                UCAxBRW_L      /* USCI Ax Baud Rate 0 */\r
5769 #define UCAxBR1                UCAxBRW_H      /* USCI Ax Baud Rate 1 */\r
5770 #define OFS_UCAxMCTLW          (0x0008)       /* USCI Ax Modulation Control */\r
5771 #define OFS_UCAxMCTLW_L        OFS_UCAxMCTLW\r
5772 #define OFS_UCAxMCTLW_H        OFS_UCAxMCTLW+1\r
5773 #define OFS_UCAxSTATW          (0x000A)       /* USCI Ax Status Register */\r
5774 #define OFS_UCAxRXBUF          (0x000C)       /* USCI Ax Receive Buffer */\r
5775 #define OFS_UCAxRXBUF_L        OFS_UCAxRXBUF\r
5776 #define OFS_UCAxRXBUF_H        OFS_UCAxRXBUF+1\r
5777 #define OFS_UCAxTXBUF          (0x000E)       /* USCI Ax Transmit Buffer */\r
5778 #define OFS_UCAxTXBUF_L        OFS_UCAxTXBUF\r
5779 #define OFS_UCAxTXBUF_H        OFS_UCAxTXBUF+1\r
5780 #define OFS_UCAxABCTL          (0x0010)       /* USCI Ax LIN Control */\r
5781 #define OFS_UCAxIRCTL          (0x0012)       /* USCI Ax IrDA Transmit Control */\r
5782 #define OFS_UCAxIRCTL_L        OFS_UCAxIRCTL\r
5783 #define OFS_UCAxIRCTL_H        OFS_UCAxIRCTL+1\r
5784 #define OFS_UCAxIRTCTL         (0x0012)\r
5785 #define OFS_UCAxIRRCTL         (0x0013)\r
5786 #define UCAxIRTCTL             UCAxIRCTL_L    /* USCI Ax IrDA Transmit Control */\r
5787 #define UCAxIRRCTL             UCAxIRCTL_H    /* USCI Ax IrDA Receive Control */\r
5788 #define OFS_UCAxIE             (0x001A)       /* USCI Ax Interrupt Enable Register */\r
5789 #define OFS_UCAxIE_L           OFS_UCAxIE\r
5790 #define OFS_UCAxIE_H           OFS_UCAxIE+1\r
5791 #define OFS_UCAxIFG            (0x001C)       /* USCI Ax Interrupt Flags Register */\r
5792 #define OFS_UCAxIFG_L          OFS_UCAxIFG\r
5793 #define OFS_UCAxIFG_H          OFS_UCAxIFG+1\r
5794 #define OFS_UCAxIE__UART       (0x001A)\r
5795 #define OFS_UCAxIE__UART_L     OFS_UCAxIE__UART\r
5796 #define OFS_UCAxIE__UART_H     OFS_UCAxIE__UART+1\r
5797 #define OFS_UCAxIFG__UART      (0x001C)\r
5798 #define OFS_UCAxIFG__UART_L    OFS_UCAxIFG__UART\r
5799 #define OFS_UCAxIFG__UART_H    OFS_UCAxIFG__UART+1\r
5800 #define OFS_UCAxIV             (0x001E)       /* USCI Ax Interrupt Vector Register */\r
5801 \r
5802 #define OFS_UCAxCTLW0__SPI     (0x0000)\r
5803 #define OFS_UCAxCTLW0__SPI_L   OFS_UCAxCTLW0__SPI\r
5804 #define OFS_UCAxCTLW0__SPI_H   OFS_UCAxCTLW0__SPI+1\r
5805 #define OFS_UCAxCTL0__SPI      (0x0001)\r
5806 #define OFS_UCAxCTL1__SPI      (0x0000)\r
5807 #define OFS_UCAxBRW__SPI       (0x0006)\r
5808 #define OFS_UCAxBRW__SPI_L     OFS_UCAxBRW__SPI\r
5809 #define OFS_UCAxBRW__SPI_H     OFS_UCAxBRW__SPI+1\r
5810 #define OFS_UCAxBR0__SPI       (0x0006)\r
5811 #define OFS_UCAxBR1__SPI       (0x0007)\r
5812 #define OFS_UCAxSTATW__SPI     (0x000A)\r
5813 #define OFS_UCAxRXBUF__SPI     (0x000C)\r
5814 #define OFS_UCAxRXBUF__SPI_L   OFS_UCAxRXBUF__SPI\r
5815 #define OFS_UCAxRXBUF__SPI_H   OFS_UCAxRXBUF__SPI+1\r
5816 #define OFS_UCAxTXBUF__SPI     (0x000E)\r
5817 #define OFS_UCAxTXBUF__SPI_L   OFS_UCAxTXBUF__SPI\r
5818 #define OFS_UCAxTXBUF__SPI_H   OFS_UCAxTXBUF__SPI+1\r
5819 #define OFS_UCAxIE__SPI        (0x001A)\r
5820 #define OFS_UCAxIFG__SPI       (0x001C)\r
5821 #define OFS_UCAxIV__SPI        (0x001E)\r
5822 \r
5823 #endif\r
5824 /************************************************************\r
5825 * USCI Bx\r
5826 ************************************************************/\r
5827 #ifdef  __MSP430_HAS_EUSCI_Bx__       /* Definition to show that Module is available */\r
5828 \r
5829 #define OFS_UCBxCTLW0__SPI     (0x0000)\r
5830 #define OFS_UCBxCTLW0__SPI_L   OFS_UCBxCTLW0__SPI\r
5831 #define OFS_UCBxCTLW0__SPI_H   OFS_UCBxCTLW0__SPI+1\r
5832 #define OFS_UCBxCTL0__SPI      (0x0001)\r
5833 #define OFS_UCBxCTL1__SPI      (0x0000)\r
5834 #define OFS_UCBxBRW__SPI       (0x0006)\r
5835 #define OFS_UCBxBRW__SPI_L     OFS_UCBxBRW__SPI\r
5836 #define OFS_UCBxBRW__SPI_H     OFS_UCBxBRW__SPI+1\r
5837 #define OFS_UCBxBR0__SPI       (0x0006)\r
5838 #define OFS_UCBxBR1__SPI       (0x0007)\r
5839 #define OFS_UCBxSTATW__SPI     (0x0008)\r
5840 #define OFS_UCBxSTATW__SPI_L   OFS_UCBxSTATW__SPI\r
5841 #define OFS_UCBxSTATW__SPI_H   OFS_UCBxSTATW__SPI+1\r
5842 #define OFS_UCBxRXBUF__SPI     (0x000C)\r
5843 #define OFS_UCBxRXBUF__SPI_L   OFS_UCBxRXBUF__SPI\r
5844 #define OFS_UCBxRXBUF__SPI_H   OFS_UCBxRXBUF__SPI+1\r
5845 #define OFS_UCBxTXBUF__SPI     (0x000E)\r
5846 #define OFS_UCBxTXBUF__SPI_L   OFS_UCBxTXBUF__SPI\r
5847 #define OFS_UCBxTXBUF__SPI_H   OFS_UCBxTXBUF__SPI+1\r
5848 #define OFS_UCBxIE__SPI        (0x002A)\r
5849 #define OFS_UCBxIE__SPI_L      OFS_UCBxIE__SPI\r
5850 #define OFS_UCBxIE__SPI_H      OFS_UCBxIE__SPI+1\r
5851 #define OFS_UCBxIFG__SPI       (0x002C)\r
5852 #define OFS_UCBxIFG__SPI_L     OFS_UCBxIFG__SPI\r
5853 #define OFS_UCBxIFG__SPI_H     OFS_UCBxIFG__SPI+1\r
5854 #define OFS_UCBxIV__SPI        (0x002E)\r
5855 \r
5856 #define OFS_UCBxCTLW0          (0x0000)       /* USCI Bx Control Word Register 0 */\r
5857 #define OFS_UCBxCTLW0_L        OFS_UCBxCTLW0\r
5858 #define OFS_UCBxCTLW0_H        OFS_UCBxCTLW0+1\r
5859 #define OFS_UCBxCTL0           (0x0001)\r
5860 #define OFS_UCBxCTL1           (0x0000)\r
5861 #define UCBxCTL1               UCBxCTLW0_L    /* USCI Bx Control Register 1 */\r
5862 #define UCBxCTL0               UCBxCTLW0_H    /* USCI Bx Control Register 0 */\r
5863 #define OFS_UCBxCTLW1          (0x0002)       /* USCI Bx Control Word Register 1 */\r
5864 #define OFS_UCBxCTLW1_L        OFS_UCBxCTLW1\r
5865 #define OFS_UCBxCTLW1_H        OFS_UCBxCTLW1+1\r
5866 #define OFS_UCBxBRW            (0x0006)       /* USCI Bx Baud Word Rate 0 */\r
5867 #define OFS_UCBxBRW_L          OFS_UCBxBRW\r
5868 #define OFS_UCBxBRW_H          OFS_UCBxBRW+1\r
5869 #define OFS_UCBxBR0            (0x0006)\r
5870 #define OFS_UCBxBR1            (0x0007)\r
5871 #define UCBxBR0                UCBxBRW_L      /* USCI Bx Baud Rate 0 */\r
5872 #define UCBxBR1                UCBxBRW_H      /* USCI Bx Baud Rate 1 */\r
5873 #define OFS_UCBxSTATW          (0x0008)       /* USCI Bx Status Word Register */\r
5874 #define OFS_UCBxSTATW_L        OFS_UCBxSTATW\r
5875 #define OFS_UCBxSTATW_H        OFS_UCBxSTATW+1\r
5876 #define OFS_UCBxSTATW__I2C     (0x0008)\r
5877 #define OFS_UCBxSTAT__I2C      (0x0008)\r
5878 #define OFS_UCBxBCNT__I2C      (0x0009)\r
5879 #define UCBxSTAT               UCBxSTATW_L    /* USCI Bx Status Register */\r
5880 #define UCBxBCNT               UCBxSTATW_H    /* USCI Bx Byte Counter Register */\r
5881 #define OFS_UCBxTBCNT          (0x000A)       /* USCI Bx Byte Counter Threshold Register */\r
5882 #define OFS_UCBxTBCNT_L        OFS_UCBxTBCNT\r
5883 #define OFS_UCBxTBCNT_H        OFS_UCBxTBCNT+1\r
5884 #define OFS_UCBxRXBUF          (0x000C)       /* USCI Bx Receive Buffer */\r
5885 #define OFS_UCBxRXBUF_L        OFS_UCBxRXBUF\r
5886 #define OFS_UCBxRXBUF_H        OFS_UCBxRXBUF+1\r
5887 #define OFS_UCBxTXBUF          (0x000E)       /* USCI Bx Transmit Buffer */\r
5888 #define OFS_UCBxTXBUF_L        OFS_UCBxTXBUF\r
5889 #define OFS_UCBxTXBUF_H        OFS_UCBxTXBUF+1\r
5890 #define OFS_UCBxI2COA0         (0x0014)       /* USCI Bx I2C Own Address 0 */\r
5891 #define OFS_UCBxI2COA0_L       OFS_UCBxI2COA0\r
5892 #define OFS_UCBxI2COA0_H       OFS_UCBxI2COA0+1\r
5893 #define OFS_UCBxI2COA1         (0x0016)       /* USCI Bx I2C Own Address 1 */\r
5894 #define OFS_UCBxI2COA1_L       OFS_UCBxI2COA1\r
5895 #define OFS_UCBxI2COA1_H       OFS_UCBxI2COA1+1\r
5896 #define OFS_UCBxI2COA2         (0x0018)       /* USCI Bx I2C Own Address 2 */\r
5897 #define OFS_UCBxI2COA2_L       OFS_UCBxI2COA2\r
5898 #define OFS_UCBxI2COA2_H       OFS_UCBxI2COA2+1\r
5899 #define OFS_UCBxI2COA3         (0x001A)       /* USCI Bx I2C Own Address 3 */\r
5900 #define OFS_UCBxI2COA3_L       OFS_UCBxI2COA3\r
5901 #define OFS_UCBxI2COA3_H       OFS_UCBxI2COA3+1\r
5902 #define OFS_UCBxADDRX          (0x001C)       /* USCI Bx Received Address Register */\r
5903 #define OFS_UCBxADDRX_L        OFS_UCBxADDRX\r
5904 #define OFS_UCBxADDRX_H        OFS_UCBxADDRX+1\r
5905 #define OFS_UCBxADDMASK        (0x001E)       /* USCI Bx Address Mask Register */\r
5906 #define OFS_UCBxADDMASK_L      OFS_UCBxADDMASK\r
5907 #define OFS_UCBxADDMASK_H      OFS_UCBxADDMASK+1\r
5908 #define OFS_UCBxI2CSA          (0x0020)       /* USCI Bx I2C Slave Address */\r
5909 #define OFS_UCBxI2CSA_L        OFS_UCBxI2CSA\r
5910 #define OFS_UCBxI2CSA_H        OFS_UCBxI2CSA+1\r
5911 #define OFS_UCBxIE             (0x002A)       /* USCI Bx Interrupt Enable Register */\r
5912 #define OFS_UCBxIE_L           OFS_UCBxIE\r
5913 #define OFS_UCBxIE_H           OFS_UCBxIE+1\r
5914 #define OFS_UCBxIFG            (0x002C)       /* USCI Bx Interrupt Flags Register */\r
5915 #define OFS_UCBxIFG_L          OFS_UCBxIFG\r
5916 #define OFS_UCBxIFG_H          OFS_UCBxIFG+1\r
5917 #define OFS_UCBxIE__I2C        (0x002A)\r
5918 #define OFS_UCBxIE__I2C_L      OFS_UCBxIE__I2C\r
5919 #define OFS_UCBxIE__I2C_H      OFS_UCBxIE__I2C+1\r
5920 #define OFS_UCBxIFG__I2C       (0x002C)\r
5921 #define OFS_UCBxIFG__I2C_L     OFS_UCBxIFG__I2C\r
5922 #define OFS_UCBxIFG__I2C_H     OFS_UCBxIFG__I2C+1\r
5923 #define OFS_UCBxIV             (0x002E)       /* USCI Bx Interrupt Vector Register */\r
5924 \r
5925 #endif\r
5926 #if (defined(__MSP430_HAS_EUSCI_Ax__) || defined(__MSP430_HAS_EUSCI_Bx__))\r
5927 \r
5928 // UCAxCTLW0 UART-Mode Control Bits\r
5929 #define UCPEN                  (0x8000)       /* Async. Mode: Parity enable */\r
5930 #define UCPAR                  (0x4000)       /* Async. Mode: Parity     0:odd / 1:even */\r
5931 #define UCMSB                  (0x2000)       /* Async. Mode: MSB first  0:LSB / 1:MSB */\r
5932 #define UC7BIT                 (0x1000)       /* Async. Mode: Data Bits  0:8-bits / 1:7-bits */\r
5933 #define UCSPB                  (0x0800)       /* Async. Mode: Stop Bits  0:one / 1: two */\r
5934 #define UCMODE1                (0x0400)       /* Async. Mode: USCI Mode 1 */\r
5935 #define UCMODE0                (0x0200)       /* Async. Mode: USCI Mode 0 */\r
5936 #define UCSYNC                 (0x0100)       /* Sync-Mode  0:UART-Mode / 1:SPI-Mode */\r
5937 #define UCSSEL1                (0x0080)       /* USCI 0 Clock Source Select 1 */\r
5938 #define UCSSEL0                (0x0040)       /* USCI 0 Clock Source Select 0 */\r
5939 #define UCRXEIE                (0x0020)       /* RX Error interrupt enable */\r
5940 #define UCBRKIE                (0x0010)       /* Break interrupt enable */\r
5941 #define UCDORM                 (0x0008)       /* Dormant (Sleep) Mode */\r
5942 #define UCTXADDR               (0x0004)       /* Send next Data as Address */\r
5943 #define UCTXBRK                (0x0002)       /* Send next Data as Break */\r
5944 #define UCSWRST                (0x0001)       /* USCI Software Reset */\r
5945 \r
5946 // UCAxCTLW0 UART-Mode Control Bits\r
5947 #define UCSSEL1_L              (0x0080)       /* USCI 0 Clock Source Select 1 */\r
5948 #define UCSSEL0_L              (0x0040)       /* USCI 0 Clock Source Select 0 */\r
5949 #define UCRXEIE_L              (0x0020)       /* RX Error interrupt enable */\r
5950 #define UCBRKIE_L              (0x0010)       /* Break interrupt enable */\r
5951 #define UCDORM_L               (0x0008)       /* Dormant (Sleep) Mode */\r
5952 #define UCTXADDR_L             (0x0004)       /* Send next Data as Address */\r
5953 #define UCTXBRK_L              (0x0002)       /* Send next Data as Break */\r
5954 #define UCSWRST_L              (0x0001)       /* USCI Software Reset */\r
5955 \r
5956 // UCAxCTLW0 UART-Mode Control Bits\r
5957 #define UCPEN_H                (0x0080)       /* Async. Mode: Parity enable */\r
5958 #define UCPAR_H                (0x0040)       /* Async. Mode: Parity     0:odd / 1:even */\r
5959 #define UCMSB_H                (0x0020)       /* Async. Mode: MSB first  0:LSB / 1:MSB */\r
5960 #define UC7BIT_H               (0x0010)       /* Async. Mode: Data Bits  0:8-bits / 1:7-bits */\r
5961 #define UCSPB_H                (0x0008)       /* Async. Mode: Stop Bits  0:one / 1: two */\r
5962 #define UCMODE1_H              (0x0004)       /* Async. Mode: USCI Mode 1 */\r
5963 #define UCMODE0_H              (0x0002)       /* Async. Mode: USCI Mode 0 */\r
5964 #define UCSYNC_H               (0x0001)       /* Sync-Mode  0:UART-Mode / 1:SPI-Mode */\r
5965 \r
5966 // UCxxCTLW0 SPI-Mode Control Bits\r
5967 #define UCCKPH                 (0x8000)       /* Sync. Mode: Clock Phase */\r
5968 #define UCCKPL                 (0x4000)       /* Sync. Mode: Clock Polarity */\r
5969 #define UCMST                  (0x0800)       /* Sync. Mode: Master Select */\r
5970 //#define res               (0x0020)    /* reserved */\r
5971 //#define res               (0x0010)    /* reserved */\r
5972 //#define res               (0x0008)    /* reserved */\r
5973 //#define res               (0x0004)    /* reserved */\r
5974 #define UCSTEM                 (0x0002)       /* USCI STE Mode */\r
5975 \r
5976 // UCBxCTLW0 I2C-Mode Control Bits\r
5977 #define UCA10                  (0x8000)       /* 10-bit Address Mode */\r
5978 #define UCSLA10                (0x4000)       /* 10-bit Slave Address Mode */\r
5979 #define UCMM                   (0x2000)       /* Multi-Master Environment */\r
5980 //#define res               (0x1000)    /* reserved */\r
5981 //#define res               (0x0100)    /* reserved */\r
5982 #define UCTXACK                (0x0020)       /* Transmit ACK */\r
5983 #define UCTR                   (0x0010)       /* Transmit/Receive Select/Flag */\r
5984 #define UCTXNACK               (0x0008)       /* Transmit NACK */\r
5985 #define UCTXSTP                (0x0004)       /* Transmit STOP */\r
5986 #define UCTXSTT                (0x0002)       /* Transmit START */\r
5987 \r
5988 // UCBxCTLW0 I2C-Mode Control Bits\r
5989 //#define res               (0x1000)    /* reserved */\r
5990 //#define res               (0x0100)    /* reserved */\r
5991 #define UCTXACK_L              (0x0020)       /* Transmit ACK */\r
5992 #define UCTR_L                 (0x0010)       /* Transmit/Receive Select/Flag */\r
5993 #define UCTXNACK_L             (0x0008)       /* Transmit NACK */\r
5994 #define UCTXSTP_L              (0x0004)       /* Transmit STOP */\r
5995 #define UCTXSTT_L              (0x0002)       /* Transmit START */\r
5996 \r
5997 // UCBxCTLW0 I2C-Mode Control Bits\r
5998 #define UCA10_H                (0x0080)       /* 10-bit Address Mode */\r
5999 #define UCSLA10_H              (0x0040)       /* 10-bit Slave Address Mode */\r
6000 #define UCMM_H                 (0x0020)       /* Multi-Master Environment */\r
6001 //#define res               (0x1000)    /* reserved */\r
6002 //#define res               (0x0100)    /* reserved */\r
6003 \r
6004 #define UCMODE_0               (0x0000)       /* Sync. Mode: USCI Mode: 0 */\r
6005 #define UCMODE_1               (0x0200)       /* Sync. Mode: USCI Mode: 1 */\r
6006 #define UCMODE_2               (0x0400)       /* Sync. Mode: USCI Mode: 2 */\r
6007 #define UCMODE_3               (0x0600)       /* Sync. Mode: USCI Mode: 3 */\r
6008 \r
6009 #define UCSSEL_0               (0x0000)       /* USCI 0 Clock Source: 0 */\r
6010 #define UCSSEL_1               (0x0040)       /* USCI 0 Clock Source: 1 */\r
6011 #define UCSSEL_2               (0x0080)       /* USCI 0 Clock Source: 2 */\r
6012 #define UCSSEL_3               (0x00C0)       /* USCI 0 Clock Source: 3 */\r
6013 #define UCSSEL__UCLK           (0x0000)       /* USCI 0 Clock Source: UCLK */\r
6014 #define UCSSEL__ACLK           (0x0040)       /* USCI 0 Clock Source: ACLK */\r
6015 #define UCSSEL__SMCLK          (0x0080)       /* USCI 0 Clock Source: SMCLK */\r
6016 \r
6017 // UCAxCTLW1 UART-Mode Control Bits\r
6018 #define UCGLIT1                (0x0002)       /* USCI Deglitch Time Bit 1 */\r
6019 #define UCGLIT0                (0x0001)       /* USCI Deglitch Time Bit 0 */\r
6020 \r
6021 // UCAxCTLW1 UART-Mode Control Bits\r
6022 #define UCGLIT1_L              (0x0002)       /* USCI Deglitch Time Bit 1 */\r
6023 #define UCGLIT0_L              (0x0001)       /* USCI Deglitch Time Bit 0 */\r
6024 \r
6025 // UCBxCTLW1 I2C-Mode Control Bits\r
6026 #define UCETXINT               (0x0100)       /* USCI Early UCTXIFG0 */\r
6027 #define UCCLTO1                (0x0080)       /* USCI Clock low timeout Bit: 1 */\r
6028 #define UCCLTO0                (0x0040)       /* USCI Clock low timeout Bit: 0 */\r
6029 #define UCSTPNACK              (0x0020)       /* USCI Acknowledge Stop last byte */\r
6030 #define UCSWACK                (0x0010)       /* USCI Software controlled ACK */\r
6031 #define UCASTP1                (0x0008)       /* USCI Automatic Stop condition generation Bit: 1 */\r
6032 #define UCASTP0                (0x0004)       /* USCI Automatic Stop condition generation Bit: 0 */\r
6033 #define UCGLIT1                (0x0002)       /* USCI Deglitch time Bit: 1 */\r
6034 #define UCGLIT0                (0x0001)       /* USCI Deglitch time Bit: 0 */\r
6035 \r
6036 // UCBxCTLW1 I2C-Mode Control Bits\r
6037 #define UCCLTO1_L              (0x0080)       /* USCI Clock low timeout Bit: 1 */\r
6038 #define UCCLTO0_L              (0x0040)       /* USCI Clock low timeout Bit: 0 */\r
6039 #define UCSTPNACK_L            (0x0020)       /* USCI Acknowledge Stop last byte */\r
6040 #define UCSWACK_L              (0x0010)       /* USCI Software controlled ACK */\r
6041 #define UCASTP1_L              (0x0008)       /* USCI Automatic Stop condition generation Bit: 1 */\r
6042 #define UCASTP0_L              (0x0004)       /* USCI Automatic Stop condition generation Bit: 0 */\r
6043 #define UCGLIT1_L              (0x0002)       /* USCI Deglitch time Bit: 1 */\r
6044 #define UCGLIT0_L              (0x0001)       /* USCI Deglitch time Bit: 0 */\r
6045 \r
6046 // UCBxCTLW1 I2C-Mode Control Bits\r
6047 #define UCETXINT_H             (0x0001)       /* USCI Early UCTXIFG0 */\r
6048 \r
6049 #define UCGLIT_0               (0x0000)       /* USCI Deglitch time: 0 */\r
6050 #define UCGLIT_1               (0x0001)       /* USCI Deglitch time: 1 */\r
6051 #define UCGLIT_2               (0x0002)       /* USCI Deglitch time: 2 */\r
6052 #define UCGLIT_3               (0x0003)       /* USCI Deglitch time: 3 */\r
6053 \r
6054 #define UCASTP_0               (0x0000)       /* USCI Automatic Stop condition generation: 0 */\r
6055 #define UCASTP_1               (0x0004)       /* USCI Automatic Stop condition generation: 1 */\r
6056 #define UCASTP_2               (0x0008)       /* USCI Automatic Stop condition generation: 2 */\r
6057 #define UCASTP_3               (0x000C)       /* USCI Automatic Stop condition generation: 3 */\r
6058 \r
6059 #define UCCLTO_0               (0x0000)       /* USCI Clock low timeout: 0 */\r
6060 #define UCCLTO_1               (0x0040)       /* USCI Clock low timeout: 1 */\r
6061 #define UCCLTO_2               (0x0080)       /* USCI Clock low timeout: 2 */\r
6062 #define UCCLTO_3               (0x00C0)       /* USCI Clock low timeout: 3 */\r
6063 \r
6064 /* UCAxMCTLW Control Bits */\r
6065 #define UCBRS7                 (0x8000)       /* USCI Second Stage Modulation Select 7 */\r
6066 #define UCBRS6                 (0x4000)       /* USCI Second Stage Modulation Select 6 */\r
6067 #define UCBRS5                 (0x2000)       /* USCI Second Stage Modulation Select 5 */\r
6068 #define UCBRS4                 (0x1000)       /* USCI Second Stage Modulation Select 4 */\r
6069 #define UCBRS3                 (0x0800)       /* USCI Second Stage Modulation Select 3 */\r
6070 #define UCBRS2                 (0x0400)       /* USCI Second Stage Modulation Select 2 */\r
6071 #define UCBRS1                 (0x0200)       /* USCI Second Stage Modulation Select 1 */\r
6072 #define UCBRS0                 (0x0100)       /* USCI Second Stage Modulation Select 0 */\r
6073 #define UCBRF3                 (0x0080)       /* USCI First Stage Modulation Select 3 */\r
6074 #define UCBRF2                 (0x0040)       /* USCI First Stage Modulation Select 2 */\r
6075 #define UCBRF1                 (0x0020)       /* USCI First Stage Modulation Select 1 */\r
6076 #define UCBRF0                 (0x0010)       /* USCI First Stage Modulation Select 0 */\r
6077 #define UCOS16                 (0x0001)       /* USCI 16-times Oversampling enable */\r
6078 \r
6079 /* UCAxMCTLW Control Bits */\r
6080 #define UCBRF3_L               (0x0080)       /* USCI First Stage Modulation Select 3 */\r
6081 #define UCBRF2_L               (0x0040)       /* USCI First Stage Modulation Select 2 */\r
6082 #define UCBRF1_L               (0x0020)       /* USCI First Stage Modulation Select 1 */\r
6083 #define UCBRF0_L               (0x0010)       /* USCI First Stage Modulation Select 0 */\r
6084 #define UCOS16_L               (0x0001)       /* USCI 16-times Oversampling enable */\r
6085 \r
6086 /* UCAxMCTLW Control Bits */\r
6087 #define UCBRS7_H               (0x0080)       /* USCI Second Stage Modulation Select 7 */\r
6088 #define UCBRS6_H               (0x0040)       /* USCI Second Stage Modulation Select 6 */\r
6089 #define UCBRS5_H               (0x0020)       /* USCI Second Stage Modulation Select 5 */\r
6090 #define UCBRS4_H               (0x0010)       /* USCI Second Stage Modulation Select 4 */\r
6091 #define UCBRS3_H               (0x0008)       /* USCI Second Stage Modulation Select 3 */\r
6092 #define UCBRS2_H               (0x0004)       /* USCI Second Stage Modulation Select 2 */\r
6093 #define UCBRS1_H               (0x0002)       /* USCI Second Stage Modulation Select 1 */\r
6094 #define UCBRS0_H               (0x0001)       /* USCI Second Stage Modulation Select 0 */\r
6095 \r
6096 #define UCBRF_0                (0x00)         /* USCI First Stage Modulation: 0 */\r
6097 #define UCBRF_1                (0x10)         /* USCI First Stage Modulation: 1 */\r
6098 #define UCBRF_2                (0x20)         /* USCI First Stage Modulation: 2 */\r
6099 #define UCBRF_3                (0x30)         /* USCI First Stage Modulation: 3 */\r
6100 #define UCBRF_4                (0x40)         /* USCI First Stage Modulation: 4 */\r
6101 #define UCBRF_5                (0x50)         /* USCI First Stage Modulation: 5 */\r
6102 #define UCBRF_6                (0x60)         /* USCI First Stage Modulation: 6 */\r
6103 #define UCBRF_7                (0x70)         /* USCI First Stage Modulation: 7 */\r
6104 #define UCBRF_8                (0x80)         /* USCI First Stage Modulation: 8 */\r
6105 #define UCBRF_9                (0x90)         /* USCI First Stage Modulation: 9 */\r
6106 #define UCBRF_10               (0xA0)         /* USCI First Stage Modulation: A */\r
6107 #define UCBRF_11               (0xB0)         /* USCI First Stage Modulation: B */\r
6108 #define UCBRF_12               (0xC0)         /* USCI First Stage Modulation: C */\r
6109 #define UCBRF_13               (0xD0)         /* USCI First Stage Modulation: D */\r
6110 #define UCBRF_14               (0xE0)         /* USCI First Stage Modulation: E */\r
6111 #define UCBRF_15               (0xF0)         /* USCI First Stage Modulation: F */\r
6112 \r
6113 /* UCAxSTATW Control Bits */\r
6114 #define UCLISTEN               (0x0080)       /* USCI Listen mode */\r
6115 #define UCFE                   (0x0040)       /* USCI Frame Error Flag */\r
6116 #define UCOE                   (0x0020)       /* USCI Overrun Error Flag */\r
6117 #define UCPE                   (0x0010)       /* USCI Parity Error Flag */\r
6118 #define UCBRK                  (0x0008)       /* USCI Break received */\r
6119 #define UCRXERR                (0x0004)       /* USCI RX Error Flag */\r
6120 #define UCADDR                 (0x0002)       /* USCI Address received Flag */\r
6121 #define UCBUSY                 (0x0001)       /* USCI Busy Flag */\r
6122 #define UCIDLE                 (0x0002)       /* USCI Idle line detected Flag */\r
6123 \r
6124 /* UCBxSTATW I2C Control Bits */\r
6125 #define UCBCNT7                (0x8000)       /* USCI Byte Counter Bit 7 */\r
6126 #define UCBCNT6                (0x4000)       /* USCI Byte Counter Bit 6 */\r
6127 #define UCBCNT5                (0x2000)       /* USCI Byte Counter Bit 5 */\r
6128 #define UCBCNT4                (0x1000)       /* USCI Byte Counter Bit 4 */\r
6129 #define UCBCNT3                (0x0800)       /* USCI Byte Counter Bit 3 */\r
6130 #define UCBCNT2                (0x0400)       /* USCI Byte Counter Bit 2 */\r
6131 #define UCBCNT1                (0x0200)       /* USCI Byte Counter Bit 1 */\r
6132 #define UCBCNT0                (0x0100)       /* USCI Byte Counter Bit 0 */\r
6133 #define UCSCLLOW               (0x0040)       /* SCL low */\r
6134 #define UCGC                   (0x0020)       /* General Call address received Flag */\r
6135 #define UCBBUSY                (0x0010)       /* Bus Busy Flag */\r
6136 \r
6137 /* UCBxTBCNT I2C Control Bits */\r
6138 #define UCTBCNT7               (0x0080)       /* USCI Byte Counter Bit 7 */\r
6139 #define UCTBCNT6               (0x0040)       /* USCI Byte Counter Bit 6 */\r
6140 #define UCTBCNT5               (0x0020)       /* USCI Byte Counter Bit 5 */\r
6141 #define UCTBCNT4               (0x0010)       /* USCI Byte Counter Bit 4 */\r
6142 #define UCTBCNT3               (0x0008)       /* USCI Byte Counter Bit 3 */\r
6143 #define UCTBCNT2               (0x0004)       /* USCI Byte Counter Bit 2 */\r
6144 #define UCTBCNT1               (0x0002)       /* USCI Byte Counter Bit 1 */\r
6145 #define UCTBCNT0               (0x0001)       /* USCI Byte Counter Bit 0 */\r
6146 \r
6147 /* UCAxIRCTL Control Bits */\r
6148 #define UCIRRXFL5              (0x8000)       /* IRDA Receive Filter Length 5 */\r
6149 #define UCIRRXFL4              (0x4000)       /* IRDA Receive Filter Length 4 */\r
6150 #define UCIRRXFL3              (0x2000)       /* IRDA Receive Filter Length 3 */\r
6151 #define UCIRRXFL2              (0x1000)       /* IRDA Receive Filter Length 2 */\r
6152 #define UCIRRXFL1              (0x0800)       /* IRDA Receive Filter Length 1 */\r
6153 #define UCIRRXFL0              (0x0400)       /* IRDA Receive Filter Length 0 */\r
6154 #define UCIRRXPL               (0x0200)       /* IRDA Receive Input Polarity */\r
6155 #define UCIRRXFE               (0x0100)       /* IRDA Receive Filter enable */\r
6156 #define UCIRTXPL5              (0x0080)       /* IRDA Transmit Pulse Length 5 */\r
6157 #define UCIRTXPL4              (0x0040)       /* IRDA Transmit Pulse Length 4 */\r
6158 #define UCIRTXPL3              (0x0020)       /* IRDA Transmit Pulse Length 3 */\r
6159 #define UCIRTXPL2              (0x0010)       /* IRDA Transmit Pulse Length 2 */\r
6160 #define UCIRTXPL1              (0x0008)       /* IRDA Transmit Pulse Length 1 */\r
6161 #define UCIRTXPL0              (0x0004)       /* IRDA Transmit Pulse Length 0 */\r
6162 #define UCIRTXCLK              (0x0002)       /* IRDA Transmit Pulse Clock Select */\r
6163 #define UCIREN                 (0x0001)       /* IRDA Encoder/Decoder enable */\r
6164 \r
6165 /* UCAxIRCTL Control Bits */\r
6166 #define UCIRTXPL5_L            (0x0080)       /* IRDA Transmit Pulse Length 5 */\r
6167 #define UCIRTXPL4_L            (0x0040)       /* IRDA Transmit Pulse Length 4 */\r
6168 #define UCIRTXPL3_L            (0x0020)       /* IRDA Transmit Pulse Length 3 */\r
6169 #define UCIRTXPL2_L            (0x0010)       /* IRDA Transmit Pulse Length 2 */\r
6170 #define UCIRTXPL1_L            (0x0008)       /* IRDA Transmit Pulse Length 1 */\r
6171 #define UCIRTXPL0_L            (0x0004)       /* IRDA Transmit Pulse Length 0 */\r
6172 #define UCIRTXCLK_L            (0x0002)       /* IRDA Transmit Pulse Clock Select */\r
6173 #define UCIREN_L               (0x0001)       /* IRDA Encoder/Decoder enable */\r
6174 \r
6175 /* UCAxIRCTL Control Bits */\r
6176 #define UCIRRXFL5_H            (0x0080)       /* IRDA Receive Filter Length 5 */\r
6177 #define UCIRRXFL4_H            (0x0040)       /* IRDA Receive Filter Length 4 */\r
6178 #define UCIRRXFL3_H            (0x0020)       /* IRDA Receive Filter Length 3 */\r
6179 #define UCIRRXFL2_H            (0x0010)       /* IRDA Receive Filter Length 2 */\r
6180 #define UCIRRXFL1_H            (0x0008)       /* IRDA Receive Filter Length 1 */\r
6181 #define UCIRRXFL0_H            (0x0004)       /* IRDA Receive Filter Length 0 */\r
6182 #define UCIRRXPL_H             (0x0002)       /* IRDA Receive Input Polarity */\r
6183 #define UCIRRXFE_H             (0x0001)       /* IRDA Receive Filter enable */\r
6184 \r
6185 /* UCAxABCTL Control Bits */\r
6186 //#define res               (0x80)    /* reserved */\r
6187 //#define res               (0x40)    /* reserved */\r
6188 #define UCDELIM1               (0x20)         /* Break Sync Delimiter 1 */\r
6189 #define UCDELIM0               (0x10)         /* Break Sync Delimiter 0 */\r
6190 #define UCSTOE                 (0x08)         /* Sync-Field Timeout error */\r
6191 #define UCBTOE                 (0x04)         /* Break Timeout error */\r
6192 //#define res               (0x02)    /* reserved */\r
6193 #define UCABDEN                (0x01)         /* Auto Baud Rate detect enable */\r
6194 \r
6195 /* UCBxI2COA0 Control Bits */\r
6196 #define UCGCEN                 (0x8000)       /* I2C General Call enable */\r
6197 #define UCOAEN                 (0x0400)       /* I2C Own Address enable */\r
6198 #define UCOA9                  (0x0200)       /* I2C Own Address Bit 9 */\r
6199 #define UCOA8                  (0x0100)       /* I2C Own Address Bit 8 */\r
6200 #define UCOA7                  (0x0080)       /* I2C Own Address Bit 7 */\r
6201 #define UCOA6                  (0x0040)       /* I2C Own Address Bit 6 */\r
6202 #define UCOA5                  (0x0020)       /* I2C Own Address Bit 5 */\r
6203 #define UCOA4                  (0x0010)       /* I2C Own Address Bit 4 */\r
6204 #define UCOA3                  (0x0008)       /* I2C Own Address Bit 3 */\r
6205 #define UCOA2                  (0x0004)       /* I2C Own Address Bit 2 */\r
6206 #define UCOA1                  (0x0002)       /* I2C Own Address Bit 1 */\r
6207 #define UCOA0                  (0x0001)       /* I2C Own Address Bit 0 */\r
6208 \r
6209 /* UCBxI2COA0 Control Bits */\r
6210 #define UCOA7_L                (0x0080)       /* I2C Own Address Bit 7 */\r
6211 #define UCOA6_L                (0x0040)       /* I2C Own Address Bit 6 */\r
6212 #define UCOA5_L                (0x0020)       /* I2C Own Address Bit 5 */\r
6213 #define UCOA4_L                (0x0010)       /* I2C Own Address Bit 4 */\r
6214 #define UCOA3_L                (0x0008)       /* I2C Own Address Bit 3 */\r
6215 #define UCOA2_L                (0x0004)       /* I2C Own Address Bit 2 */\r
6216 #define UCOA1_L                (0x0002)       /* I2C Own Address Bit 1 */\r
6217 #define UCOA0_L                (0x0001)       /* I2C Own Address Bit 0 */\r
6218 \r
6219 /* UCBxI2COA0 Control Bits */\r
6220 #define UCGCEN_H               (0x0080)       /* I2C General Call enable */\r
6221 #define UCOAEN_H               (0x0004)       /* I2C Own Address enable */\r
6222 #define UCOA9_H                (0x0002)       /* I2C Own Address Bit 9 */\r
6223 #define UCOA8_H                (0x0001)       /* I2C Own Address Bit 8 */\r
6224 \r
6225 /* UCBxI2COAx Control Bits */\r
6226 #define UCOAEN                 (0x0400)       /* I2C Own Address enable */\r
6227 #define UCOA9                  (0x0200)       /* I2C Own Address Bit 9 */\r
6228 #define UCOA8                  (0x0100)       /* I2C Own Address Bit 8 */\r
6229 #define UCOA7                  (0x0080)       /* I2C Own Address Bit 7 */\r
6230 #define UCOA6                  (0x0040)       /* I2C Own Address Bit 6 */\r
6231 #define UCOA5                  (0x0020)       /* I2C Own Address Bit 5 */\r
6232 #define UCOA4                  (0x0010)       /* I2C Own Address Bit 4 */\r
6233 #define UCOA3                  (0x0008)       /* I2C Own Address Bit 3 */\r
6234 #define UCOA2                  (0x0004)       /* I2C Own Address Bit 2 */\r
6235 #define UCOA1                  (0x0002)       /* I2C Own Address Bit 1 */\r
6236 #define UCOA0                  (0x0001)       /* I2C Own Address Bit 0 */\r
6237 \r
6238 /* UCBxI2COAx Control Bits */\r
6239 #define UCOA7_L                (0x0080)       /* I2C Own Address Bit 7 */\r
6240 #define UCOA6_L                (0x0040)       /* I2C Own Address Bit 6 */\r
6241 #define UCOA5_L                (0x0020)       /* I2C Own Address Bit 5 */\r
6242 #define UCOA4_L                (0x0010)       /* I2C Own Address Bit 4 */\r
6243 #define UCOA3_L                (0x0008)       /* I2C Own Address Bit 3 */\r
6244 #define UCOA2_L                (0x0004)       /* I2C Own Address Bit 2 */\r
6245 #define UCOA1_L                (0x0002)       /* I2C Own Address Bit 1 */\r
6246 #define UCOA0_L                (0x0001)       /* I2C Own Address Bit 0 */\r
6247 \r
6248 /* UCBxI2COAx Control Bits */\r
6249 #define UCOAEN_H               (0x0004)       /* I2C Own Address enable */\r
6250 #define UCOA9_H                (0x0002)       /* I2C Own Address Bit 9 */\r
6251 #define UCOA8_H                (0x0001)       /* I2C Own Address Bit 8 */\r
6252 \r
6253 /* UCBxADDRX Control Bits */\r
6254 #define UCADDRX9               (0x0200)       /* I2C Receive Address Bit 9 */\r
6255 #define UCADDRX8               (0x0100)       /* I2C Receive Address Bit 8 */\r
6256 #define UCADDRX7               (0x0080)       /* I2C Receive Address Bit 7 */\r
6257 #define UCADDRX6               (0x0040)       /* I2C Receive Address Bit 6 */\r
6258 #define UCADDRX5               (0x0020)       /* I2C Receive Address Bit 5 */\r
6259 #define UCADDRX4               (0x0010)       /* I2C Receive Address Bit 4 */\r
6260 #define UCADDRX3               (0x0008)       /* I2C Receive Address Bit 3 */\r
6261 #define UCADDRX2               (0x0004)       /* I2C Receive Address Bit 2 */\r
6262 #define UCADDRX1               (0x0002)       /* I2C Receive Address Bit 1 */\r
6263 #define UCADDRX0               (0x0001)       /* I2C Receive Address Bit 0 */\r
6264 \r
6265 /* UCBxADDRX Control Bits */\r
6266 #define UCADDRX7_L             (0x0080)       /* I2C Receive Address Bit 7 */\r
6267 #define UCADDRX6_L             (0x0040)       /* I2C Receive Address Bit 6 */\r
6268 #define UCADDRX5_L             (0x0020)       /* I2C Receive Address Bit 5 */\r
6269 #define UCADDRX4_L             (0x0010)       /* I2C Receive Address Bit 4 */\r
6270 #define UCADDRX3_L             (0x0008)       /* I2C Receive Address Bit 3 */\r
6271 #define UCADDRX2_L             (0x0004)       /* I2C Receive Address Bit 2 */\r
6272 #define UCADDRX1_L             (0x0002)       /* I2C Receive Address Bit 1 */\r
6273 #define UCADDRX0_L             (0x0001)       /* I2C Receive Address Bit 0 */\r
6274 \r
6275 /* UCBxADDRX Control Bits */\r
6276 #define UCADDRX9_H             (0x0002)       /* I2C Receive Address Bit 9 */\r
6277 #define UCADDRX8_H             (0x0001)       /* I2C Receive Address Bit 8 */\r
6278 \r
6279 /* UCBxADDMASK Control Bits */\r
6280 #define UCADDMASK9             (0x0200)       /* I2C Address Mask Bit 9 */\r
6281 #define UCADDMASK8             (0x0100)       /* I2C Address Mask Bit 8 */\r
6282 #define UCADDMASK7             (0x0080)       /* I2C Address Mask Bit 7 */\r
6283 #define UCADDMASK6             (0x0040)       /* I2C Address Mask Bit 6 */\r
6284 #define UCADDMASK5             (0x0020)       /* I2C Address Mask Bit 5 */\r
6285 #define UCADDMASK4             (0x0010)       /* I2C Address Mask Bit 4 */\r
6286 #define UCADDMASK3             (0x0008)       /* I2C Address Mask Bit 3 */\r
6287 #define UCADDMASK2             (0x0004)       /* I2C Address Mask Bit 2 */\r
6288 #define UCADDMASK1             (0x0002)       /* I2C Address Mask Bit 1 */\r
6289 #define UCADDMASK0             (0x0001)       /* I2C Address Mask Bit 0 */\r
6290 \r
6291 /* UCBxADDMASK Control Bits */\r
6292 #define UCADDMASK7_L           (0x0080)       /* I2C Address Mask Bit 7 */\r
6293 #define UCADDMASK6_L           (0x0040)       /* I2C Address Mask Bit 6 */\r
6294 #define UCADDMASK5_L           (0x0020)       /* I2C Address Mask Bit 5 */\r
6295 #define UCADDMASK4_L           (0x0010)       /* I2C Address Mask Bit 4 */\r
6296 #define UCADDMASK3_L           (0x0008)       /* I2C Address Mask Bit 3 */\r
6297 #define UCADDMASK2_L           (0x0004)       /* I2C Address Mask Bit 2 */\r
6298 #define UCADDMASK1_L           (0x0002)       /* I2C Address Mask Bit 1 */\r
6299 #define UCADDMASK0_L           (0x0001)       /* I2C Address Mask Bit 0 */\r
6300 \r
6301 /* UCBxADDMASK Control Bits */\r
6302 #define UCADDMASK9_H           (0x0002)       /* I2C Address Mask Bit 9 */\r
6303 #define UCADDMASK8_H           (0x0001)       /* I2C Address Mask Bit 8 */\r
6304 \r
6305 /* UCBxI2CSA Control Bits */\r
6306 #define UCSA9                  (0x0200)       /* I2C Slave Address Bit 9 */\r
6307 #define UCSA8                  (0x0100)       /* I2C Slave Address Bit 8 */\r
6308 #define UCSA7                  (0x0080)       /* I2C Slave Address Bit 7 */\r
6309 #define UCSA6                  (0x0040)       /* I2C Slave Address Bit 6 */\r
6310 #define UCSA5                  (0x0020)       /* I2C Slave Address Bit 5 */\r
6311 #define UCSA4                  (0x0010)       /* I2C Slave Address Bit 4 */\r
6312 #define UCSA3                  (0x0008)       /* I2C Slave Address Bit 3 */\r
6313 #define UCSA2                  (0x0004)       /* I2C Slave Address Bit 2 */\r
6314 #define UCSA1                  (0x0002)       /* I2C Slave Address Bit 1 */\r
6315 #define UCSA0                  (0x0001)       /* I2C Slave Address Bit 0 */\r
6316 \r
6317 /* UCBxI2CSA Control Bits */\r
6318 #define UCSA7_L                (0x0080)       /* I2C Slave Address Bit 7 */\r
6319 #define UCSA6_L                (0x0040)       /* I2C Slave Address Bit 6 */\r
6320 #define UCSA5_L                (0x0020)       /* I2C Slave Address Bit 5 */\r
6321 #define UCSA4_L                (0x0010)       /* I2C Slave Address Bit 4 */\r
6322 #define UCSA3_L                (0x0008)       /* I2C Slave Address Bit 3 */\r
6323 #define UCSA2_L                (0x0004)       /* I2C Slave Address Bit 2 */\r
6324 #define UCSA1_L                (0x0002)       /* I2C Slave Address Bit 1 */\r
6325 #define UCSA0_L                (0x0001)       /* I2C Slave Address Bit 0 */\r
6326 \r
6327 /* UCBxI2CSA Control Bits */\r
6328 #define UCSA9_H                (0x0002)       /* I2C Slave Address Bit 9 */\r
6329 #define UCSA8_H                (0x0001)       /* I2C Slave Address Bit 8 */\r
6330 \r
6331 /* UCAxIE UART Control Bits */\r
6332 #define UCTXCPTIE              (0x0008)       /* UART Transmit Complete Interrupt Enable */\r
6333 #define UCSTTIE                (0x0004)       /* UART Start Bit Interrupt Enalble */\r
6334 #define UCTXIE                 (0x0002)       /* UART Transmit Interrupt Enable */\r
6335 #define UCRXIE                 (0x0001)       /* UART Receive Interrupt Enable */\r
6336 \r
6337 /* UCAxIE/UCBxIE SPI Control Bits */\r
6338 \r
6339 /* UCBxIE I2C Control Bits */\r
6340 #define UCBIT9IE               (0x4000)       /* I2C Bit 9 Position Interrupt Enable 3 */\r
6341 #define UCTXIE3                (0x2000)       /* I2C Transmit Interrupt Enable 3 */\r
6342 #define UCRXIE3                (0x1000)       /* I2C Receive Interrupt Enable 3 */\r
6343 #define UCTXIE2                (0x0800)       /* I2C Transmit Interrupt Enable 2 */\r
6344 #define UCRXIE2                (0x0400)       /* I2C Receive Interrupt Enable 2 */\r
6345 #define UCTXIE1                (0x0200)       /* I2C Transmit Interrupt Enable 1 */\r
6346 #define UCRXIE1                (0x0100)       /* I2C Receive Interrupt Enable 1 */\r
6347 #define UCCLTOIE               (0x0080)       /* I2C Clock Low Timeout interrupt enable */\r
6348 #define UCBCNTIE               (0x0040)       /* I2C Automatic stop assertion interrupt enable */\r
6349 #define UCNACKIE               (0x0020)       /* I2C NACK Condition interrupt enable */\r
6350 #define UCALIE                 (0x0010)       /* I2C Arbitration Lost interrupt enable */\r
6351 #define UCSTPIE                (0x0008)       /* I2C STOP Condition interrupt enable */\r
6352 #define UCSTTIE                (0x0004)       /* I2C START Condition interrupt enable */\r
6353 #define UCTXIE0                (0x0002)       /* I2C Transmit Interrupt Enable 0 */\r
6354 #define UCRXIE0                (0x0001)       /* I2C Receive Interrupt Enable 0 */\r
6355 \r
6356 /* UCAxIFG UART Control Bits */\r
6357 #define UCTXCPTIFG             (0x0008)       /* UART Transmit Complete Interrupt Flag */\r
6358 #define UCSTTIFG               (0x0004)       /* UART Start Bit Interrupt Flag */\r
6359 #define UCTXIFG                (0x0002)       /* UART Transmit Interrupt Flag */\r
6360 #define UCRXIFG                (0x0001)       /* UART Receive Interrupt Flag */\r
6361 \r
6362 /* UCAxIFG/UCBxIFG SPI Control Bits */\r
6363 #define UCTXIFG                (0x0002)       /* SPI Transmit Interrupt Flag */\r
6364 #define UCRXIFG                (0x0001)       /* SPI Receive Interrupt Flag */\r
6365 \r
6366 /* UCBxIFG Control Bits */\r
6367 #define UCBIT9IFG              (0x4000)       /* I2C Bit 9 Possition Interrupt Flag 3 */\r
6368 #define UCTXIFG3               (0x2000)       /* I2C Transmit Interrupt Flag 3 */\r
6369 #define UCRXIFG3               (0x1000)       /* I2C Receive Interrupt Flag 3 */\r
6370 #define UCTXIFG2               (0x0800)       /* I2C Transmit Interrupt Flag 2 */\r
6371 #define UCRXIFG2               (0x0400)       /* I2C Receive Interrupt Flag 2 */\r
6372 #define UCTXIFG1               (0x0200)       /* I2C Transmit Interrupt Flag 1 */\r
6373 #define UCRXIFG1               (0x0100)       /* I2C Receive Interrupt Flag 1 */\r
6374 #define UCCLTOIFG              (0x0080)       /* I2C Clock low Timeout interrupt Flag */\r
6375 #define UCBCNTIFG              (0x0040)       /* I2C Byte counter interrupt flag */\r
6376 #define UCNACKIFG              (0x0020)       /* I2C NACK Condition interrupt Flag */\r
6377 #define UCALIFG                (0x0010)       /* I2C Arbitration Lost interrupt Flag */\r
6378 #define UCSTPIFG               (0x0008)       /* I2C STOP Condition interrupt Flag */\r
6379 #define UCSTTIFG               (0x0004)       /* I2C START Condition interrupt Flag */\r
6380 #define UCTXIFG0               (0x0002)       /* I2C Transmit Interrupt Flag 0 */\r
6381 #define UCRXIFG0               (0x0001)       /* I2C Receive Interrupt Flag 0 */\r
6382 \r
6383 /* USCI UART Definitions */\r
6384 #define USCI_NONE              (0x0000)       /* No Interrupt pending */\r
6385 #define USCI_UART_UCRXIFG      (0x0002)       /* USCI UCRXIFG */\r
6386 #define USCI_UART_UCTXIFG      (0x0004)       /* USCI UCTXIFG */\r
6387 #define USCI_UART_UCSTTIFG     (0x0006)       /* USCI UCSTTIFG */\r
6388 #define USCI_UART_UCTXCPTIFG   (0x0008)       /* USCI UCTXCPTIFG */\r
6389 \r
6390 /* USCI SPI Definitions */\r
6391 #define USCI_SPI_UCRXIFG       (0x0002)       /* USCI UCRXIFG */\r
6392 #define USCI_SPI_UCTXIFG       (0x0004)       /* USCI UCTXIFG */\r
6393 \r
6394 /* USCI I2C Definitions */\r
6395 #define USCI_I2C_UCALIFG       (0x0002)       /* USCI I2C Mode: UCALIFG */\r
6396 #define USCI_I2C_UCNACKIFG     (0x0004)       /* USCI I2C Mode: UCNACKIFG */\r
6397 #define USCI_I2C_UCSTTIFG      (0x0006)       /* USCI I2C Mode: UCSTTIFG*/\r
6398 #define USCI_I2C_UCSTPIFG      (0x0008)       /* USCI I2C Mode: UCSTPIFG*/\r
6399 #define USCI_I2C_UCRXIFG3      (0x000A)       /* USCI I2C Mode: UCRXIFG3 */\r
6400 #define USCI_I2C_UCTXIFG3      (0x000C)       /* USCI I2C Mode: UCTXIFG3 */\r
6401 #define USCI_I2C_UCRXIFG2      (0x000E)       /* USCI I2C Mode: UCRXIFG2 */\r
6402 #define USCI_I2C_UCTXIFG2      (0x0010)       /* USCI I2C Mode: UCTXIFG2 */\r
6403 #define USCI_I2C_UCRXIFG1      (0x0012)       /* USCI I2C Mode: UCRXIFG1 */\r
6404 #define USCI_I2C_UCTXIFG1      (0x0014)       /* USCI I2C Mode: UCTXIFG1 */\r
6405 #define USCI_I2C_UCRXIFG0      (0x0016)       /* USCI I2C Mode: UCRXIFG0 */\r
6406 #define USCI_I2C_UCTXIFG0      (0x0018)       /* USCI I2C Mode: UCTXIFG0 */\r
6407 #define USCI_I2C_UCBCNTIFG     (0x001A)       /* USCI I2C Mode: UCBCNTIFG */\r
6408 #define USCI_I2C_UCCLTOIFG     (0x001C)       /* USCI I2C Mode: UCCLTOIFG */\r
6409 #define USCI_I2C_UCBIT9IFG     (0x001E)       /* USCI I2C Mode: UCBIT9IFG */\r
6410 \r
6411 #endif\r
6412 /************************************************************\r
6413 * WATCHDOG TIMER A\r
6414 ************************************************************/\r
6415 #ifdef  __MSP430_HAS_WDT_A__          /* Definition to show that Module is available */\r
6416 \r
6417 #define OFS_WDTCTL             (0x000C)       /* Watchdog Timer Control */\r
6418 #define OFS_WDTCTL_L           OFS_WDTCTL\r
6419 #define OFS_WDTCTL_H           OFS_WDTCTL+1\r
6420 /* The bit names have been prefixed with "WDT" */\r
6421 /* WDTCTL Control Bits */\r
6422 #define WDTIS0                 (0x0001)       /* WDT - Timer Interval Select 0 */\r
6423 #define WDTIS1                 (0x0002)       /* WDT - Timer Interval Select 1 */\r
6424 #define WDTIS2                 (0x0004)       /* WDT - Timer Interval Select 2 */\r
6425 #define WDTCNTCL               (0x0008)       /* WDT - Timer Clear */\r
6426 #define WDTTMSEL               (0x0010)       /* WDT - Timer Mode Select */\r
6427 #define WDTSSEL0               (0x0020)       /* WDT - Timer Clock Source Select 0 */\r
6428 #define WDTSSEL1               (0x0040)       /* WDT - Timer Clock Source Select 1 */\r
6429 #define WDTHOLD                (0x0080)       /* WDT - Timer hold */\r
6430 \r
6431 /* WDTCTL Control Bits */\r
6432 #define WDTIS0_L               (0x0001)       /* WDT - Timer Interval Select 0 */\r
6433 #define WDTIS1_L               (0x0002)       /* WDT - Timer Interval Select 1 */\r
6434 #define WDTIS2_L               (0x0004)       /* WDT - Timer Interval Select 2 */\r
6435 #define WDTCNTCL_L             (0x0008)       /* WDT - Timer Clear */\r
6436 #define WDTTMSEL_L             (0x0010)       /* WDT - Timer Mode Select */\r
6437 #define WDTSSEL0_L             (0x0020)       /* WDT - Timer Clock Source Select 0 */\r
6438 #define WDTSSEL1_L             (0x0040)       /* WDT - Timer Clock Source Select 1 */\r
6439 #define WDTHOLD_L              (0x0080)       /* WDT - Timer hold */\r
6440 \r
6441 #define WDTPW                  (0x5A00)\r
6442 \r
6443 #define WDTIS_0                (0*0x0001u)    /* WDT - Timer Interval Select: /2G */\r
6444 #define WDTIS_1                (1*0x0001u)    /* WDT - Timer Interval Select: /128M */\r
6445 #define WDTIS_2                (2*0x0001u)    /* WDT - Timer Interval Select: /8192k */\r
6446 #define WDTIS_3                (3*0x0001u)    /* WDT - Timer Interval Select: /512k */\r
6447 #define WDTIS_4                (4*0x0001u)    /* WDT - Timer Interval Select: /32k */\r
6448 #define WDTIS_5                (5*0x0001u)    /* WDT - Timer Interval Select: /8192 */\r
6449 #define WDTIS_6                (6*0x0001u)    /* WDT - Timer Interval Select: /512 */\r
6450 #define WDTIS_7                (7*0x0001u)    /* WDT - Timer Interval Select: /64 */\r
6451 #define WDTIS__2G              (0*0x0001u)    /* WDT - Timer Interval Select: /2G */\r
6452 #define WDTIS__128M            (1*0x0001u)    /* WDT - Timer Interval Select: /128M */\r
6453 #define WDTIS__8192K           (2*0x0001u)    /* WDT - Timer Interval Select: /8192k */\r
6454 #define WDTIS__512K            (3*0x0001u)    /* WDT - Timer Interval Select: /512k */\r
6455 #define WDTIS__32K             (4*0x0001u)    /* WDT - Timer Interval Select: /32k */\r
6456 #define WDTIS__8192            (5*0x0001u)    /* WDT - Timer Interval Select: /8192 */\r
6457 #define WDTIS__512             (6*0x0001u)    /* WDT - Timer Interval Select: /512 */\r
6458 #define WDTIS__64              (7*0x0001u)    /* WDT - Timer Interval Select: /64 */\r
6459 \r
6460 #define WDTSSEL_0              (0*0x0020u)    /* WDT - Timer Clock Source Select: SMCLK */\r
6461 #define WDTSSEL_1              (1*0x0020u)    /* WDT - Timer Clock Source Select: ACLK */\r
6462 #define WDTSSEL_2              (2*0x0020u)    /* WDT - Timer Clock Source Select: VLO_CLK */\r
6463 #define WDTSSEL_3              (3*0x0020u)    /* WDT - Timer Clock Source Select: reserved */\r
6464 #define WDTSSEL__SMCLK         (0*0x0020u)    /* WDT - Timer Clock Source Select: SMCLK */\r
6465 #define WDTSSEL__ACLK          (1*0x0020u)    /* WDT - Timer Clock Source Select: ACLK */\r
6466 #define WDTSSEL__VLO           (2*0x0020u)    /* WDT - Timer Clock Source Select: VLO_CLK */\r
6467 \r
6468 /* WDT-interval times [1ms] coded with Bits 0-2 */\r
6469 /* WDT is clocked by fSMCLK (assumed 1MHz) */\r
6470 #define WDT_MDLY_32         (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS2)                         /* 32ms interval (default) */\r
6471 #define WDT_MDLY_8          (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS2+WDTIS0)                  /* 8ms     " */\r
6472 #define WDT_MDLY_0_5        (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS2+WDTIS1)                  /* 0.5ms   " */\r
6473 #define WDT_MDLY_0_064      (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS2+WDTIS1+WDTIS0)           /* 0.064ms " */\r
6474 /* WDT is clocked by fACLK (assumed 32KHz) */\r
6475 #define WDT_ADLY_1000       (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS2+WDTSSEL0)                /* 1000ms  " */\r
6476 #define WDT_ADLY_250        (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS2+WDTSSEL0+WDTIS0)         /* 250ms   " */\r
6477 #define WDT_ADLY_16         (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS2+WDTSSEL0+WDTIS1)         /* 16ms    " */\r
6478 #define WDT_ADLY_1_9        (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS2+WDTSSEL0+WDTIS1+WDTIS0)  /* 1.9ms   " */\r
6479 /* Watchdog mode -> reset after expired time */\r
6480 /* WDT is clocked by fSMCLK (assumed 1MHz) */\r
6481 #define WDT_MRST_32         (WDTPW+WDTCNTCL+WDTIS2)                                  /* 32ms interval (default) */\r
6482 #define WDT_MRST_8          (WDTPW+WDTCNTCL+WDTIS2+WDTIS0)                           /* 8ms     " */\r
6483 #define WDT_MRST_0_5        (WDTPW+WDTCNTCL+WDTIS2+WDTIS1)                           /* 0.5ms   " */\r
6484 #define WDT_MRST_0_064      (WDTPW+WDTCNTCL+WDTIS2+WDTIS1+WDTIS0)                    /* 0.064ms " */\r
6485 /* WDT is clocked by fACLK (assumed 32KHz) */\r
6486 #define WDT_ARST_1000       (WDTPW+WDTCNTCL+WDTSSEL0+WDTIS2)                         /* 1000ms  " */\r
6487 #define WDT_ARST_250        (WDTPW+WDTCNTCL+WDTSSEL0+WDTIS2+WDTIS0)                  /* 250ms   " */\r
6488 #define WDT_ARST_16         (WDTPW+WDTCNTCL+WDTSSEL0+WDTIS2+WDTIS1)                  /* 16ms    " */\r
6489 #define WDT_ARST_1_9        (WDTPW+WDTCNTCL+WDTSSEL0+WDTIS2+WDTIS1+WDTIS0)           /* 1.9ms   " */\r
6490 \r
6491 #endif\r
6492 \r
6493 /************************************************************\r
6494 * TLV Descriptors\r
6495 ************************************************************/\r
6496 #define __MSP430_HAS_TLV__                    /* Definition to show that Module is available */\r
6497 #define TLV_BASE               __MSP430_BASEADDRESS_TLV__\r
6498 \r
6499 #define TLV_START              (0x1A08)       /* Start Address of the TLV structure */\r
6500 #define TLV_END                (0x1AFF)       /* End Address of the TLV structure */\r
6501 \r
6502 #define TLV_LDTAG              (0x01)         /*  Legacy descriptor (1xx, 2xx, 4xx families) */\r
6503 #define TLV_PDTAG              (0x02)         /*  Peripheral discovery descriptor */\r
6504 #define TLV_Reserved3          (0x03)         /*  Future usage */\r
6505 #define TLV_Reserved4          (0x04)         /*  Future usage */\r
6506 #define TLV_BLANK              (0x05)         /*  Blank descriptor */\r
6507 #define TLV_Reserved6          (0x06)         /*  Future usage */\r
6508 #define TLV_Reserved7          (0x07)         /*  Serial Number */\r
6509 #define TLV_DIERECORD          (0x08)         /*  Die Record  */\r
6510 #define TLV_ADCCAL             (0x11)         /*  ADC12 calibration */\r
6511 #define TLV_ADC12CAL           (0x11)         /*  ADC12 calibration */\r
6512 #define TLV_REFCAL             (0x12)         /*  REF calibration */\r
6513 #define TLV_ADC10CAL           (0x13)         /*  ADC10 calibration */\r
6514 #define TLV_TIMERDCAL          (0x15)         /*  TIMER_D calibration */\r
6515 #define TLV_TAGEXT             (0xFE)         /*  Tag extender */\r
6516 #define TLV_TAGEND             (0xFF)         /*  Tag End of Table */\r
6517 \r
6518 /************************************************************\r
6519 * Interrupt Vectors (offset from 0xFF80)\r
6520 ************************************************************/\r
6521 \r
6522 #pragma diag_suppress 1107\r
6523 #define VECTOR_NAME(name)             name##_ptr\r
6524 #define EMIT_PRAGMA(x)                _Pragma(#x)\r
6525 #define CREATE_VECTOR(name)           void * const VECTOR_NAME(name) = (void *)(long)&name\r
6526 #define PLACE_VECTOR(vector,section)  EMIT_PRAGMA(DATA_SECTION(vector,section))\r
6527 #define PLACE_INTERRUPT(func)         EMIT_PRAGMA(CODE_SECTION(func,".text:_isr"))\r
6528 #define ISR_VECTOR(func,offset)       CREATE_VECTOR(func); \\r
6529                                       PLACE_VECTOR(VECTOR_NAME(func), offset) \\r
6530                                       PLACE_INTERRUPT(func)\r
6531 \r
6532 \r
6533 /************************************************************\r
6534 * End of Modules\r
6535 ************************************************************/\r
6536 \r
6537 #ifdef __cplusplus\r
6538 }\r
6539 #endif /* extern "C" */\r
6540 \r
6541 #endif /* #ifndef __msp430FR5XX_FR6XXGENERIC */\r
6542 \r