2 * Copyright (c) 2014, Texas Instruments Incorporated
\r
3 * All rights reserved.
\r
5 * Redistribution and use in source and binary forms, with or without
\r
6 * modification, are permitted provided that the following conditions
\r
9 * * Redistributions of source code must retain the above copyright
\r
10 * notice, this list of conditions and the following disclaimer.
\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
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
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
32 //*****************************************************************************
\r
34 // cs.h - Driver for the CS Module.
\r
36 //*****************************************************************************
\r
38 #ifndef __MSP430WARE_CS_H__
\r
39 #define __MSP430WARE_CS_H__
\r
41 #include "inc/hw_memmap.h"
\r
43 #if defined(__MSP430_HAS_CS__) || defined(__MSP430_HAS_SFR__)
\r
45 //*****************************************************************************
\r
47 // If building with a C++ compiler, make all of the definitions in this header
\r
48 // have a C binding.
\r
50 //*****************************************************************************
\r
56 //*****************************************************************************
\r
58 // The following are values that can be passed to the clockSourceDivider
\r
59 // parameter for functions: CS_initClockSignal().
\r
61 //*****************************************************************************
\r
62 #define CS_CLOCK_DIVIDER_1 DIVM__1
\r
63 #define CS_CLOCK_DIVIDER_2 DIVM__2
\r
64 #define CS_CLOCK_DIVIDER_4 DIVM__4
\r
65 #define CS_CLOCK_DIVIDER_8 DIVM__8
\r
66 #define CS_CLOCK_DIVIDER_16 DIVM__16
\r
67 #define CS_CLOCK_DIVIDER_32 DIVM__32
\r
69 //*****************************************************************************
\r
71 // The following are values that can be passed to the selectClock parameter for
\r
72 // functions: CS_enableClockRequest(), and CS_disableClockRequest(); the
\r
73 // selectedClockSignal parameter for functions: CS_initClockSignal().
\r
75 //*****************************************************************************
\r
76 #define CS_ACLK 0x01
\r
77 #define CS_MCLK 0x02
\r
78 #define CS_SMCLK 0x04
\r
79 #define CS_MODOSC MODCLKREQEN
\r
81 //*****************************************************************************
\r
83 // The following are values that can be passed to the clockSource parameter for
\r
84 // functions: CS_initClockSignal().
\r
86 //*****************************************************************************
\r
87 #define CS_VLOCLK_SELECT SELM__VLOCLK
\r
88 #define CS_DCOCLK_SELECT SELM__DCOCLK
\r
89 #define CS_LFXTCLK_SELECT SELM__LFXTCLK
\r
90 #define CS_HFXTCLK_SELECT SELM__HFXTCLK
\r
91 #define CS_LFMODOSC_SELECT SELM__LFMODOSC
\r
92 #define CS_MODOSC_SELECT SELM__MODOSC
\r
94 //*****************************************************************************
\r
96 // The following are values that can be passed to the lfxtdrive parameter for
\r
97 // functions: CS_turnOnLFXT(), and CS_turnOnLFXTWithTimeout().
\r
99 //*****************************************************************************
\r
100 #define CS_LFXT_DRIVE_0 LFXTDRIVE_0
\r
101 #define CS_LFXT_DRIVE_1 LFXTDRIVE_1
\r
102 #define CS_LFXT_DRIVE_2 LFXTDRIVE_2
\r
103 #define CS_LFXT_DRIVE_3 LFXTDRIVE_3
\r
105 //*****************************************************************************
\r
107 // The following are values that can be passed to the hfxtdrive parameter for
\r
108 // functions: CS_turnOnHFXT(), and CS_turnOnHFXTWithTimeout().
\r
110 //*****************************************************************************
\r
111 #define CS_HFXT_DRIVE_4MHZ_8MHZ HFXTDRIVE_0
\r
112 #define CS_HFXT_DRIVE_8MHZ_16MHZ HFXTDRIVE_1
\r
113 #define CS_HFXT_DRIVE_16MHZ_24MHZ HFXTDRIVE_2
\r
114 #define CS_HFXT_DRIVE_24MHZ_32MHZ HFXTDRIVE_3
\r
116 //*****************************************************************************
\r
118 // The following are values that can be passed to the mask parameter for
\r
119 // functions: CS_getFaultFlagStatus(), and CS_clearFaultFlag() as well as
\r
120 // returned by the CS_getFaultFlagStatus() function.
\r
122 //*****************************************************************************
\r
123 #define CS_LFXTOFFG LFXTOFFG
\r
124 #define CS_HFXTOFFG HFXTOFFG
\r
126 //*****************************************************************************
\r
128 // The following are values that can be passed to the dcorsel parameter for
\r
129 // functions: CS_setDCOFreq().
\r
131 //*****************************************************************************
\r
132 #define CS_DCORSEL_0 0x00
\r
133 #define CS_DCORSEL_1 DCORSEL
\r
135 //*****************************************************************************
\r
137 // The following are values that can be passed to the dcofsel parameter for
\r
138 // functions: CS_setDCOFreq().
\r
140 //*****************************************************************************
\r
141 #define CS_DCOFSEL_0 DCOFSEL_0
\r
142 #define CS_DCOFSEL_1 DCOFSEL_1
\r
143 #define CS_DCOFSEL_2 DCOFSEL_2
\r
144 #define CS_DCOFSEL_3 DCOFSEL_3
\r
145 #define CS_DCOFSEL_4 DCOFSEL_4
\r
146 #define CS_DCOFSEL_5 DCOFSEL_5
\r
147 #define CS_DCOFSEL_6 DCOFSEL_6
\r
149 //*****************************************************************************
\r
151 // Prototypes for the APIs.
\r
153 //*****************************************************************************
\r
155 //*****************************************************************************
\r
157 //! \brief Sets the external clock source
\r
159 //! This function sets the external clock sources LFXT and HFXT crystal
\r
160 //! oscillator frequency values. This function must be called if an external
\r
161 //! crystal LFXT or HFXT is used and the user intends to call CS_getMCLK,
\r
162 //! CS_getSMCLK, CS_getACLK and CS_turnOnLFXT, CS_LFXTByPass,
\r
163 //! CS_turnOnLFXTWithTimeout, CS_LFXTByPassWithTimeout, CS_turnOnHFXT,
\r
164 //! CS_HFXTByPass, CS_turnOnHFXTWithTimeout, CS_HFXTByPassWithTimeout.
\r
166 //! \param LFXTCLK_frequency is the LFXT crystal frequencies in Hz
\r
167 //! \param HFXTCLK_frequency is the HFXT crystal frequencies in Hz
\r
171 //*****************************************************************************
\r
172 extern void CS_setExternalClockSource(uint32_t LFXTCLK_frequency,
\r
173 uint32_t HFXTCLK_frequency);
\r
175 //*****************************************************************************
\r
177 //! \brief Initializes clock signal
\r
179 //! This function initializes each of the clock signals. The user must ensure
\r
180 //! that this function is called for each clock signal. If not, the default
\r
181 //! state is assumed for the particular clock signal. Refer to MSP430ware
\r
182 //! documentation for CS module or Device Family User's Guide for details of
\r
183 //! default clock signal states.
\r
185 //! \param selectedClockSignal Selected clock signal
\r
186 //! Valid values are:
\r
191 //! \param clockSource is the selected clock signal
\r
192 //! Valid values are:
\r
193 //! - \b CS_VLOCLK_SELECT
\r
194 //! - \b CS_DCOCLK_SELECT - [Not available for ACLK]
\r
195 //! - \b CS_LFXTCLK_SELECT
\r
196 //! - \b CS_HFXTCLK_SELECT - [Not available for ACLK]
\r
197 //! - \b CS_LFMODOSC_SELECT
\r
198 //! - \b CS_MODOSC_SELECT - [Not available for ACLK]
\r
199 //! \param clockSourceDivider is the selected clock divider to calculate clock
\r
200 //! signal from clock source.
\r
201 //! Valid values are:
\r
202 //! - \b CS_CLOCK_DIVIDER_1 - [Default for ACLK]
\r
203 //! - \b CS_CLOCK_DIVIDER_2
\r
204 //! - \b CS_CLOCK_DIVIDER_4
\r
205 //! - \b CS_CLOCK_DIVIDER_8 - [Default for SMCLK and MCLK]
\r
206 //! - \b CS_CLOCK_DIVIDER_16
\r
207 //! - \b CS_CLOCK_DIVIDER_32
\r
209 //! Modified bits of \b CSCTL0 register, bits of \b CSCTL3 register and bits of
\r
210 //! \b CSCTL2 register.
\r
214 //*****************************************************************************
\r
215 extern void CS_initClockSignal(uint8_t selectedClockSignal,
\r
216 uint16_t clockSource,
\r
217 uint16_t clockSourceDivider);
\r
219 //*****************************************************************************
\r
221 //! \brief Initializes the LFXT crystal in low frequency mode.
\r
223 //! Initializes the LFXT crystal oscillator in low frequency mode. Loops until
\r
224 //! all oscillator fault flags are cleared, with no timeout. See the device-
\r
225 //! specific data sheet for appropriate drive settings. IMPORTANT: User must
\r
226 //! call CS_setExternalClockSource function to set frequency of external clocks
\r
227 //! before calling this function.
\r
229 //! \param lfxtdrive is the target drive strength for the LFXT crystal
\r
231 //! Valid values are:
\r
232 //! - \b CS_LFXT_DRIVE_0
\r
233 //! - \b CS_LFXT_DRIVE_1
\r
234 //! - \b CS_LFXT_DRIVE_2
\r
235 //! - \b CS_LFXT_DRIVE_3 [Default]
\r
237 //! Modified bits of \b CSCTL0 register, bits of \b CSCTL5 register, bits of \b
\r
238 //! CSCTL4 register and bits of \b SFRIFG1 register.
\r
242 //*****************************************************************************
\r
243 extern void CS_turnOnLFXT(uint16_t lfxtdrive);
\r
245 //*****************************************************************************
\r
247 //! \brief Bypasses the LFXT crystal oscillator.
\r
249 //! Bypasses the LFXT crystal oscillator. Loops until all oscillator fault
\r
250 //! flags are cleared, with no timeout. IMPORTANT: User must call
\r
251 //! CS_setExternalClockSource function to set frequency of external clocks
\r
252 //! before calling this function.
\r
255 //! Modified bits of \b CSCTL0 register, bits of \b CSCTL5 register, bits of \b
\r
256 //! CSCTL4 register and bits of \b SFRIFG register.
\r
260 //*****************************************************************************
\r
261 extern void CS_bypassLFXT(void);
\r
263 //*****************************************************************************
\r
265 //! \brief Initializes the LFXT crystal oscillator in low frequency mode with
\r
268 //! Initializes the LFXT crystal oscillator in low frequency mode with timeout.
\r
269 //! Loops until all oscillator fault flags are cleared or until a timeout
\r
270 //! counter is decremented and equals to zero. See the device-specific
\r
271 //! datasheet for appropriate drive settings. IMPORTANT: User must call
\r
272 //! CS_setExternalClockSource to set frequency of external clocks before
\r
273 //! calling this function.
\r
275 //! \param lfxtdrive is the target drive strength for the LFXT crystal
\r
277 //! Valid values are:
\r
278 //! - \b CS_LFXT_DRIVE_0
\r
279 //! - \b CS_LFXT_DRIVE_1
\r
280 //! - \b CS_LFXT_DRIVE_2
\r
281 //! - \b CS_LFXT_DRIVE_3 [Default]
\r
282 //! \param timeout is the count value that gets decremented every time the loop
\r
283 //! that clears oscillator fault flags gets executed.
\r
285 //! Modified bits of \b CSCTL0 register, bits of \b CSCTL5 register, bits of \b
\r
286 //! CSCTL4 register and bits of \b SFRIFG1 register.
\r
288 //! \return STATUS_SUCCESS or STATUS_FAIL indicating if the LFXT crystal
\r
289 //! oscillator was initialized successfully
\r
291 //*****************************************************************************
\r
292 extern bool CS_turnOnLFXTWithTimeout(uint16_t lfxtdrive,
\r
295 //*****************************************************************************
\r
297 //! \brief Bypass the LFXT crystal oscillator with timeout.
\r
299 //! Bypasses the LFXT crystal oscillator with timeout. Loops until all
\r
300 //! oscillator fault flags are cleared or until a timeout counter is
\r
301 //! decremented and equals to zero. NOTE: User must call
\r
302 //! CS_setExternalClockSource to set frequency of external clocks before
\r
303 //! calling this function.
\r
305 //! \param timeout is the count value that gets decremented every time the loop
\r
306 //! that clears oscillator fault flags gets executed.
\r
308 //! Modified bits of \b CSCTL0 register, bits of \b CSCTL5 register, bits of \b
\r
309 //! CSCTL4 register and bits of \b SFRIFG register.
\r
311 //! \return STATUS_SUCCESS or STATUS_FAIL
\r
313 //*****************************************************************************
\r
314 extern bool CS_bypassLFXTWithTimeout(uint32_t timeout);
\r
316 //*****************************************************************************
\r
318 //! \brief Stops the LFXT oscillator using the LFXTOFF bit.
\r
321 //! Modified bits of \b CSCTL4 register.
\r
325 //*****************************************************************************
\r
326 extern void CS_turnOffLFXT(void);
\r
328 //*****************************************************************************
\r
330 //! \brief Starts the HFXFT crystal
\r
332 //! Initializes the HFXT crystal oscillator, which supports crystal frequencies
\r
333 //! between 0 MHz and 24 MHz, depending on the selected drive strength. Loops
\r
334 //! until all oscillator fault flags are cleared, with no timeout. See the
\r
335 //! device-specific data sheet for appropriate drive settings. NOTE: User must
\r
336 //! call CS_setExternalClockSource to set frequency of external clocks before
\r
337 //! calling this function.
\r
339 //! \param hfxtdrive is the target drive strength for the HFXT crystal
\r
341 //! Valid values are:
\r
342 //! - \b CS_HFXT_DRIVE_4MHZ_8MHZ
\r
343 //! - \b CS_HFXT_DRIVE_8MHZ_16MHZ
\r
344 //! - \b CS_HFXT_DRIVE_16MHZ_24MHZ
\r
345 //! - \b CS_HFXT_DRIVE_24MHZ_32MHZ [Default]
\r
347 //! Modified bits of \b CSCTL5 register, bits of \b CSCTL4 register and bits of
\r
348 //! \b SFRIFG1 register.
\r
352 //*****************************************************************************
\r
353 extern void CS_turnOnHFXT(uint16_t hfxtdrive);
\r
355 //*****************************************************************************
\r
357 //! \brief Bypasses the HFXT crystal oscillator
\r
359 //! Bypasses the HFXT crystal oscillator, which supports crystal frequencies
\r
360 //! between 0 MHz and 24 MHz. Loops until all oscillator fault flags are
\r
361 //! cleared, with no timeout.NOTE: User must call CS_setExternalClockSource to
\r
362 //! set frequency of external clocks before calling this function.
\r
365 //! Modified bits of \b CSCTL5 register, bits of \b CSCTL4 register and bits of
\r
366 //! \b SFRIFG register.
\r
370 //*****************************************************************************
\r
371 extern void CS_bypassHFXT(void);
\r
373 //*****************************************************************************
\r
375 //! \brief Initializes the HFXT crystal oscillator with timeout.
\r
377 //! Initializes the HFXT crystal oscillator, which supports crystal frequencies
\r
378 //! between 0 MHz and 24 MHz, depending on the selected drive strength. Loops
\r
379 //! until all oscillator fault flags are cleared or until a timeout counter is
\r
380 //! decremented and equals to zero. See the device-specific data sheet for
\r
381 //! appropriate drive settings. NOTE: User must call CS_setExternalClockSource
\r
382 //! to set frequency of external clocks before calling this function.
\r
384 //! \param hfxtdrive is the target drive strength for the HFXT crystal
\r
386 //! Valid values are:
\r
387 //! - \b CS_HFXT_DRIVE_4MHZ_8MHZ
\r
388 //! - \b CS_HFXT_DRIVE_8MHZ_16MHZ
\r
389 //! - \b CS_HFXT_DRIVE_16MHZ_24MHZ
\r
390 //! - \b CS_HFXT_DRIVE_24MHZ_32MHZ [Default]
\r
391 //! \param timeout is the count value that gets decremented every time the loop
\r
392 //! that clears oscillator fault flags gets executed.
\r
394 //! Modified bits of \b CSCTL5 register, bits of \b CSCTL4 register and bits of
\r
395 //! \b SFRIFG1 register.
\r
397 //! \return STATUS_SUCCESS or STATUS_FAIL
\r
399 //*****************************************************************************
\r
400 extern bool CS_turnOnHFXTWithTimeout(uint16_t hfxtdrive,
\r
403 //*****************************************************************************
\r
405 //! \brief Bypasses the HFXT crustal oscillator with timeout
\r
407 //! Bypasses the HFXT crystal oscillator, which supports crystal frequencies
\r
408 //! between 0 MHz and 24 MHz. Loops until all oscillator fault flags are
\r
409 //! cleared or until a timeout counter is decremented and equals to zero. NOTE:
\r
410 //! User must call CS_setExternalClockSource to set frequency of external
\r
411 //! clocks before calling this function.
\r
413 //! \param timeout is the count value that gets decremented every time the loop
\r
414 //! that clears oscillator fault flags gets executed.
\r
416 //! Modified bits of \b CSCTL5 register, bits of \b CSCTL4 register and bits of
\r
417 //! \b SFRIFG1 register.
\r
419 //! \return STATUS_SUCCESS or STATUS_FAIL
\r
421 //*****************************************************************************
\r
422 extern bool CS_bypassHFXTWithTimeout(uint32_t timeout);
\r
424 //*****************************************************************************
\r
426 //! \brief Stops the HFXT oscillator using the HFXTOFF bit.
\r
429 //! Modified bits of \b CSCTL4 register.
\r
433 //*****************************************************************************
\r
434 extern void CS_turnOffHFXT(void);
\r
436 //*****************************************************************************
\r
438 //! \brief Enables conditional module requests
\r
440 //! \param selectClock selects specific request enables.
\r
441 //! Valid values are:
\r
447 //! Modified bits of \b CSCTL6 register.
\r
451 //*****************************************************************************
\r
452 extern void CS_enableClockRequest(uint8_t selectClock);
\r
454 //*****************************************************************************
\r
456 //! \brief Disables conditional module requests
\r
458 //! \param selectClock selects specific request enables.
\r
459 //! Valid values are:
\r
465 //! Modified bits of \b CSCTL6 register.
\r
469 //*****************************************************************************
\r
470 extern void CS_disableClockRequest(uint8_t selectClock);
\r
472 //*****************************************************************************
\r
474 //! \brief Gets the current CS fault flag status.
\r
476 //! \param mask is the masked interrupt flag status to be returned. Mask
\r
477 //! parameter can be either any of the following selection.
\r
478 //! Mask value is the logical OR of any of the following:
\r
479 //! - \b CS_LFXTOFFG - LFXT oscillator fault flag
\r
480 //! - \b CS_HFXTOFFG - HFXT oscillator fault flag
\r
482 //! \return Logical OR of any of the following:
\r
483 //! - \b CS_LFXTOFFG LFXT oscillator fault flag
\r
484 //! - \b CS_HFXTOFFG HFXT oscillator fault flag
\r
485 //! \n indicating the status of the masked interrupts
\r
487 //*****************************************************************************
\r
488 extern uint8_t CS_getFaultFlagStatus(uint8_t mask);
\r
490 //*****************************************************************************
\r
492 //! \brief Clears the current CS fault flag status for the masked bit.
\r
494 //! \param mask is the masked interrupt flag status to be returned. mask
\r
495 //! parameter can be any one of the following
\r
496 //! Mask value is the logical OR of any of the following:
\r
497 //! - \b CS_LFXTOFFG - LFXT oscillator fault flag
\r
498 //! - \b CS_HFXTOFFG - HFXT oscillator fault flag
\r
500 //! Modified bits of \b CSCTL5 register.
\r
504 //*****************************************************************************
\r
505 extern void CS_clearFaultFlag(uint8_t mask);
\r
507 //*****************************************************************************
\r
509 //! \brief Get the current ACLK frequency.
\r
511 //! If a oscillator fault is set, the frequency returned will be based on the
\r
512 //! fail safe mechanism of CS module. The user of this API must ensure that
\r
513 //! CS_externalClockSourceInit API was invoked before in case LFXT or HFXT is
\r
517 //! \return Current ACLK frequency in Hz
\r
519 //*****************************************************************************
\r
520 extern uint32_t CS_getACLK(void);
\r
522 //*****************************************************************************
\r
524 //! \brief Get the current SMCLK frequency.
\r
526 //! If a oscillator fault is set, the frequency returned will be based on the
\r
527 //! fail safe mechanism of CS module. The user of this API must ensure that
\r
528 //! CS_externalClockSourceInit API was invoked before in case LFXT or HFXT is
\r
532 //! \return Current SMCLK frequency in Hz
\r
534 //*****************************************************************************
\r
535 extern uint32_t CS_getSMCLK(void);
\r
537 //*****************************************************************************
\r
539 //! \brief Get the current MCLK frequency.
\r
541 //! If a oscillator fault is set, the frequency returned will be based on the
\r
542 //! fail safe mechanism of CS module. The user of this API must ensure that
\r
543 //! CS_externalClockSourceInit API was invoked before in case LFXT or HFXT is
\r
547 //! \return Current MCLK frequency in Hz
\r
549 //*****************************************************************************
\r
550 extern uint32_t CS_getMCLK(void);
\r
552 //*****************************************************************************
\r
554 //! \brief Turns off VLO
\r
557 //! Modified bits of \b CSCTL4 register.
\r
561 //*****************************************************************************
\r
562 extern void CS_turnOffVLO(void);
\r
564 //*****************************************************************************
\r
566 //! \brief Clears all the Oscillator Flags
\r
568 //! \param timeout is the count value that gets decremented every time the loop
\r
569 //! that clears oscillator fault flags gets executed.
\r
571 //! Modified bits of \b CSCTL5 register and bits of \b SFRIFG1 register.
\r
573 //! \return the mask of the oscillator flag status
\r
575 //*****************************************************************************
\r
576 extern uint16_t CS_clearAllOscFlagsWithTimeout(uint32_t timeout);
\r
578 //*****************************************************************************
\r
580 //! \brief Set DCO frequency
\r
582 //! \param dcorsel selects frequency range option.
\r
583 //! Valid values are:
\r
584 //! - \b CS_DCORSEL_0 [Default] - Low Frequency Option
\r
585 //! - \b CS_DCORSEL_1 - High Frequency Option
\r
586 //! \param dcofsel selects valid frequency options based on dco frequency range
\r
587 //! selection (dcorsel)
\r
588 //! Valid values are:
\r
589 //! - \b CS_DCOFSEL_0 - Low frequency option 1MHz. High frequency option
\r
591 //! - \b CS_DCOFSEL_1 - Low frequency option 2.67MHz. High frequency
\r
592 //! option 5.33MHz.
\r
593 //! - \b CS_DCOFSEL_2 - Low frequency option 3.33MHz. High frequency
\r
594 //! option 6.67MHz.
\r
595 //! - \b CS_DCOFSEL_3 - Low frequency option 4MHz. High frequency option
\r
597 //! - \b CS_DCOFSEL_4 - Low frequency option 5.33MHz. High frequency
\r
599 //! - \b CS_DCOFSEL_5 - Low frequency option 6.67MHz. High frequency
\r
601 //! - \b CS_DCOFSEL_6 - Low frequency option 8MHz. High frequency option
\r
606 //*****************************************************************************
\r
607 extern void CS_setDCOFreq(uint16_t dcorsel,
\r
610 //*****************************************************************************
\r
612 // Mark the end of the C bindings section for C++ compilers.
\r
614 //*****************************************************************************
\r
620 #endif // __MSP430WARE_CS_H__
\r