1 //***************************************************************************** 2 // 3 // Copyright (C) 2013 - 2015 Texas Instruments Incorporated - http://www.ti.com/ 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 15 // distribution. 16 // 17 // Neither the name of Texas Instruments Incorporated nor the names of 18 // its contributors may be used to endorse or promote products derived 19 // from this software without specific prior written permission. 20 // 21 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 // 33 // MSP430 intrinsic redefinitions for use with MSP432 Family Devices 34 // 35 //**************************************************************************** 36 37 /****************************************************************************** 38 * Definitions for 8/16/32-bit wide memory access * 39 ******************************************************************************/ 40 #define HWREG8(x) (*((volatile uint8_t *)(x))) 41 #define HWREG16(x) (*((volatile uint16_t *)(x))) 42 #define HWREG32(x) (*((volatile uint32_t *)(x))) 43 #define HWREG(x) (HWREG16(x)) 44 #define HWREG8_L(x) (*((volatile uint8_t *)((uint8_t *)&x))) 45 #define HWREG8_H(x) (*((volatile uint8_t *)(((uint8_t *)&x)+1))) 46 #define HWREG16_L(x) (*((volatile uint16_t *)((uint16_t *)&x))) 47 #define HWREG16_H(x) (*((volatile uint16_t *)(((uint16_t *)&x)+1))) 48 49 /****************************************************************************** 50 * Definitions for 8/16/32-bit wide bit band access * 51 ******************************************************************************/ 52 #define HWREGBIT8(x, b) (HWREG8(((uint32_t)(x) & 0xF0000000) | 0x02000000 | (((uint32_t)(x) & 0x000FFFFF) << 5) | ((b) << 2))) 53 #define HWREGBIT16(x, b) (HWREG16(((uint32_t)(x) & 0xF0000000) | 0x02000000 | (((uint32_t)(x) & 0x000FFFFF) << 5) | ((b) << 2))) 54 #define HWREGBIT32(x, b) (HWREG32(((uint32_t)(x) & 0xF0000000) | 0x02000000 | (((uint32_t)(x) & 0x000FFFFF) << 5) | ((b) << 2))) 55 56 // Intrinsics with ARM equivalents 57 #if defined ( __TI_ARM__ ) /* TI CGT Compiler */ 58 59 #define __sleep() __wfi() 60 #define __deep_sleep() { (*((volatile uint32_t *)(0xE000ED10))) |= 0x00000004; __wfi(); (*((volatile uint32_t *)(0xE000ED10))) &= ~0x00000004; } 61 #define __low_power_mode_off_on_exit() { (*((volatile uint32_t *)(0xE000ED10))) &= ~0x00000002; } 62 #define __get_SP_register() __get_MSP() 63 #define __set_SP_register(x) __set_MSP(x) 64 #define __get_interrupt_state() __get_PRIMASK() 65 #define __set_interrupt_state(x) __set_PRIMASK(x) 66 #define __enable_interrupt() _enable_IRQ() 67 #define __enable_interrupts() _enable_IRQ() 68 #define __disable_interrupt() _disable_IRQ() 69 #define __disable_interrupts() _disable_IRQ() 70 #define __no_operation() __asm(" nop") 71 72 #elif defined ( __ICCARM__ ) /* IAR Compiler */ 73 74 #include <stdint.h> 75 76 #define __INLINE inline 77 #define __sleep() __WFI() 78 #define __deep_sleep() { (*((volatile uint32_t *)(0xE000ED10))) |= 0x00000004; __WFI(); (*((volatile uint32_t *)(0xE000ED10))) &= ~0x00000004; } 79 #define __low_power_mode_off_on_exit() { (*((volatile uint32_t *)(0xE000ED10))) &= ~0x00000002; } 80 #define __get_SP_register() __get_MSP() 81 #define __set_SP_register() __set_MSP() 82 #define __enable_interrupts() __asm(" cpsie i") 83 #define __disable_interrupts() __asm(" cpsid i") 84 85 #if (__VER__ < 8020002) 86 #define __get_interrupt_state() __get_PRIMASK() 87 #define __set_interrupt_state(x) __set_PRIMASK(x) 88 #define __enable_interrupt() __asm(" cpsie i") 89 #define __disable_interrupt() __asm(" cpsid i") 90 #define __no_operation() __asm(" nop") 91 #else 92 #include "intrinsics.h" 93 #endif 94 95 // Intrinsics without ARM equivalents 96 #define __bcd_add_short(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 97 #define __bcd_add_long(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 98 #define __bcd_add_long_long(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 99 #define __even_in_range(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 100 #define __data20_write_char(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 101 #define __data20_write_short(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 102 #define __data20_write_long(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 103 #define __never_executed() { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 104 #define __op_code() { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 105 #define __code_distance() { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 106 #define __bic_SR_register(x) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 107 #define __bis_SR_register(x) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 108 #define __bis_SR_register_on_exit(x) { while(1); /* Using not-supported MSP430 intrinsic. Recommended to write to SCS_SCR register. */ } 109 #define __bic_SR_register_on_exit(x) { while(1); /* Using not-supported MSP430 intrinsic. Recommended to write to SCS_SCR register. */ } 110 #define __delay_cycles(x) { while(1); /* Using not-supported MSP430 intrinsic. Recommended to use a timer or a custom for loop. */ } 111 112 #elif defined ( __CC_ARM ) /* ARM Compiler */ 113 114 #define __sleep() __wfi() 115 #define __deep_sleep() { (*((volatile uint32_t *)(0xE000ED10))) |= 0x00000004; __wfi(); (*((volatile uint32_t *)(0xE000ED10))) &= ~0x00000004; } 116 #define __low_power_mode_off_on_exit() { (*((volatile uint32_t *)(0xE000ED10))) &= ~0x00000002; } 117 #define __get_SP_register() __get_MSP() 118 #define __set_SP_register(x) __set_MSP(x) 119 #define __get_interrupt_state() __get_PRIMASK() 120 #define __set_interrupt_state(x) __set_PRIMASK(x) 121 #define __enable_interrupt() __asm(" cpsie i") 122 #define __enable_interrupts() __asm(" cpsie i") 123 #define __disable_interrupt() __asm(" cpsid i") 124 #define __disable_interrupts() __asm(" cpsid i") 125 #define __no_operation() __asm(" nop") 126 127 // Intrinsics without ARM equivalents 128 #define __bcd_add_short(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 129 #define __bcd_add_long(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 130 #define __bcd_add_long_long(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 131 #define __even_in_range(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 132 #define __data20_write_char(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 133 #define __data20_write_short(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 134 #define __data20_write_long(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 135 #define __never_executed() { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 136 #define __op_code() { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 137 #define __code_distance() { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 138 #define __bic_SR_register(x) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 139 #define __bis_SR_register(x) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 140 #define __bis_SR_register_on_exit(x) { while(1); /* Using not-supported MSP430 intrinsic. Recommended to write to SCS_SCR register. */ } 141 #define __bic_SR_register_on_exit(x) { while(1); /* Using not-supported MSP430 intrinsic. Recommended to write to SCS_SCR register. */ } 142 #define __delay_cycles(x) { while(1); /* Using not-supported MSP430 intrinsic. Recommended to use a timer or a custom for loop. */ } 143 144 #elif defined ( __GNUC__ ) /* GCC Compiler */ 145 #undef __wfi 146 #define __wfi() __asm(" wfi") 147 #define __sleep() __wfi() 148 #define __deep_sleep() { (*((volatile uint32_t *)(0xE000ED10))) |= 0x00000004; __wfi(); (*((volatile uint32_t *)(0xE000ED10))) &= ~0x00000004; } 149 #define __low_power_mode_off_on_exit() { (*((volatile uint32_t *)(0xE000ED10))) &= ~0x00000002; } 150 #define __get_SP_register() __get_MSP() 151 #define __set_SP_register(x) __set_MSP(x) 152 #define __get_interrupt_state() __get_PRIMASK() 153 #define __set_interrupt_state(x) __set_PRIMASK(x) 154 #define __enable_interrupt() __asm(" cpsie i") 155 #define __enable_interrupts() __asm(" cpsie i") 156 #define __disable_interrupt() __asm(" cpsid i") 157 #define __disable_interrupts() __asm(" cpsid i") 158 #define __no_operation() __asm(" nop") 159 160 // Intrinsics without ARM equivalents 161 #define __bcd_add_short(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 162 #define __bcd_add_long(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 163 #define __bcd_add_long_long(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 164 #define __even_in_range(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 165 #define __data20_write_char(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 166 #define __data20_write_short(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 167 #define __data20_write_long(x,y) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 168 #define __never_executed() { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 169 #define __op_code() { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 170 #define __code_distance() { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 171 #define __bic_SR_register(x) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 172 #define __bis_SR_register(x) { while(1); /* Using not-supported MSP430 intrinsic. No replacement available. */ } 173 #define __bis_SR_register_on_exit(x) { while(1); /* Using not-supported MSP430 intrinsic. Recommended to write to SCS_SCR register. */ } 174 #define __bic_SR_register_on_exit(x) { while(1); /* Using not-supported MSP430 intrinsic. Recommended to write to SCS_SCR register. */ } 175 #define __delay_cycles(x) { while(1); /* Using not-supported MSP430 intrinsic. Recommended to use a timer or a custom for loop. */ } 176 177 #endif 178 179 // Intrinsics without ARM equivalents 180 #define __low_power_mode_0() { __sleep(); } 181 #define __low_power_mode_1() { __sleep(); } 182 #define __low_power_mode_2() { __sleep(); } 183 #define __low_power_mode_3() { __deep_sleep(); } 184 #define __low_power_mode_4() { __deep_sleep(); } 185 #define __data16_read_addr(x) (*((volatile uint32_t *)(x))) 186 #define __data20_read_char(x) (*((volatile uint8_t *)(x))) 187 #define __data20_read_short(x) (*((volatile uint16_t *)(x))) 188 #define __data20_read_long(x) (*((volatile uint32_t *)(x))) 189 #define __data16_write_addr(x,y) { (*((volatile uint32_t *)(x))) } 190 #define __get_SR_register() 0 191 #define __get_SR_register_on_exit() 0 192 193 // the following defines are deprecated and will be removed in future releases 194 #define ATLBASE ALTBASE 195 #define CS_CTL1_SELM_7 ((uint32_t)0x00000007) /*!< for future use. Defaults to DCOCLK. Not recommended for use to ensure future */ 196 /* compatibilities. */ 197 #define CS_CTL1_SELS_7 ((uint32_t)0x00000070) /*!< for furture use. Defaults to DCOCLK. Do not use to ensure future */ 198 /* compatibilities. */ 199 #define CS_CTL1_SELA_3 ((uint32_t)0x00000300) /*!< for future use. Defaults to REFOCLK. Not recommended for use to ensure future */ 200 /* compatibilities. */ 201 #define CS_CTL1_SELA_4 ((uint32_t)0x00000400) /*!< for future use. Defaults to REFOCLK. Not recommended for use to ensure future */ 202 /* compatibilities. */ 203 #define CS_CTL1_SELA_5 ((uint32_t)0x00000500) /*!< for future use. Defaults to REFOCLK. Not recommended for use to ensure future */ 204 /* compatibilities. */ 205 #define CS_CTL1_SELA_6 ((uint32_t)0x00000600) /*!< for future use. Defaults to REFOCLK. Not recommended for use to ensure future */ 206 /* compatibilities. */ 207 #define CS_CTL1_SELA_7 ((uint32_t)0x00000700) /*!< for future use. Defaults to REFOCLK. Not recommended for use to ensure future */ 208 /* compatibilities. */ 209 /* CS_CTL2[LFXTAGCOFF] Bits */ 210 #define CS_CTL2_LFXTAGCOFF_OFS ( 7) /*!< LFXTAGCOFF Bit Offset */ 211 #define CS_CTL2_LFXTAGCOFF ((uint32_t)0x00000080) /*!< Disables the automatic gain control of the LFXT crystal */ 212 213 /* CS_CTL3[FCNTHF2] Bits */ 214 #define CS_CTL3_FCNTHF2_OFS ( 8) /*!< FCNTHF2 Bit Offset */ 215 #define CS_CTL3_FCNTHF2_MASK ((uint32_t)0x00000300) /*!< FCNTHF2 Bit Mask */ 216 #define CS_CTL3_FCNTHF20 ((uint32_t)0x00000100) /*!< FCNTHF2 Bit 0 */ 217 #define CS_CTL3_FCNTHF21 ((uint32_t)0x00000200) /*!< FCNTHF2 Bit 1 */ 218 #define CS_CTL3_FCNTHF2_0 ((uint32_t)0x00000000) /*!< 2048 cycles */ 219 #define CS_CTL3_FCNTHF2_1 ((uint32_t)0x00000100) /*!< 4096 cycles */ 220 #define CS_CTL3_FCNTHF2_2 ((uint32_t)0x00000200) /*!< 8192 cycles */ 221 #define CS_CTL3_FCNTHF2_3 ((uint32_t)0x00000300) /*!< 16384 cycles */ 222 #define CS_CTL3_FCNTHF2__2048 ((uint32_t)0x00000000) /*!< 2048 cycles */ 223 #define CS_CTL3_FCNTHF2__4096 ((uint32_t)0x00000100) /*!< 4096 cycles */ 224 #define CS_CTL3_FCNTHF2__8192 ((uint32_t)0x00000200) /*!< 8192 cycles */ 225 #define CS_CTL3_FCNTHF2__16384 ((uint32_t)0x00000300) /*!< 16384 cycles */ 226 /* CS_CTL3[RFCNTHF2] Bits */ 227 #define CS_CTL3_RFCNTHF2_OFS (10) /*!< RFCNTHF2 Bit Offset */ 228 #define CS_CTL3_RFCNTHF2 ((uint32_t)0x00000400) /*!< Reset start fault counter for HFXT2 */ 229 /* CS_CTL3[FCNTHF2_EN] Bits */ 230 #define CS_CTL3_FCNTHF2_EN_OFS (11) /*!< FCNTHF2_EN Bit Offset */ 231 #define CS_CTL3_FCNTHF2_EN ((uint32_t)0x00000800) /*!< Enable start fault counter for HFXT2 */ 232 /* CS_STAT[HFXT2_ON] Bits */ 233 #define CS_STAT_HFXT2_ON_OFS ( 3) /*!< HFXT2_ON Bit Offset */ 234 #define CS_STAT_HFXT2_ON ((uint32_t)0x00000008) /*!< HFXT2 status */ 235 /* CS_IE[HFXT2IE] Bits */ 236 #define CS_IE_HFXT2IE_OFS ( 2) /*!< HFXT2IE Bit Offset */ 237 #define CS_IE_HFXT2IE ((uint32_t)0x00000004) /*!< HFXT2 oscillator fault flag interrupt enable */ 238 /* CS_IE[FCNTHF2IE] Bits */ 239 #define CS_IE_FCNTHF2IE_OFS (10) /*!< FCNTHF2IE Bit Offset */ 240 #define CS_IE_FCNTHF2IE ((uint32_t)0x00000400) /*!< Start fault counter interrupt enable HFXT2 */ 241 /* CS_IE[PLLOOLIE] Bits */ 242 #define CS_IE_PLLOOLIE_OFS (12) /*!< PLLOOLIE Bit Offset */ 243 #define CS_IE_PLLOOLIE ((uint32_t)0x00001000) /*!< PLL out-of-lock interrupt enable */ 244 /* CS_IE[PLLLOSIE] Bits */ 245 #define CS_IE_PLLLOSIE_OFS (13) /*!< PLLLOSIE Bit Offset */ 246 #define CS_IE_PLLLOSIE ((uint32_t)0x00002000) /*!< PLL loss-of-signal interrupt enable */ 247 /* CS_IE[PLLOORIE] Bits */ 248 #define CS_IE_PLLOORIE_OFS (14) /*!< PLLOORIE Bit Offset */ 249 #define CS_IE_PLLOORIE ((uint32_t)0x00004000) /*!< PLL out-of-range interrupt enable */ 250 /* CS_IE[CALIE] Bits */ 251 #define CS_IE_CALIE_OFS (15) /*!< CALIE Bit Offset */ 252 #define CS_IE_CALIE ((uint32_t)0x00008000) /*!< REFCNT period counter interrupt enable */ 253 /* CS_IFG[HFXT2IFG] Bits */ 254 #define CS_IFG_HFXT2IFG_OFS ( 2) /*!< HFXT2IFG Bit Offset */ 255 #define CS_IFG_HFXT2IFG ((uint32_t)0x00000004) /*!< HFXT2 oscillator fault flag */ 256 /* CS_IFG[FCNTHF2IFG] Bits */ 257 #define CS_IFG_FCNTHF2IFG_OFS (11) /*!< FCNTHF2IFG Bit Offset */ 258 #define CS_IFG_FCNTHF2IFG ((uint32_t)0x00000800) /*!< Start fault counter interrupt flag HFXT2 */ 259 /* CS_IFG[PLLOOLIFG] Bits */ 260 #define CS_IFG_PLLOOLIFG_OFS (12) /*!< PLLOOLIFG Bit Offset */ 261 #define CS_IFG_PLLOOLIFG ((uint32_t)0x00001000) /*!< PLL out-of-lock interrupt flag */ 262 /* CS_IFG[PLLLOSIFG] Bits */ 263 #define CS_IFG_PLLLOSIFG_OFS (13) /*!< PLLLOSIFG Bit Offset */ 264 #define CS_IFG_PLLLOSIFG ((uint32_t)0x00002000) /*!< PLL loss-of-signal interrupt flag */ 265 /* CS_IFG[PLLOORIFG] Bits */ 266 #define CS_IFG_PLLOORIFG_OFS (14) /*!< PLLOORIFG Bit Offset */ 267 #define CS_IFG_PLLOORIFG ((uint32_t)0x00004000) /*!< PLL out-of-range interrupt flag */ 268 /* CS_IFG[CALIFG] Bits */ 269 #define CS_IFG_CALIFG_OFS (15) /*!< CALIFG Bit Offset */ 270 #define CS_IFG_CALIFG ((uint32_t)0x00008000) /*!< REFCNT period counter expired */ 271 /* CS_CLRIFG[CLR_HFXT2IFG] Bits */ 272 #define CS_CLRIFG_CLR_HFXT2IFG_OFS ( 2) /*!< CLR_HFXT2IFG Bit Offset */ 273 #define CS_CLRIFG_CLR_HFXT2IFG ((uint32_t)0x00000004) /*!< Clear HFXT2 oscillator fault interrupt flag */ 274 /* CS_CLRIFG[CLR_CALIFG] Bits */ 275 #define CS_CLRIFG_CLR_CALIFG_OFS (15) /*!< CLR_CALIFG Bit Offset */ 276 #define CS_CLRIFG_CLR_CALIFG ((uint32_t)0x00008000) /*!< REFCNT period counter clear interrupt flag */ 277 /* CS_CLRIFG[CLR_FCNTHF2IFG] Bits */ 278 #define CS_CLRIFG_CLR_FCNTHF2IFG_OFS (10) /*!< CLR_FCNTHF2IFG Bit Offset */ 279 #define CS_CLRIFG_CLR_FCNTHF2IFG ((uint32_t)0x00000400) /*!< Start fault counter clear interrupt flag HFXT2 */ 280 /* CS_CLRIFG[CLR_PLLOOLIFG] Bits */ 281 #define CS_CLRIFG_CLR_PLLOOLIFG_OFS (12) /*!< CLR_PLLOOLIFG Bit Offset */ 282 #define CS_CLRIFG_CLR_PLLOOLIFG ((uint32_t)0x00001000) /*!< PLL out-of-lock clear interrupt flag */ 283 /* CS_CLRIFG[CLR_PLLLOSIFG] Bits */ 284 #define CS_CLRIFG_CLR_PLLLOSIFG_OFS (13) /*!< CLR_PLLLOSIFG Bit Offset */ 285 #define CS_CLRIFG_CLR_PLLLOSIFG ((uint32_t)0x00002000) /*!< PLL loss-of-signal clear interrupt flag */ 286 /* CS_CLRIFG[CLR_PLLOORIFG] Bits */ 287 #define CS_CLRIFG_CLR_PLLOORIFG_OFS (14) /*!< CLR_PLLOORIFG Bit Offset */ 288 #define CS_CLRIFG_CLR_PLLOORIFG ((uint32_t)0x00004000) /*!< PLL out-of-range clear interrupt flag */ 289 /* CS_SETIFG[SET_HFXT2IFG] Bits */ 290 #define CS_SETIFG_SET_HFXT2IFG_OFS ( 2) /*!< SET_HFXT2IFG Bit Offset */ 291 #define CS_SETIFG_SET_HFXT2IFG ((uint32_t)0x00000004) /*!< Set HFXT2 oscillator fault interrupt flag */ 292 /* CS_SETIFG[SET_CALIFG] Bits */ 293 #define CS_SETIFG_SET_CALIFG_OFS (15) /*!< SET_CALIFG Bit Offset */ 294 #define CS_SETIFG_SET_CALIFG ((uint32_t)0x00008000) /*!< REFCNT period counter set interrupt flag */ 295 /* CS_SETIFG[SET_FCNTHF2IFG] Bits */ 296 #define CS_SETIFG_SET_FCNTHF2IFG_OFS (10) /*!< SET_FCNTHF2IFG Bit Offset */ 297 #define CS_SETIFG_SET_FCNTHF2IFG ((uint32_t)0x00000400) /*!< Start fault counter set interrupt flag HFXT2 */ 298 /* CS_SETIFG[SET_PLLOOLIFG] Bits */ 299 #define CS_SETIFG_SET_PLLOOLIFG_OFS (12) /*!< SET_PLLOOLIFG Bit Offset */ 300 #define CS_SETIFG_SET_PLLOOLIFG ((uint32_t)0x00001000) /*!< PLL out-of-lock set interrupt flag */ 301 /* CS_SETIFG[SET_PLLLOSIFG] Bits */ 302 #define CS_SETIFG_SET_PLLLOSIFG_OFS (13) /*!< SET_PLLLOSIFG Bit Offset */ 303 #define CS_SETIFG_SET_PLLLOSIFG ((uint32_t)0x00002000) /*!< PLL loss-of-signal set interrupt flag */ 304 /* CS_SETIFG[SET_PLLOORIFG] Bits */ 305 #define CS_SETIFG_SET_PLLOORIFG_OFS (14) /*!< SET_PLLOORIFG Bit Offset */ 306 #define CS_SETIFG_SET_PLLOORIFG ((uint32_t)0x00004000) /*!< PLL out-of-range set interrupt flag */ 307 308 /* EUSCI_x_CTLW0[SSEL] Bits */ 309 #define EUSCI_A_CTLW0_SSEL_0 ((uint16_t)0x0000) /*!< Reserved */ 310 #define EUSCI_B_CTLW0_SSEL_0 ((uint16_t)0x0000) /*!< Reserved */ 311 #define EUSCI_B_CTLW0_SSEL_3 ((uint16_t)0x00C0) /*!< SMCLK */ 312 313 /* RSTCTL_PSSRESET_STAT[SVSL] Bits */ 314 #define RSTCTL_PSSRESET_STAT_SVSL_OFS ( 0) /*!< SVSL Bit Offset */ 315 #define RSTCTL_PSSRESET_STAT_SVSL ((uint32_t)0x00000001) /*!< Indicates if POR was caused by an SVSL trip condition in the PSS */ 316 317 /* SYSCTL_SYSTEM_STAT[DBG_SEC_ACT] Bits */ 318 #define SYSCTL_SYSTEM_STAT_DBG_SEC_ACT_OFS ( 3) /*!< DBG_SEC_ACT Bit Offset */ 319 #define SYSCTL_SYSTEM_STAT_DBG_SEC_ACT ((uint32_t)0x00000008) /*!< Debug Security active */ 320 /* SYSCTL_SYSTEM_STAT[JTAG_SWD_LOCK_ACT] Bits */ 321 #define SYSCTL_SYSTEM_STAT_JTAG_SWD_LOCK_ACT_OFS ( 4) /*!< JTAG_SWD_LOCK_ACT Bit Offset */ 322 #define SYSCTL_SYSTEM_STAT_JTAG_SWD_LOCK_ACT ((uint32_t)0x00000010) /*!< Indicates if JTAG and SWD Lock is active */ 323 /* SYSCTL_SYSTEM_STAT[IP_PROT_ACT] Bits */ 324 #define SYSCTL_SYSTEM_STAT_IP_PROT_ACT_OFS ( 5) /*!< IP_PROT_ACT Bit Offset */ 325 #define SYSCTL_SYSTEM_STAT_IP_PROT_ACT ((uint32_t)0x00000020) /*!< Indicates if IP protection is active */ 326 327