1 //*****************************************************************************
\r
3 // hw_adc.h - Macros used when accessing the ADC hardware.
\r
5 // Copyright (c) 2005-2008 Luminary Micro, Inc. All rights reserved.
\r
7 // Software License Agreement
\r
9 // Luminary Micro, Inc. (LMI) is supplying this software for use solely and
\r
10 // exclusively on LMI's microcontroller products.
\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
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
25 // This is part of revision 2523 of the Stellaris Peripheral Driver Library.
\r
27 //*****************************************************************************
\r
29 #ifndef __HW_ADC_H__
\r
30 #define __HW_ADC_H__
\r
32 //*****************************************************************************
\r
34 // The following are defines for the ADC register offsets.
\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
65 //*****************************************************************************
\r
67 // The following are defines for the bit fields in the ADC_ACTSS register.
\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
75 //*****************************************************************************
\r
77 // The following are defines for the bit fields in the ADC_RIS register.
\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
85 //*****************************************************************************
\r
87 // The following are defines for the bit fields in the ADC_IM register.
\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
95 //*****************************************************************************
\r
97 // The following are defines for the bit fields in the ADC_ISC register.
\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
105 //*****************************************************************************
\r
107 // The following are defines for the bit fields in the ADC_OSTAT register.
\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
115 //*****************************************************************************
\r
117 // The following are defines for the bit fields in the ADC_EMUX register.
\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
165 //*****************************************************************************
\r
167 // The following are defines for the bit fields in the ADC_USTAT register.
\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
175 //*****************************************************************************
\r
177 // The following are defines for the bit fields in the ADC_SSPRI register.
\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
201 //*****************************************************************************
\r
203 // The following are defines for the bit fields in the ADC_PSSI register.
\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
211 //*****************************************************************************
\r
213 // The following are defines for the bit fields in the ADC_SAC register.
\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
225 //*****************************************************************************
\r
227 // The following are defines for the bit fields in the ADC_TMLB register.
\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
239 //*****************************************************************************
\r
241 // The following are defines for the bit fields in the ADC_O_SSMUX0 register.
\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
261 //*****************************************************************************
\r
263 // The following are defines for the bit fields in the ADC_O_SSCTL0 register.
\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
299 //*****************************************************************************
\r
301 // The following are defines for the bit fields in the ADC_O_SSFIFO0 register.
\r
303 //*****************************************************************************
\r
304 #define ADC_SSFIFO0_DATA_M 0x000003FF // Conversion Result Data.
\r
305 #define ADC_SSFIFO0_DATA_S 0
\r
307 //*****************************************************************************
\r
309 // The following are defines for the bit fields in the ADC_O_SSFSTAT0 register.
\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
319 //*****************************************************************************
\r
321 // The following are defines for the bit fields in the ADC_O_SSMUX1 register.
\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
333 //*****************************************************************************
\r
335 // The following are defines for the bit fields in the ADC_O_SSCTL1 register.
\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
355 //*****************************************************************************
\r
357 // The following are defines for the bit fields in the ADC_O_SSFIFO1 register.
\r
359 //*****************************************************************************
\r
360 #define ADC_SSFIFO1_DATA_M 0x000003FF // Conversion Result Data.
\r
361 #define ADC_SSFIFO1_DATA_S 0
\r
363 //*****************************************************************************
\r
365 // The following are defines for the bit fields in the ADC_O_SSFSTAT1 register.
\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
375 //*****************************************************************************
\r
377 // The following are defines for the bit fields in the ADC_O_SSMUX2 register.
\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
389 //*****************************************************************************
\r
391 // The following are defines for the bit fields in the ADC_O_SSCTL2 register.
\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
411 //*****************************************************************************
\r
413 // The following are defines for the bit fields in the ADC_O_SSFIFO2 register.
\r
415 //*****************************************************************************
\r
416 #define ADC_SSFIFO2_DATA_M 0x000003FF // Conversion Result Data.
\r
417 #define ADC_SSFIFO2_DATA_S 0
\r
419 //*****************************************************************************
\r
421 // The following are defines for the bit fields in the ADC_O_SSFSTAT2 register.
\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
431 //*****************************************************************************
\r
433 // The following are defines for the bit fields in the ADC_O_SSMUX3 register.
\r
435 //*****************************************************************************
\r
436 #define ADC_SSMUX3_MUX0_M 0x00000007 // 1st Sample Input Select.
\r
437 #define ADC_SSMUX3_MUX0_S 0
\r
439 //*****************************************************************************
\r
441 // The following are defines for the bit fields in the ADC_O_SSCTL3 register.
\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
449 //*****************************************************************************
\r
451 // The following are defines for the bit fields in the ADC_O_SSFIFO3 register.
\r
453 //*****************************************************************************
\r
454 #define ADC_SSFIFO3_DATA_M 0x000003FF // Conversion Result Data.
\r
455 #define ADC_SSFIFO3_DATA_S 0
\r
457 //*****************************************************************************
\r
459 // The following are defines for the bit fields in the ADC_O_SSFSTAT3 register.
\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
469 //*****************************************************************************
\r
471 // The following definitions are deprecated.
\r
473 //*****************************************************************************
\r
476 //*****************************************************************************
\r
478 // The following are deprecated defines for the ADC sequence register offsets.
\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
488 //*****************************************************************************
\r
490 // The following are deprecated defines for the bit fields in the ADC_EMUX
\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
503 //*****************************************************************************
\r
505 // The following are deprecated defines for the bit fields in the ADC_SSPRI
\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
514 //*****************************************************************************
\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
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
538 //*****************************************************************************
\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
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
578 //*****************************************************************************
\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
583 //*****************************************************************************
\r
584 #define ADC_SSFIFO_DATA_MASK 0x000003FF // Sample data
\r
585 #define ADC_SSFIFO_DATA_SHIFT 0
\r
587 //*****************************************************************************
\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
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
598 //*****************************************************************************
\r
600 // The following are deprecated defines for the bit fields in the loopback ADC
\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
614 #endif // __HW_ADC_H__
\r