xref: /btstack/port/msp432p401lp-cc256x/ti/devices/msp432p4xx/driverlib/reset.h (revision 5fd0122a3e19d95e11e1f3eb8a08a2b2acb2557e)
1*5fd0122aSMatthias Ringwald /* --COPYRIGHT--,BSD
2*5fd0122aSMatthias Ringwald  * Copyright (c) 2017, Texas Instruments Incorporated
3*5fd0122aSMatthias Ringwald  * All rights reserved.
4*5fd0122aSMatthias Ringwald  *
5*5fd0122aSMatthias Ringwald  * Redistribution and use in source and binary forms, with or without
6*5fd0122aSMatthias Ringwald  * modification, are permitted provided that the following conditions
7*5fd0122aSMatthias Ringwald  * are met:
8*5fd0122aSMatthias Ringwald  *
9*5fd0122aSMatthias Ringwald  * *  Redistributions of source code must retain the above copyright
10*5fd0122aSMatthias Ringwald  *    notice, this list of conditions and the following disclaimer.
11*5fd0122aSMatthias Ringwald  *
12*5fd0122aSMatthias Ringwald  * *  Redistributions in binary form must reproduce the above copyright
13*5fd0122aSMatthias Ringwald  *    notice, this list of conditions and the following disclaimer in the
14*5fd0122aSMatthias Ringwald  *    documentation and/or other materials provided with the distribution.
15*5fd0122aSMatthias Ringwald  *
16*5fd0122aSMatthias Ringwald  * *  Neither the name of Texas Instruments Incorporated nor the names of
17*5fd0122aSMatthias Ringwald  *    its contributors may be used to endorse or promote products derived
18*5fd0122aSMatthias Ringwald  *    from this software without specific prior written permission.
19*5fd0122aSMatthias Ringwald  *
20*5fd0122aSMatthias Ringwald  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21*5fd0122aSMatthias Ringwald  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22*5fd0122aSMatthias Ringwald  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23*5fd0122aSMatthias Ringwald  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24*5fd0122aSMatthias Ringwald  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25*5fd0122aSMatthias Ringwald  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26*5fd0122aSMatthias Ringwald  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27*5fd0122aSMatthias Ringwald  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28*5fd0122aSMatthias Ringwald  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29*5fd0122aSMatthias Ringwald  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30*5fd0122aSMatthias Ringwald  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31*5fd0122aSMatthias Ringwald  * --/COPYRIGHT--*/
32*5fd0122aSMatthias Ringwald #ifndef __RESET_H__
33*5fd0122aSMatthias Ringwald #define __RESET_H__
34*5fd0122aSMatthias Ringwald 
35*5fd0122aSMatthias Ringwald //*****************************************************************************
36*5fd0122aSMatthias Ringwald //
37*5fd0122aSMatthias Ringwald //! \addtogroup reset_api
38*5fd0122aSMatthias Ringwald //! @{
39*5fd0122aSMatthias Ringwald //
40*5fd0122aSMatthias Ringwald //*****************************************************************************
41*5fd0122aSMatthias Ringwald 
42*5fd0122aSMatthias Ringwald //*****************************************************************************
43*5fd0122aSMatthias Ringwald //
44*5fd0122aSMatthias Ringwald // If building with a C++ compiler, make all of the definitions in this header
45*5fd0122aSMatthias Ringwald // have a C binding.
46*5fd0122aSMatthias Ringwald //
47*5fd0122aSMatthias Ringwald //*****************************************************************************
48*5fd0122aSMatthias Ringwald #ifdef __cplusplus
49*5fd0122aSMatthias Ringwald extern "C"
50*5fd0122aSMatthias Ringwald {
51*5fd0122aSMatthias Ringwald #endif
52*5fd0122aSMatthias Ringwald 
53*5fd0122aSMatthias Ringwald #include <ti/devices/msp432p4xx/inc/msp.h>
54*5fd0122aSMatthias Ringwald #include <stdint.h>
55*5fd0122aSMatthias Ringwald 
56*5fd0122aSMatthias Ringwald //*****************************************************************************
57*5fd0122aSMatthias Ringwald //
58*5fd0122aSMatthias Ringwald // Control specific variables
59*5fd0122aSMatthias Ringwald //
60*5fd0122aSMatthias Ringwald //*****************************************************************************
61*5fd0122aSMatthias Ringwald #define RESET_KEY   0x6900
62*5fd0122aSMatthias Ringwald #define RESET_HARD_RESET RSTCTL_RESET_REQ_HARD_REQ
63*5fd0122aSMatthias Ringwald #define RESET_SOFT_RESET RSTCTL_RESET_REQ_SOFT_REQ
64*5fd0122aSMatthias Ringwald 
65*5fd0122aSMatthias Ringwald #define RESET_SRC_0 RSTCTL_HARDRESET_CLR_SRC0
66*5fd0122aSMatthias Ringwald #define RESET_SRC_1 RSTCTL_HARDRESET_CLR_SRC1
67*5fd0122aSMatthias Ringwald #define RESET_SRC_2 RSTCTL_HARDRESET_CLR_SRC2
68*5fd0122aSMatthias Ringwald #define RESET_SRC_3 RSTCTL_HARDRESET_CLR_SRC3
69*5fd0122aSMatthias Ringwald #define RESET_SRC_4 RSTCTL_HARDRESET_CLR_SRC4
70*5fd0122aSMatthias Ringwald #define RESET_SRC_5 RSTCTL_HARDRESET_CLR_SRC5
71*5fd0122aSMatthias Ringwald #define RESET_SRC_6 RSTCTL_HARDRESET_CLR_SRC6
72*5fd0122aSMatthias Ringwald #define RESET_SRC_7 RSTCTL_HARDRESET_CLR_SRC7
73*5fd0122aSMatthias Ringwald #define RESET_SRC_8 RSTCTL_HARDRESET_CLR_SRC8
74*5fd0122aSMatthias Ringwald #define RESET_SRC_9 RSTCTL_HARDRESET_CLR_SRC9
75*5fd0122aSMatthias Ringwald #define RESET_SRC_10 RSTCTL_HARDRESET_CLR_SRC10
76*5fd0122aSMatthias Ringwald #define RESET_SRC_11 RSTCTL_HARDRESET_CLR_SRC11
77*5fd0122aSMatthias Ringwald #define RESET_SRC_12 RSTCTL_HARDRESET_CLR_SRC12
78*5fd0122aSMatthias Ringwald #define RESET_SRC_13 RSTCTL_HARDRESET_CLR_SRC13
79*5fd0122aSMatthias Ringwald #define RESET_SRC_14 RSTCTL_HARDRESET_CLR_SRC14
80*5fd0122aSMatthias Ringwald #define RESET_SRC_15 RSTCTL_HARDRESET_CLR_SRC15
81*5fd0122aSMatthias Ringwald 
82*5fd0122aSMatthias Ringwald #define RESET_VCCDET    RSTCTL_PSSRESET_STAT_VCCDET
83*5fd0122aSMatthias Ringwald #define RESET_SVSH_TRIP RSTCTL_PSSRESET_STAT_SVSMH
84*5fd0122aSMatthias Ringwald #define RESET_BGREF_BAD RSTCTL_PSSRESET_STAT_BGREF
85*5fd0122aSMatthias Ringwald 
86*5fd0122aSMatthias Ringwald #define RESET_LPM35   RSTCTL_PCMRESET_STAT_LPM35
87*5fd0122aSMatthias Ringwald #define RESET_LPM45   RSTCTL_PCMRESET_STAT_LPM45
88*5fd0122aSMatthias Ringwald 
89*5fd0122aSMatthias Ringwald //*****************************************************************************
90*5fd0122aSMatthias Ringwald //
91*5fd0122aSMatthias Ringwald // Prototypes for the APIs.
92*5fd0122aSMatthias Ringwald //
93*5fd0122aSMatthias Ringwald //*****************************************************************************
94*5fd0122aSMatthias Ringwald 
95*5fd0122aSMatthias Ringwald //*****************************************************************************
96*5fd0122aSMatthias Ringwald //
97*5fd0122aSMatthias Ringwald //! Initiates a soft system reset.
98*5fd0122aSMatthias Ringwald //!
99*5fd0122aSMatthias Ringwald //! \return none
100*5fd0122aSMatthias Ringwald //
101*5fd0122aSMatthias Ringwald //*****************************************************************************
102*5fd0122aSMatthias Ringwald extern void ResetCtl_initiateSoftReset(void);
103*5fd0122aSMatthias Ringwald 
104*5fd0122aSMatthias Ringwald //*****************************************************************************
105*5fd0122aSMatthias Ringwald //
106*5fd0122aSMatthias Ringwald //! Initiates a soft system reset with a particular source given. This source
107*5fd0122aSMatthias Ringwald //! is generic and can be assigned by the user.
108*5fd0122aSMatthias Ringwald //!
109*5fd0122aSMatthias Ringwald //! \param source Source of the reset. Valid values are:
110*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_0,
111*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_1,
112*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_2,
113*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_3,
114*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_4,
115*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_5,
116*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_6,
117*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_7,
118*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_8,
119*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_9,
120*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_10,
121*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_11,
122*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_12,
123*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_13,
124*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_14,
125*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_15
126*5fd0122aSMatthias Ringwald //!
127*5fd0122aSMatthias Ringwald //! \return none
128*5fd0122aSMatthias Ringwald //
129*5fd0122aSMatthias Ringwald //*****************************************************************************
130*5fd0122aSMatthias Ringwald extern void ResetCtl_initiateSoftResetWithSource(uint32_t source);
131*5fd0122aSMatthias Ringwald 
132*5fd0122aSMatthias Ringwald //*****************************************************************************
133*5fd0122aSMatthias Ringwald //
134*5fd0122aSMatthias Ringwald //! Retrieves previous soft reset sources
135*5fd0122aSMatthias Ringwald //!
136*5fd0122aSMatthias Ringwald //! \return the bitwise or of previous reset sources. These sources must be
137*5fd0122aSMatthias Ringwald //! cleared using the \link ResetCtl_clearSoftResetSource \endlink function to
138*5fd0122aSMatthias Ringwald //! be cleared.
139*5fd0122aSMatthias Ringwald //! Possible values include:
140*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_0,
141*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_1,
142*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_2,
143*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_3,
144*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_4,
145*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_5,
146*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_6,
147*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_7,
148*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_8,
149*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_9,
150*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_10,
151*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_11,
152*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_12,
153*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_13,
154*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_14,
155*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_15
156*5fd0122aSMatthias Ringwald //
157*5fd0122aSMatthias Ringwald //*****************************************************************************
158*5fd0122aSMatthias Ringwald extern uint32_t ResetCtl_getSoftResetSource(void);
159*5fd0122aSMatthias Ringwald 
160*5fd0122aSMatthias Ringwald //*****************************************************************************
161*5fd0122aSMatthias Ringwald //
162*5fd0122aSMatthias Ringwald //! Clears the reset sources associated with at soft reset
163*5fd0122aSMatthias Ringwald //!
164*5fd0122aSMatthias Ringwald //! \param mask - Bitwise OR of any of the following values:
165*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_0,
166*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_1,
167*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_2,
168*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_3,
169*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_4,
170*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_5,
171*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_6,
172*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_7,
173*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_8,
174*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_9,
175*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_10,
176*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_11,
177*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_12,
178*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_13,
179*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_14,
180*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_15
181*5fd0122aSMatthias Ringwald //!
182*5fd0122aSMatthias Ringwald //! \return none
183*5fd0122aSMatthias Ringwald //
184*5fd0122aSMatthias Ringwald //*****************************************************************************
185*5fd0122aSMatthias Ringwald extern void ResetCtl_clearSoftResetSource(uint32_t mask);
186*5fd0122aSMatthias Ringwald 
187*5fd0122aSMatthias Ringwald //*****************************************************************************
188*5fd0122aSMatthias Ringwald //
189*5fd0122aSMatthias Ringwald //! Initiates a hard system reset.
190*5fd0122aSMatthias Ringwald //!
191*5fd0122aSMatthias Ringwald //! \return none
192*5fd0122aSMatthias Ringwald //
193*5fd0122aSMatthias Ringwald //*****************************************************************************
194*5fd0122aSMatthias Ringwald extern void ResetCtl_initiateHardReset(void);
195*5fd0122aSMatthias Ringwald 
196*5fd0122aSMatthias Ringwald //*****************************************************************************
197*5fd0122aSMatthias Ringwald //
198*5fd0122aSMatthias Ringwald //! Initiates a hard system reset with a particular source given. This source
199*5fd0122aSMatthias Ringwald //! is generic and can be assigned by the user.
200*5fd0122aSMatthias Ringwald //!
201*5fd0122aSMatthias Ringwald //! \param source - Valid values are one the following values:
202*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_0,
203*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_1,
204*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_2,
205*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_3,
206*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_4,
207*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_5,
208*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_6,
209*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_7,
210*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_8,
211*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_9,
212*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_10,
213*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_11,
214*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_12,
215*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_13,
216*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_14,
217*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_15
218*5fd0122aSMatthias Ringwald //! \return none
219*5fd0122aSMatthias Ringwald //
220*5fd0122aSMatthias Ringwald //*****************************************************************************
221*5fd0122aSMatthias Ringwald extern void ResetCtl_initiateHardResetWithSource(uint32_t source);
222*5fd0122aSMatthias Ringwald 
223*5fd0122aSMatthias Ringwald //*****************************************************************************
224*5fd0122aSMatthias Ringwald //
225*5fd0122aSMatthias Ringwald //! Retrieves previous hard reset sources
226*5fd0122aSMatthias Ringwald //!
227*5fd0122aSMatthias Ringwald //! \return the bitwise or of previous reset sources. These sources must be
228*5fd0122aSMatthias Ringwald //! cleared using the \link ResetCtl_clearHardResetSource \endlink function to
229*5fd0122aSMatthias Ringwald //! be cleared.
230*5fd0122aSMatthias Ringwald //! Possible values include:
231*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_0,
232*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_1,
233*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_2,
234*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_3,
235*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_4,
236*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_5,
237*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_6,
238*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_7,
239*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_8,
240*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_9,
241*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_10,
242*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_11,
243*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_12,
244*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_13,
245*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_14,
246*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_15
247*5fd0122aSMatthias Ringwald //
248*5fd0122aSMatthias Ringwald //*****************************************************************************
249*5fd0122aSMatthias Ringwald extern uint32_t ResetCtl_getHardResetSource(void);
250*5fd0122aSMatthias Ringwald 
251*5fd0122aSMatthias Ringwald //*****************************************************************************
252*5fd0122aSMatthias Ringwald //
253*5fd0122aSMatthias Ringwald //! Clears the reset sources associated with at hard reset
254*5fd0122aSMatthias Ringwald //!
255*5fd0122aSMatthias Ringwald //! \param mask - Bitwise OR of any of the following values:
256*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_0,
257*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_1,
258*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_2,
259*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_3,
260*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_4,
261*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_5,
262*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_6,
263*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_7,
264*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_8,
265*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_9,
266*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_10,
267*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_11,
268*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_12,
269*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_13,
270*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_14,
271*5fd0122aSMatthias Ringwald //!             - \b RESET_SRC_15
272*5fd0122aSMatthias Ringwald //!
273*5fd0122aSMatthias Ringwald //! \return none
274*5fd0122aSMatthias Ringwald //
275*5fd0122aSMatthias Ringwald //*****************************************************************************
276*5fd0122aSMatthias Ringwald extern void ResetCtl_clearHardResetSource(uint32_t mask);
277*5fd0122aSMatthias Ringwald 
278*5fd0122aSMatthias Ringwald //*****************************************************************************
279*5fd0122aSMatthias Ringwald //
280*5fd0122aSMatthias Ringwald //! Indicates the last cause of a power-on reset (POR) due to PSS operation.
281*5fd0122aSMatthias Ringwald //! Note that the bits returned from this function may be set in different
282*5fd0122aSMatthias Ringwald //! combinations. When a cold power up occurs, the value of all the values ORed
283*5fd0122aSMatthias Ringwald //! together could be returned as a cold power up causes these conditions.
284*5fd0122aSMatthias Ringwald //!
285*5fd0122aSMatthias Ringwald //! \return  Bitwise OR of any of the following values:
286*5fd0122aSMatthias Ringwald //!                 - RESET_VCCDET,
287*5fd0122aSMatthias Ringwald //!                 - RESET_SVSH_TRIP,
288*5fd0122aSMatthias Ringwald //!                 - RESET_BGREF_BAD
289*5fd0122aSMatthias Ringwald //
290*5fd0122aSMatthias Ringwald //*****************************************************************************
291*5fd0122aSMatthias Ringwald extern uint32_t ResetCtl_getPSSSource(void);
292*5fd0122aSMatthias Ringwald 
293*5fd0122aSMatthias Ringwald //*****************************************************************************
294*5fd0122aSMatthias Ringwald //
295*5fd0122aSMatthias Ringwald //! Clears the  PSS reset source flags
296*5fd0122aSMatthias Ringwald //!
297*5fd0122aSMatthias Ringwald //! \return none
298*5fd0122aSMatthias Ringwald //
299*5fd0122aSMatthias Ringwald //*****************************************************************************
300*5fd0122aSMatthias Ringwald extern void ResetCtl_clearPSSFlags(void);
301*5fd0122aSMatthias Ringwald 
302*5fd0122aSMatthias Ringwald //*****************************************************************************
303*5fd0122aSMatthias Ringwald //
304*5fd0122aSMatthias Ringwald //! Indicates the last cause of a power-on reset (POR) due to PCM operation.
305*5fd0122aSMatthias Ringwald //!
306*5fd0122aSMatthias Ringwald //! \return  Bitwise OR of any of the following values:
307*5fd0122aSMatthias Ringwald //!                 - RESET_LPM35,
308*5fd0122aSMatthias Ringwald //!                 - RESET_LPM45
309*5fd0122aSMatthias Ringwald //
310*5fd0122aSMatthias Ringwald //*****************************************************************************
311*5fd0122aSMatthias Ringwald extern uint32_t ResetCtl_getPCMSource(void);
312*5fd0122aSMatthias Ringwald 
313*5fd0122aSMatthias Ringwald //*****************************************************************************
314*5fd0122aSMatthias Ringwald //
315*5fd0122aSMatthias Ringwald //! Clears the corresponding PCM reset source flags
316*5fd0122aSMatthias Ringwald //!
317*5fd0122aSMatthias Ringwald //! \return none
318*5fd0122aSMatthias Ringwald //
319*5fd0122aSMatthias Ringwald //*****************************************************************************
320*5fd0122aSMatthias Ringwald extern void ResetCtl_clearPCMFlags(void);
321*5fd0122aSMatthias Ringwald 
322*5fd0122aSMatthias Ringwald //*****************************************************************************
323*5fd0122aSMatthias Ringwald //
324*5fd0122aSMatthias Ringwald // Mark the end of the C bindings section for C++ compilers.
325*5fd0122aSMatthias Ringwald //
326*5fd0122aSMatthias Ringwald //*****************************************************************************
327*5fd0122aSMatthias Ringwald #ifdef __cplusplus
328*5fd0122aSMatthias Ringwald }
329*5fd0122aSMatthias Ringwald #endif
330*5fd0122aSMatthias Ringwald 
331*5fd0122aSMatthias Ringwald //*****************************************************************************
332*5fd0122aSMatthias Ringwald //
333*5fd0122aSMatthias Ringwald // Close the Doxygen group.
334*5fd0122aSMatthias Ringwald //! @}
335*5fd0122aSMatthias Ringwald //
336*5fd0122aSMatthias Ringwald //*****************************************************************************
337*5fd0122aSMatthias Ringwald 
338*5fd0122aSMatthias Ringwald #endif // __RESET_H__
339