]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/Common/drivers/LuminaryMicro/hw_adc.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / Common / drivers / LuminaryMicro / hw_adc.h
1 //*****************************************************************************\r
2 //\r
3 // hw_adc.h - Macros used when accessing the ADC hardware.\r
4 //\r
5 // Copyright (c) 2005-2008 Luminary Micro, Inc.  All rights reserved.\r
6 // \r
7 // Software License Agreement\r
8 // \r
9 // Luminary Micro, Inc. (LMI) is supplying this software for use solely and\r
10 // exclusively on LMI's microcontroller products.\r
11 // \r
12 // The software is owned by LMI and/or its suppliers, and is protected under\r
13 // applicable copyright laws.  All rights are reserved.  You may not combine\r
14 // this software with "viral" open-source software in order to form a larger\r
15 // program.  Any use in violation of the foregoing restrictions may subject\r
16 // the user to criminal sanctions under applicable laws, as well as to civil\r
17 // liability for the breach of the terms and conditions of this license.\r
18 // \r
19 // THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED\r
20 // OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\r
21 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\r
22 // LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\r
23 // CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.\r
24 // \r
25 // This is part of revision 2523 of the Stellaris Peripheral Driver Library.\r
26 //\r
27 //*****************************************************************************\r
28 \r
29 #ifndef __HW_ADC_H__\r
30 #define __HW_ADC_H__\r
31 \r
32 //*****************************************************************************\r
33 //\r
34 // The following are defines for the ADC register offsets.\r
35 //\r
36 //*****************************************************************************\r
37 #define ADC_O_ACTSS             0x00000000  // Active sample register\r
38 #define ADC_O_RIS               0x00000004  // Raw interrupt status register\r
39 #define ADC_O_IM                0x00000008  // Interrupt mask register\r
40 #define ADC_O_ISC               0x0000000C  // Interrupt status/clear register\r
41 #define ADC_O_OSTAT             0x00000010  // Overflow status register\r
42 #define ADC_O_EMUX              0x00000014  // Event multiplexer select reg.\r
43 #define ADC_O_USTAT             0x00000018  // Underflow status register\r
44 #define ADC_O_SSPRI             0x00000020  // Channel priority register\r
45 #define ADC_O_PSSI              0x00000028  // Processor sample initiate reg.\r
46 #define ADC_O_SAC               0x00000030  // Sample Averaging Control reg.\r
47 #define ADC_O_SSMUX0            0x00000040  // Multiplexer select 0 register\r
48 #define ADC_O_SSCTL0            0x00000044  // Sample sequence control 0 reg.\r
49 #define ADC_O_SSFIFO0           0x00000048  // Result FIFO 0 register\r
50 #define ADC_O_SSFSTAT0          0x0000004C  // FIFO 0 status register\r
51 #define ADC_O_SSMUX1            0x00000060  // Multiplexer select 1 register\r
52 #define ADC_O_SSCTL1            0x00000064  // Sample sequence control 1 reg.\r
53 #define ADC_O_SSFIFO1           0x00000068  // Result FIFO 1 register\r
54 #define ADC_O_SSFSTAT1          0x0000006C  // FIFO 1 status register\r
55 #define ADC_O_SSMUX2            0x00000080  // Multiplexer select 2 register\r
56 #define ADC_O_SSCTL2            0x00000084  // Sample sequence control 2 reg.\r
57 #define ADC_O_SSFIFO2           0x00000088  // Result FIFO 2 register\r
58 #define ADC_O_SSFSTAT2          0x0000008C  // FIFO 2 status register\r
59 #define ADC_O_SSMUX3            0x000000A0  // Multiplexer select 3 register\r
60 #define ADC_O_SSCTL3            0x000000A4  // Sample sequence control 3 reg.\r
61 #define ADC_O_SSFIFO3           0x000000A8  // Result FIFO 3 register\r
62 #define ADC_O_SSFSTAT3          0x000000AC  // FIFO 3 status register\r
63 #define ADC_O_TMLB              0x00000100  // Test mode loopback register\r
64 \r
65 //*****************************************************************************\r
66 //\r
67 // The following are defines for the bit fields in the ADC_ACTSS register.\r
68 //\r
69 //*****************************************************************************\r
70 #define ADC_ACTSS_ASEN3         0x00000008  // Sample sequence 3 enable\r
71 #define ADC_ACTSS_ASEN2         0x00000004  // Sample sequence 2 enable\r
72 #define ADC_ACTSS_ASEN1         0x00000002  // Sample sequence 1 enable\r
73 #define ADC_ACTSS_ASEN0         0x00000001  // Sample sequence 0 enable\r
74 \r
75 //*****************************************************************************\r
76 //\r
77 // The following are defines for the bit fields in the ADC_RIS register.\r
78 //\r
79 //*****************************************************************************\r
80 #define ADC_RIS_INR3            0x00000008  // Sample sequence 3 interrupt\r
81 #define ADC_RIS_INR2            0x00000004  // Sample sequence 2 interrupt\r
82 #define ADC_RIS_INR1            0x00000002  // Sample sequence 1 interrupt\r
83 #define ADC_RIS_INR0            0x00000001  // Sample sequence 0 interrupt\r
84 \r
85 //*****************************************************************************\r
86 //\r
87 // The following are defines for the bit fields in the ADC_IM register.\r
88 //\r
89 //*****************************************************************************\r
90 #define ADC_IM_MASK3            0x00000008  // Sample sequence 3 mask\r
91 #define ADC_IM_MASK2            0x00000004  // Sample sequence 2 mask\r
92 #define ADC_IM_MASK1            0x00000002  // Sample sequence 1 mask\r
93 #define ADC_IM_MASK0            0x00000001  // Sample sequence 0 mask\r
94 \r
95 //*****************************************************************************\r
96 //\r
97 // The following are defines for the bit fields in the ADC_ISC register.\r
98 //\r
99 //*****************************************************************************\r
100 #define ADC_ISC_IN3             0x00000008  // Sample sequence 3 interrupt\r
101 #define ADC_ISC_IN2             0x00000004  // Sample sequence 2 interrupt\r
102 #define ADC_ISC_IN1             0x00000002  // Sample sequence 1 interrupt\r
103 #define ADC_ISC_IN0             0x00000001  // Sample sequence 0 interrupt\r
104 \r
105 //*****************************************************************************\r
106 //\r
107 // The following are defines for the bit fields in the ADC_OSTAT register.\r
108 //\r
109 //*****************************************************************************\r
110 #define ADC_OSTAT_OV3           0x00000008  // Sample sequence 3 overflow\r
111 #define ADC_OSTAT_OV2           0x00000004  // Sample sequence 2 overflow\r
112 #define ADC_OSTAT_OV1           0x00000002  // Sample sequence 1 overflow\r
113 #define ADC_OSTAT_OV0           0x00000001  // Sample sequence 0 overflow\r
114 \r
115 //*****************************************************************************\r
116 //\r
117 // The following are defines for the bit fields in the ADC_EMUX register.\r
118 //\r
119 //*****************************************************************************\r
120 #define ADC_EMUX_EM3_M          0x0000F000  // Event mux 3 mask\r
121 #define ADC_EMUX_EM3_PROCESSOR  0x00000000  // Processor event\r
122 #define ADC_EMUX_EM3_COMP0      0x00001000  // Analog comparator 0 event\r
123 #define ADC_EMUX_EM3_COMP1      0x00002000  // Analog comparator 1 event\r
124 #define ADC_EMUX_EM3_COMP2      0x00003000  // Analog comparator 2 event\r
125 #define ADC_EMUX_EM3_EXTERNAL   0x00004000  // External event\r
126 #define ADC_EMUX_EM3_TIMER      0x00005000  // Timer event\r
127 #define ADC_EMUX_EM3_PWM0       0x00006000  // PWM0 event\r
128 #define ADC_EMUX_EM3_PWM1       0x00007000  // PWM1 event\r
129 #define ADC_EMUX_EM3_PWM2       0x00008000  // PWM2 event\r
130 #define ADC_EMUX_EM3_ALWAYS     0x0000F000  // Always event\r
131 #define ADC_EMUX_EM2_M          0x00000F00  // Event mux 2 mask\r
132 #define ADC_EMUX_EM2_PROCESSOR  0x00000000  // Processor event\r
133 #define ADC_EMUX_EM2_COMP0      0x00000100  // Analog comparator 0 event\r
134 #define ADC_EMUX_EM2_COMP1      0x00000200  // Analog comparator 1 event\r
135 #define ADC_EMUX_EM2_COMP2      0x00000300  // Analog comparator 2 event\r
136 #define ADC_EMUX_EM2_EXTERNAL   0x00000400  // External event\r
137 #define ADC_EMUX_EM2_TIMER      0x00000500  // Timer event\r
138 #define ADC_EMUX_EM2_PWM0       0x00000600  // PWM0 event\r
139 #define ADC_EMUX_EM2_PWM1       0x00000700  // PWM1 event\r
140 #define ADC_EMUX_EM2_PWM2       0x00000800  // PWM2 event\r
141 #define ADC_EMUX_EM2_ALWAYS     0x00000F00  // Always event\r
142 #define ADC_EMUX_EM1_M          0x000000F0  // Event mux 1 mask\r
143 #define ADC_EMUX_EM1_PROCESSOR  0x00000000  // Processor event\r
144 #define ADC_EMUX_EM1_COMP0      0x00000010  // Analog comparator 0 event\r
145 #define ADC_EMUX_EM1_COMP1      0x00000020  // Analog comparator 1 event\r
146 #define ADC_EMUX_EM1_COMP2      0x00000030  // Analog comparator 2 event\r
147 #define ADC_EMUX_EM1_EXTERNAL   0x00000040  // External event\r
148 #define ADC_EMUX_EM1_TIMER      0x00000050  // Timer event\r
149 #define ADC_EMUX_EM1_PWM0       0x00000060  // PWM0 event\r
150 #define ADC_EMUX_EM1_PWM1       0x00000070  // PWM1 event\r
151 #define ADC_EMUX_EM1_PWM2       0x00000080  // PWM2 event\r
152 #define ADC_EMUX_EM1_ALWAYS     0x000000F0  // Always event\r
153 #define ADC_EMUX_EM0_M          0x0000000F  // Event mux 0 mask\r
154 #define ADC_EMUX_EM0_PROCESSOR  0x00000000  // Processor event\r
155 #define ADC_EMUX_EM0_COMP0      0x00000001  // Analog comparator 0 event\r
156 #define ADC_EMUX_EM0_COMP1      0x00000002  // Analog comparator 1 event\r
157 #define ADC_EMUX_EM0_COMP2      0x00000003  // Analog comparator 2 event\r
158 #define ADC_EMUX_EM0_EXTERNAL   0x00000004  // External event\r
159 #define ADC_EMUX_EM0_TIMER      0x00000005  // Timer event\r
160 #define ADC_EMUX_EM0_PWM0       0x00000006  // PWM0 event\r
161 #define ADC_EMUX_EM0_PWM1       0x00000007  // PWM1 event\r
162 #define ADC_EMUX_EM0_PWM2       0x00000008  // PWM2 event\r
163 #define ADC_EMUX_EM0_ALWAYS     0x0000000F  // Always event\r
164 \r
165 //*****************************************************************************\r
166 //\r
167 // The following are defines for the bit fields in the ADC_USTAT register.\r
168 //\r
169 //*****************************************************************************\r
170 #define ADC_USTAT_UV3           0x00000008  // Sample sequence 3 underflow\r
171 #define ADC_USTAT_UV2           0x00000004  // Sample sequence 2 underflow\r
172 #define ADC_USTAT_UV1           0x00000002  // Sample sequence 1 underflow\r
173 #define ADC_USTAT_UV0           0x00000001  // Sample sequence 0 underflow\r
174 \r
175 //*****************************************************************************\r
176 //\r
177 // The following are defines for the bit fields in the ADC_SSPRI register.\r
178 //\r
179 //*****************************************************************************\r
180 #define ADC_SSPRI_SS3_M         0x00003000  // Sequencer 3 priority mask\r
181 #define ADC_SSPRI_SS3_1ST       0x00000000  // First priority\r
182 #define ADC_SSPRI_SS3_2ND       0x00001000  // Second priority\r
183 #define ADC_SSPRI_SS3_3RD       0x00002000  // Third priority\r
184 #define ADC_SSPRI_SS3_4TH       0x00003000  // Fourth priority\r
185 #define ADC_SSPRI_SS2_M         0x00000300  // Sequencer 2 priority mask\r
186 #define ADC_SSPRI_SS2_1ST       0x00000000  // First priority\r
187 #define ADC_SSPRI_SS2_2ND       0x00000100  // Second priority\r
188 #define ADC_SSPRI_SS2_3RD       0x00000200  // Third priority\r
189 #define ADC_SSPRI_SS2_4TH       0x00000300  // Fourth priority\r
190 #define ADC_SSPRI_SS1_M         0x00000030  // Sequencer 1 priority mask\r
191 #define ADC_SSPRI_SS1_1ST       0x00000000  // First priority\r
192 #define ADC_SSPRI_SS1_2ND       0x00000010  // Second priority\r
193 #define ADC_SSPRI_SS1_3RD       0x00000020  // Third priority\r
194 #define ADC_SSPRI_SS1_4TH       0x00000030  // Fourth priority\r
195 #define ADC_SSPRI_SS0_M         0x00000003  // Sequencer 0 priority mask\r
196 #define ADC_SSPRI_SS0_1ST       0x00000000  // First priority\r
197 #define ADC_SSPRI_SS0_2ND       0x00000001  // Second priority\r
198 #define ADC_SSPRI_SS0_3RD       0x00000002  // Third priority\r
199 #define ADC_SSPRI_SS0_4TH       0x00000003  // Fourth priority\r
200 \r
201 //*****************************************************************************\r
202 //\r
203 // The following are defines for the bit fields in the ADC_PSSI register.\r
204 //\r
205 //*****************************************************************************\r
206 #define ADC_PSSI_SS3            0x00000008  // Trigger sample sequencer 3\r
207 #define ADC_PSSI_SS2            0x00000004  // Trigger sample sequencer 2\r
208 #define ADC_PSSI_SS1            0x00000002  // Trigger sample sequencer 1\r
209 #define ADC_PSSI_SS0            0x00000001  // Trigger sample sequencer 0\r
210 \r
211 //*****************************************************************************\r
212 //\r
213 // The following are defines for the bit fields in the ADC_SAC register.\r
214 //\r
215 //*****************************************************************************\r
216 #define ADC_SAC_AVG_M           0x00000007  // Hardware Averaging Control.\r
217 #define ADC_SAC_AVG_64X         0x00000006  // 64x hardware oversampling\r
218 #define ADC_SAC_AVG_32X         0x00000005  // 32x hardware oversampling\r
219 #define ADC_SAC_AVG_16X         0x00000004  // 16x hardware oversampling\r
220 #define ADC_SAC_AVG_8X          0x00000003  // 8x hardware oversampling\r
221 #define ADC_SAC_AVG_4X          0x00000002  // 4x hardware oversampling\r
222 #define ADC_SAC_AVG_2X          0x00000001  // 2x hardware oversampling\r
223 #define ADC_SAC_AVG_OFF         0x00000000  // No hardware oversampling\r
224 \r
225 //*****************************************************************************\r
226 //\r
227 // The following are defines for the bit fields in the ADC_TMLB register.\r
228 //\r
229 //*****************************************************************************\r
230 #define ADC_TMLB_CNT_M          0x000003C0  // Continuous Sample Counter.\r
231 #define ADC_TMLB_CONT           0x00000020  // Continuation Sample Indicator.\r
232 #define ADC_TMLB_DIFF           0x00000010  // Differential Sample Indicator.\r
233 #define ADC_TMLB_TS             0x00000008  // Temp Sensor Sample Indicator.\r
234 #define ADC_TMLB_MUX_M          0x00000007  // Analog Input Indicator.\r
235 #define ADC_TMLB_LB             0x00000001  // Loopback control signals\r
236 #define ADC_TMLB_CNT_S          6           // Sample counter shift\r
237 #define ADC_TMLB_MUX_S          0           // Input channel number shift\r
238 \r
239 //*****************************************************************************\r
240 //\r
241 // The following are defines for the bit fields in the ADC_O_SSMUX0 register.\r
242 //\r
243 //*****************************************************************************\r
244 #define ADC_SSMUX0_MUX7_M       0x70000000  // 8th Sample Input Select.\r
245 #define ADC_SSMUX0_MUX6_M       0x07000000  // 7th Sample Input Select.\r
246 #define ADC_SSMUX0_MUX5_M       0x00700000  // 6th Sample Input Select.\r
247 #define ADC_SSMUX0_MUX4_M       0x00070000  // 5th Sample Input Select.\r
248 #define ADC_SSMUX0_MUX3_M       0x00007000  // 4th Sample Input Select.\r
249 #define ADC_SSMUX0_MUX2_M       0x00000700  // 3rd Sample Input Select.\r
250 #define ADC_SSMUX0_MUX1_M       0x00000070  // 2nd Sample Input Select.\r
251 #define ADC_SSMUX0_MUX0_M       0x00000007  // 1st Sample Input Select.\r
252 #define ADC_SSMUX0_MUX7_S       28\r
253 #define ADC_SSMUX0_MUX6_S       24\r
254 #define ADC_SSMUX0_MUX5_S       20\r
255 #define ADC_SSMUX0_MUX4_S       16\r
256 #define ADC_SSMUX0_MUX3_S       12\r
257 #define ADC_SSMUX0_MUX2_S       8\r
258 #define ADC_SSMUX0_MUX1_S       4\r
259 #define ADC_SSMUX0_MUX0_S       0\r
260 \r
261 //*****************************************************************************\r
262 //\r
263 // The following are defines for the bit fields in the ADC_O_SSCTL0 register.\r
264 //\r
265 //*****************************************************************************\r
266 #define ADC_SSCTL0_TS7          0x80000000  // 8th Sample Temp Sensor Select.\r
267 #define ADC_SSCTL0_IE7          0x40000000  // 8th Sample Interrupt Enable.\r
268 #define ADC_SSCTL0_END7         0x20000000  // 8th Sample is End of Sequence.\r
269 #define ADC_SSCTL0_D7           0x10000000  // 8th Sample Diff Input Select.\r
270 #define ADC_SSCTL0_TS6          0x08000000  // 7th Sample Temp Sensor Select.\r
271 #define ADC_SSCTL0_IE6          0x04000000  // 7th Sample Interrupt Enable.\r
272 #define ADC_SSCTL0_END6         0x02000000  // 7th Sample is End of Sequence.\r
273 #define ADC_SSCTL0_D6           0x01000000  // 7th Sample Diff Input Select.\r
274 #define ADC_SSCTL0_TS5          0x00800000  // 6th Sample Temp Sensor Select.\r
275 #define ADC_SSCTL0_IE5          0x00400000  // 6th Sample Interrupt Enable.\r
276 #define ADC_SSCTL0_END5         0x00200000  // 6th Sample is End of Sequence.\r
277 #define ADC_SSCTL0_D5           0x00100000  // 6th Sample Diff Input Select.\r
278 #define ADC_SSCTL0_TS4          0x00080000  // 5th Sample Temp Sensor Select.\r
279 #define ADC_SSCTL0_IE4          0x00040000  // 5th Sample Interrupt Enable.\r
280 #define ADC_SSCTL0_END4         0x00020000  // 5th Sample is End of Sequence.\r
281 #define ADC_SSCTL0_D4           0x00010000  // 5th Sample Diff Input Select.\r
282 #define ADC_SSCTL0_TS3          0x00008000  // 4th Sample Temp Sensor Select.\r
283 #define ADC_SSCTL0_IE3          0x00004000  // 4th Sample Interrupt Enable.\r
284 #define ADC_SSCTL0_END3         0x00002000  // 4th Sample is End of Sequence.\r
285 #define ADC_SSCTL0_D3           0x00001000  // 4th Sample Diff Input Select.\r
286 #define ADC_SSCTL0_TS2          0x00000800  // 3rd Sample Temp Sensor Select.\r
287 #define ADC_SSCTL0_IE2          0x00000400  // 3rd Sample Interrupt Enable.\r
288 #define ADC_SSCTL0_END2         0x00000200  // 3rd Sample is End of Sequence.\r
289 #define ADC_SSCTL0_D2           0x00000100  // 3rd Sample Diff Input Select.\r
290 #define ADC_SSCTL0_TS1          0x00000080  // 2nd Sample Temp Sensor Select.\r
291 #define ADC_SSCTL0_IE1          0x00000040  // 2nd Sample Interrupt Enable.\r
292 #define ADC_SSCTL0_END1         0x00000020  // 2nd Sample is End of Sequence.\r
293 #define ADC_SSCTL0_D1           0x00000010  // 2nd Sample Diff Input Select.\r
294 #define ADC_SSCTL0_TS0          0x00000008  // 1st Sample Temp Sensor Select.\r
295 #define ADC_SSCTL0_IE0          0x00000004  // 1st Sample Interrupt Enable.\r
296 #define ADC_SSCTL0_END0         0x00000002  // 1st Sample is End of Sequence.\r
297 #define ADC_SSCTL0_D0           0x00000001  // 1st Sample Diff Input Select.\r
298 \r
299 //*****************************************************************************\r
300 //\r
301 // The following are defines for the bit fields in the ADC_O_SSFIFO0 register.\r
302 //\r
303 //*****************************************************************************\r
304 #define ADC_SSFIFO0_DATA_M      0x000003FF  // Conversion Result Data.\r
305 #define ADC_SSFIFO0_DATA_S      0\r
306 \r
307 //*****************************************************************************\r
308 //\r
309 // The following are defines for the bit fields in the ADC_O_SSFSTAT0 register.\r
310 //\r
311 //*****************************************************************************\r
312 #define ADC_SSFSTAT0_FULL       0x00001000  // FIFO Full.\r
313 #define ADC_SSFSTAT0_EMPTY      0x00000100  // FIFO Empty.\r
314 #define ADC_SSFSTAT0_HPTR_M     0x000000F0  // FIFO Head Pointer.\r
315 #define ADC_SSFSTAT0_TPTR_M     0x0000000F  // FIFO Tail Pointer.\r
316 #define ADC_SSFSTAT0_HPTR_S     4\r
317 #define ADC_SSFSTAT0_TPTR_S     0\r
318 \r
319 //*****************************************************************************\r
320 //\r
321 // The following are defines for the bit fields in the ADC_O_SSMUX1 register.\r
322 //\r
323 //*****************************************************************************\r
324 #define ADC_SSMUX1_MUX3_M       0x00007000  // 4th Sample Input Select.\r
325 #define ADC_SSMUX1_MUX2_M       0x00000700  // 3rd Sample Input Select.\r
326 #define ADC_SSMUX1_MUX1_M       0x00000070  // 2nd Sample Input Select.\r
327 #define ADC_SSMUX1_MUX0_M       0x00000007  // 1st Sample Input Select.\r
328 #define ADC_SSMUX1_MUX3_S       12\r
329 #define ADC_SSMUX1_MUX2_S       8\r
330 #define ADC_SSMUX1_MUX1_S       4\r
331 #define ADC_SSMUX1_MUX0_S       0\r
332 \r
333 //*****************************************************************************\r
334 //\r
335 // The following are defines for the bit fields in the ADC_O_SSCTL1 register.\r
336 //\r
337 //*****************************************************************************\r
338 #define ADC_SSCTL1_TS3          0x00008000  // 4th Sample Temp Sensor Select.\r
339 #define ADC_SSCTL1_IE3          0x00004000  // 4th Sample Interrupt Enable.\r
340 #define ADC_SSCTL1_END3         0x00002000  // 4th Sample is End of Sequence.\r
341 #define ADC_SSCTL1_D3           0x00001000  // 4th Sample Diff Input Select.\r
342 #define ADC_SSCTL1_TS2          0x00000800  // 3rd Sample Temp Sensor Select.\r
343 #define ADC_SSCTL1_IE2          0x00000400  // 3rd Sample Interrupt Enable.\r
344 #define ADC_SSCTL1_END2         0x00000200  // 3rd Sample is End of Sequence.\r
345 #define ADC_SSCTL1_D2           0x00000100  // 3rd Sample Diff Input Select.\r
346 #define ADC_SSCTL1_TS1          0x00000080  // 2nd Sample Temp Sensor Select.\r
347 #define ADC_SSCTL1_IE1          0x00000040  // 2nd Sample Interrupt Enable.\r
348 #define ADC_SSCTL1_END1         0x00000020  // 2nd Sample is End of Sequence.\r
349 #define ADC_SSCTL1_D1           0x00000010  // 2nd Sample Diff Input Select.\r
350 #define ADC_SSCTL1_TS0          0x00000008  // 1st Sample Temp Sensor Select.\r
351 #define ADC_SSCTL1_IE0          0x00000004  // 1st Sample Interrupt Enable.\r
352 #define ADC_SSCTL1_END0         0x00000002  // 1st Sample is End of Sequence.\r
353 #define ADC_SSCTL1_D0           0x00000001  // 1st Sample Diff Input Select.\r
354 \r
355 //*****************************************************************************\r
356 //\r
357 // The following are defines for the bit fields in the ADC_O_SSFIFO1 register.\r
358 //\r
359 //*****************************************************************************\r
360 #define ADC_SSFIFO1_DATA_M      0x000003FF  // Conversion Result Data.\r
361 #define ADC_SSFIFO1_DATA_S      0\r
362 \r
363 //*****************************************************************************\r
364 //\r
365 // The following are defines for the bit fields in the ADC_O_SSFSTAT1 register.\r
366 //\r
367 //*****************************************************************************\r
368 #define ADC_SSFSTAT1_FULL       0x00001000  // FIFO Full.\r
369 #define ADC_SSFSTAT1_EMPTY      0x00000100  // FIFO Empty.\r
370 #define ADC_SSFSTAT1_HPTR_M     0x000000F0  // FIFO Head Pointer.\r
371 #define ADC_SSFSTAT1_TPTR_M     0x0000000F  // FIFO Tail Pointer.\r
372 #define ADC_SSFSTAT1_HPTR_S     4\r
373 #define ADC_SSFSTAT1_TPTR_S     0\r
374 \r
375 //*****************************************************************************\r
376 //\r
377 // The following are defines for the bit fields in the ADC_O_SSMUX2 register.\r
378 //\r
379 //*****************************************************************************\r
380 #define ADC_SSMUX2_MUX3_M       0x00007000  // 4th Sample Input Select.\r
381 #define ADC_SSMUX2_MUX2_M       0x00000700  // 3rd Sample Input Select.\r
382 #define ADC_SSMUX2_MUX1_M       0x00000070  // 2nd Sample Input Select.\r
383 #define ADC_SSMUX2_MUX0_M       0x00000007  // 1st Sample Input Select.\r
384 #define ADC_SSMUX2_MUX3_S       12\r
385 #define ADC_SSMUX2_MUX2_S       8\r
386 #define ADC_SSMUX2_MUX1_S       4\r
387 #define ADC_SSMUX2_MUX0_S       0\r
388 \r
389 //*****************************************************************************\r
390 //\r
391 // The following are defines for the bit fields in the ADC_O_SSCTL2 register.\r
392 //\r
393 //*****************************************************************************\r
394 #define ADC_SSCTL2_TS3          0x00008000  // 4th Sample Temp Sensor Select.\r
395 #define ADC_SSCTL2_IE3          0x00004000  // 4th Sample Interrupt Enable.\r
396 #define ADC_SSCTL2_END3         0x00002000  // 4th Sample is End of Sequence.\r
397 #define ADC_SSCTL2_D3           0x00001000  // 4th Sample Diff Input Select.\r
398 #define ADC_SSCTL2_TS2          0x00000800  // 3rd Sample Temp Sensor Select.\r
399 #define ADC_SSCTL2_IE2          0x00000400  // 3rd Sample Interrupt Enable.\r
400 #define ADC_SSCTL2_END2         0x00000200  // 3rd Sample is End of Sequence.\r
401 #define ADC_SSCTL2_D2           0x00000100  // 3rd Sample Diff Input Select.\r
402 #define ADC_SSCTL2_TS1          0x00000080  // 2nd Sample Temp Sensor Select.\r
403 #define ADC_SSCTL2_IE1          0x00000040  // 2nd Sample Interrupt Enable.\r
404 #define ADC_SSCTL2_END1         0x00000020  // 2nd Sample is End of Sequence.\r
405 #define ADC_SSCTL2_D1           0x00000010  // 2nd Sample Diff Input Select.\r
406 #define ADC_SSCTL2_TS0          0x00000008  // 1st Sample Temp Sensor Select.\r
407 #define ADC_SSCTL2_IE0          0x00000004  // 1st Sample Interrupt Enable.\r
408 #define ADC_SSCTL2_END0         0x00000002  // 1st Sample is End of Sequence.\r
409 #define ADC_SSCTL2_D0           0x00000001  // 1st Sample Diff Input Select.\r
410 \r
411 //*****************************************************************************\r
412 //\r
413 // The following are defines for the bit fields in the ADC_O_SSFIFO2 register.\r
414 //\r
415 //*****************************************************************************\r
416 #define ADC_SSFIFO2_DATA_M      0x000003FF  // Conversion Result Data.\r
417 #define ADC_SSFIFO2_DATA_S      0\r
418 \r
419 //*****************************************************************************\r
420 //\r
421 // The following are defines for the bit fields in the ADC_O_SSFSTAT2 register.\r
422 //\r
423 //*****************************************************************************\r
424 #define ADC_SSFSTAT2_FULL       0x00001000  // FIFO Full.\r
425 #define ADC_SSFSTAT2_EMPTY      0x00000100  // FIFO Empty.\r
426 #define ADC_SSFSTAT2_HPTR_M     0x000000F0  // FIFO Head Pointer.\r
427 #define ADC_SSFSTAT2_TPTR_M     0x0000000F  // FIFO Tail Pointer.\r
428 #define ADC_SSFSTAT2_HPTR_S     4\r
429 #define ADC_SSFSTAT2_TPTR_S     0\r
430 \r
431 //*****************************************************************************\r
432 //\r
433 // The following are defines for the bit fields in the ADC_O_SSMUX3 register.\r
434 //\r
435 //*****************************************************************************\r
436 #define ADC_SSMUX3_MUX0_M       0x00000007  // 1st Sample Input Select.\r
437 #define ADC_SSMUX3_MUX0_S       0\r
438 \r
439 //*****************************************************************************\r
440 //\r
441 // The following are defines for the bit fields in the ADC_O_SSCTL3 register.\r
442 //\r
443 //*****************************************************************************\r
444 #define ADC_SSCTL3_TS0          0x00000008  // 1st Sample Temp Sensor Select.\r
445 #define ADC_SSCTL3_IE0          0x00000004  // 1st Sample Interrupt Enable.\r
446 #define ADC_SSCTL3_END0         0x00000002  // 1st Sample is End of Sequence.\r
447 #define ADC_SSCTL3_D0           0x00000001  // 1st Sample Diff Input Select.\r
448 \r
449 //*****************************************************************************\r
450 //\r
451 // The following are defines for the bit fields in the ADC_O_SSFIFO3 register.\r
452 //\r
453 //*****************************************************************************\r
454 #define ADC_SSFIFO3_DATA_M      0x000003FF  // Conversion Result Data.\r
455 #define ADC_SSFIFO3_DATA_S      0\r
456 \r
457 //*****************************************************************************\r
458 //\r
459 // The following are defines for the bit fields in the ADC_O_SSFSTAT3 register.\r
460 //\r
461 //*****************************************************************************\r
462 #define ADC_SSFSTAT3_FULL       0x00001000  // FIFO Full.\r
463 #define ADC_SSFSTAT3_EMPTY      0x00000100  // FIFO Empty.\r
464 #define ADC_SSFSTAT3_HPTR_M     0x000000F0  // FIFO Head Pointer.\r
465 #define ADC_SSFSTAT3_TPTR_M     0x0000000F  // FIFO Tail Pointer.\r
466 #define ADC_SSFSTAT3_HPTR_S     4\r
467 #define ADC_SSFSTAT3_TPTR_S     0\r
468 \r
469 //*****************************************************************************\r
470 //\r
471 // The following definitions are deprecated.\r
472 //\r
473 //*****************************************************************************\r
474 #ifndef DEPRECATED\r
475 \r
476 //*****************************************************************************\r
477 //\r
478 // The following are deprecated defines for the ADC sequence register offsets.\r
479 //\r
480 //*****************************************************************************\r
481 #define ADC_O_SEQ               0x00000040  // Offset to the first sequence\r
482 #define ADC_O_SEQ_STEP          0x00000020  // Increment to the next sequence\r
483 #define ADC_O_X_SSFSTAT         0x0000000C  // FIFO status register\r
484 #define ADC_O_X_SSFIFO          0x00000008  // Result FIFO register\r
485 #define ADC_O_X_SSCTL           0x00000004  // Sample sequence control register\r
486 #define ADC_O_X_SSMUX           0x00000000  // Multiplexer select register\r
487 \r
488 //*****************************************************************************\r
489 //\r
490 // The following are deprecated defines for the bit fields in the ADC_EMUX\r
491 // register.\r
492 //\r
493 //*****************************************************************************\r
494 #define ADC_EMUX_EM3_MASK       0x0000F000  // Event mux 3 mask\r
495 #define ADC_EMUX_EM2_MASK       0x00000F00  // Event mux 2 mask\r
496 #define ADC_EMUX_EM1_MASK       0x000000F0  // Event mux 1 mask\r
497 #define ADC_EMUX_EM0_MASK       0x0000000F  // Event mux 0 mask\r
498 #define ADC_EMUX_EM3_SHIFT      12          // The shift for the fourth event\r
499 #define ADC_EMUX_EM2_SHIFT      8           // The shift for the third event\r
500 #define ADC_EMUX_EM1_SHIFT      4           // The shift for the second event\r
501 #define ADC_EMUX_EM0_SHIFT      0           // The shift for the first event\r
502 \r
503 //*****************************************************************************\r
504 //\r
505 // The following are deprecated defines for the bit fields in the ADC_SSPRI\r
506 // register.\r
507 //\r
508 //*****************************************************************************\r
509 #define ADC_SSPRI_SS3_MASK      0x00003000  // Sequencer 3 priority mask\r
510 #define ADC_SSPRI_SS2_MASK      0x00000300  // Sequencer 2 priority mask\r
511 #define ADC_SSPRI_SS1_MASK      0x00000030  // Sequencer 1 priority mask\r
512 #define ADC_SSPRI_SS0_MASK      0x00000003  // Sequencer 0 priority mask\r
513 \r
514 //*****************************************************************************\r
515 //\r
516 // The following are deprecated defines for the bit fields in the ADC_SSMUX0,\r
517 // ADC_SSMUX1, ADC_SSMUX2, and ADC_SSMUX3 registers. Not all fields are present\r
518 // in all registers.\r
519 //\r
520 //*****************************************************************************\r
521 #define ADC_SSMUX_MUX7_MASK     0x70000000  // 8th mux select mask\r
522 #define ADC_SSMUX_MUX6_MASK     0x07000000  // 7th mux select mask\r
523 #define ADC_SSMUX_MUX5_MASK     0x00700000  // 6th mux select mask\r
524 #define ADC_SSMUX_MUX4_MASK     0x00070000  // 5th mux select mask\r
525 #define ADC_SSMUX_MUX3_MASK     0x00007000  // 4th mux select mask\r
526 #define ADC_SSMUX_MUX2_MASK     0x00000700  // 3rd mux select mask\r
527 #define ADC_SSMUX_MUX1_MASK     0x00000070  // 2nd mux select mask\r
528 #define ADC_SSMUX_MUX0_MASK     0x00000007  // 1st mux select mask\r
529 #define ADC_SSMUX_MUX7_SHIFT    28\r
530 #define ADC_SSMUX_MUX6_SHIFT    24\r
531 #define ADC_SSMUX_MUX5_SHIFT    20\r
532 #define ADC_SSMUX_MUX4_SHIFT    16\r
533 #define ADC_SSMUX_MUX3_SHIFT    12\r
534 #define ADC_SSMUX_MUX2_SHIFT    8\r
535 #define ADC_SSMUX_MUX1_SHIFT    4\r
536 #define ADC_SSMUX_MUX0_SHIFT    0\r
537 \r
538 //*****************************************************************************\r
539 //\r
540 // The following are deprecated defines for the bit fields in the ADC_SSCTL0,\r
541 // ADC_SSCTL1, ADC_SSCTL2, and ADC_SSCTL3 registers. Not all fields are present\r
542 // in all registers.\r
543 //\r
544 //*****************************************************************************\r
545 #define ADC_SSCTL_TS7           0x80000000  // 8th temperature sensor select\r
546 #define ADC_SSCTL_IE7           0x40000000  // 8th interrupt enable\r
547 #define ADC_SSCTL_END7          0x20000000  // 8th sequence end select\r
548 #define ADC_SSCTL_D7            0x10000000  // 8th differential select\r
549 #define ADC_SSCTL_TS6           0x08000000  // 7th temperature sensor select\r
550 #define ADC_SSCTL_IE6           0x04000000  // 7th interrupt enable\r
551 #define ADC_SSCTL_END6          0x02000000  // 7th sequence end select\r
552 #define ADC_SSCTL_D6            0x01000000  // 7th differential select\r
553 #define ADC_SSCTL_TS5           0x00800000  // 6th temperature sensor select\r
554 #define ADC_SSCTL_IE5           0x00400000  // 6th interrupt enable\r
555 #define ADC_SSCTL_END5          0x00200000  // 6th sequence end select\r
556 #define ADC_SSCTL_D5            0x00100000  // 6th differential select\r
557 #define ADC_SSCTL_TS4           0x00080000  // 5th temperature sensor select\r
558 #define ADC_SSCTL_IE4           0x00040000  // 5th interrupt enable\r
559 #define ADC_SSCTL_END4          0x00020000  // 5th sequence end select\r
560 #define ADC_SSCTL_D4            0x00010000  // 5th differential select\r
561 #define ADC_SSCTL_TS3           0x00008000  // 4th temperature sensor select\r
562 #define ADC_SSCTL_IE3           0x00004000  // 4th interrupt enable\r
563 #define ADC_SSCTL_END3          0x00002000  // 4th sequence end select\r
564 #define ADC_SSCTL_D3            0x00001000  // 4th differential select\r
565 #define ADC_SSCTL_TS2           0x00000800  // 3rd temperature sensor select\r
566 #define ADC_SSCTL_IE2           0x00000400  // 3rd interrupt enable\r
567 #define ADC_SSCTL_END2          0x00000200  // 3rd sequence end select\r
568 #define ADC_SSCTL_D2            0x00000100  // 3rd differential select\r
569 #define ADC_SSCTL_TS1           0x00000080  // 2nd temperature sensor select\r
570 #define ADC_SSCTL_IE1           0x00000040  // 2nd interrupt enable\r
571 #define ADC_SSCTL_END1          0x00000020  // 2nd sequence end select\r
572 #define ADC_SSCTL_D1            0x00000010  // 2nd differential select\r
573 #define ADC_SSCTL_TS0           0x00000008  // 1st temperature sensor select\r
574 #define ADC_SSCTL_IE0           0x00000004  // 1st interrupt enable\r
575 #define ADC_SSCTL_END0          0x00000002  // 1st sequence end select\r
576 #define ADC_SSCTL_D0            0x00000001  // 1st differential select\r
577 \r
578 //*****************************************************************************\r
579 //\r
580 // The following are deprecated defines for the bit fields in the ADC_SSFIFO0,\r
581 // ADC_SSFIFO1, ADC_SSFIFO2, and ADC_SSFIFO3 registers.\r
582 //\r
583 //*****************************************************************************\r
584 #define ADC_SSFIFO_DATA_MASK    0x000003FF  // Sample data\r
585 #define ADC_SSFIFO_DATA_SHIFT   0\r
586 \r
587 //*****************************************************************************\r
588 //\r
589 // The following are deprecated defines for the bit fields in the ADC_SSFSTAT0,\r
590 // ADC_SSFSTAT1, ADC_SSFSTAT2, and ADC_SSFSTAT3 registers.\r
591 //\r
592 //*****************************************************************************\r
593 #define ADC_SSFSTAT_FULL        0x00001000  // FIFO is full\r
594 #define ADC_SSFSTAT_EMPTY       0x00000100  // FIFO is empty\r
595 #define ADC_SSFSTAT_HPTR        0x000000F0  // FIFO head pointer\r
596 #define ADC_SSFSTAT_TPTR        0x0000000F  // FIFO tail pointer\r
597 \r
598 //*****************************************************************************\r
599 //\r
600 // The following are deprecated defines for the bit fields in the loopback ADC\r
601 // data.\r
602 //\r
603 //*****************************************************************************\r
604 #define ADC_LB_CNT_MASK         0x000003C0  // Sample counter mask\r
605 #define ADC_LB_CONT             0x00000020  // Continuation sample\r
606 #define ADC_LB_DIFF             0x00000010  // Differential sample\r
607 #define ADC_LB_TS               0x00000008  // Temperature sensor sample\r
608 #define ADC_LB_MUX_MASK         0x00000007  // Input channel number mask\r
609 #define ADC_LB_CNT_SHIFT        6           // Sample counter shift\r
610 #define ADC_LB_MUX_SHIFT        0           // Input channel number shift\r
611 \r
612 #endif\r
613 \r
614 #endif // __HW_ADC_H__\r