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 35 void ResetCtl_initiateSoftReset(void) 36 { 37 RSTCTL->RESET_REQ |= (RESET_KEY | RESET_SOFT_RESET); 38 } 39 40 void ResetCtl_initiateSoftResetWithSource(uint32_t source) 41 { 42 RSTCTL->SOFTRESET_SET |= (source); 43 } 44 45 uint32_t ResetCtl_getSoftResetSource(void) 46 { 47 return RSTCTL->SOFTRESET_STAT; 48 } 49 50 void ResetCtl_clearSoftResetSource(uint32_t mask) 51 { 52 RSTCTL->SOFTRESET_CLR |= mask; 53 } 54 55 void ResetCtl_initiateHardReset(void) 56 { 57 RSTCTL->RESET_REQ |= (RESET_KEY | RESET_HARD_RESET); 58 } 59 60 void ResetCtl_initiateHardResetWithSource(uint32_t source) 61 { 62 RSTCTL->HARDRESET_SET |= (source); 63 } 64 65 uint32_t ResetCtl_getHardResetSource(void) 66 { 67 return RSTCTL->HARDRESET_STAT; 68 } 69 70 void ResetCtl_clearHardResetSource(uint32_t mask) 71 { 72 RSTCTL->HARDRESET_CLR |= mask; 73 } 74 75 uint32_t ResetCtl_getPSSSource(void) 76 { 77 return RSTCTL->PSSRESET_STAT; 78 } 79 80 void ResetCtl_clearPSSFlags(void) 81 { 82 RSTCTL->PSSRESET_CLR |= RSTCTL_PSSRESET_CLR_CLR; 83 } 84 85 uint32_t ResetCtl_getPCMSource(void) 86 { 87 return RSTCTL->PCMRESET_STAT; 88 } 89 90 void ResetCtl_clearPCMFlags(void) 91 { 92 RSTCTL->PCMRESET_CLR |= RSTCTL_PCMRESET_CLR_CLR; 93 } 94 95