1 /* --COPYRIGHT--,BSD
2 * Copyright (c) 2017, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * --/COPYRIGHT--*/
32 #include <ti/devices/msp432p4xx/driverlib/reset.h>
33 #include <ti/devices/msp432p4xx/driverlib/debug.h>
34
ResetCtl_initiateSoftReset(void)35 void ResetCtl_initiateSoftReset(void)
36 {
37 RSTCTL->RESET_REQ |= (RESET_KEY | RESET_SOFT_RESET);
38 }
39
ResetCtl_initiateSoftResetWithSource(uint32_t source)40 void ResetCtl_initiateSoftResetWithSource(uint32_t source)
41 {
42 RSTCTL->SOFTRESET_SET |= (source);
43 }
44
ResetCtl_getSoftResetSource(void)45 uint32_t ResetCtl_getSoftResetSource(void)
46 {
47 return RSTCTL->SOFTRESET_STAT;
48 }
49
ResetCtl_clearSoftResetSource(uint32_t mask)50 void ResetCtl_clearSoftResetSource(uint32_t mask)
51 {
52 RSTCTL->SOFTRESET_CLR |= mask;
53 }
54
ResetCtl_initiateHardReset(void)55 void ResetCtl_initiateHardReset(void)
56 {
57 RSTCTL->RESET_REQ |= (RESET_KEY | RESET_HARD_RESET);
58 }
59
ResetCtl_initiateHardResetWithSource(uint32_t source)60 void ResetCtl_initiateHardResetWithSource(uint32_t source)
61 {
62 RSTCTL->HARDRESET_SET |= (source);
63 }
64
ResetCtl_getHardResetSource(void)65 uint32_t ResetCtl_getHardResetSource(void)
66 {
67 return RSTCTL->HARDRESET_STAT;
68 }
69
ResetCtl_clearHardResetSource(uint32_t mask)70 void ResetCtl_clearHardResetSource(uint32_t mask)
71 {
72 RSTCTL->HARDRESET_CLR |= mask;
73 }
74
ResetCtl_getPSSSource(void)75 uint32_t ResetCtl_getPSSSource(void)
76 {
77 return RSTCTL->PSSRESET_STAT;
78 }
79
ResetCtl_clearPSSFlags(void)80 void ResetCtl_clearPSSFlags(void)
81 {
82 RSTCTL->PSSRESET_CLR |= RSTCTL_PSSRESET_CLR_CLR;
83 }
84
ResetCtl_getPCMSource(void)85 uint32_t ResetCtl_getPCMSource(void)
86 {
87 return RSTCTL->PCMRESET_STAT;
88 }
89
ResetCtl_clearPCMFlags(void)90 void ResetCtl_clearPCMFlags(void)
91 {
92 RSTCTL->PCMRESET_CLR |= RSTCTL_PCMRESET_CLR_CLR;
93 }
94
95