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 #ifndef __SYSCTL_H__ 33 #define __SYSCTL_H__ 34 35 #include <stdint.h> 36 #include <ti/devices/msp432p4xx/inc/msp.h> 37 38 /* Define to ensure that our current MSP432 has the SYSCTL module. This 39 definition is included in the device specific header file */ 40 #ifdef __MCU_HAS_SYSCTL__ 41 42 //***************************************************************************** 43 // 44 //! \addtogroup sysctl_api 45 //! @{ 46 // 47 //***************************************************************************** 48 49 //***************************************************************************** 50 // 51 // If building with a C++ compiler, make all of the definitions in this header 52 // have a C binding. 53 // 54 //***************************************************************************** 55 #ifdef __cplusplus 56 extern "C" 57 { 58 #endif 59 60 //***************************************************************************** 61 // 62 // Control specific variables 63 // 64 //***************************************************************************** 65 #define SYSCTL_SRAM_BANK7 SYSCTL_SRAM_BANKEN_BNK7_EN 66 #define SYSCTL_SRAM_BANK6 SYSCTL_SRAM_BANKEN_BNK6_EN 67 #define SYSCTL_SRAM_BANK5 SYSCTL_SRAM_BANKEN_BNK5_EN 68 #define SYSCTL_SRAM_BANK4 SYSCTL_SRAM_BANKEN_BNK4_EN 69 #define SYSCTL_SRAM_BANK3 SYSCTL_SRAM_BANKEN_BNK3_EN 70 #define SYSCTL_SRAM_BANK2 SYSCTL_SRAM_BANKEN_BNK2_EN 71 #define SYSCTL_SRAM_BANK1 SYSCTL_SRAM_BANKEN_BNK1_EN 72 73 #define SYSCTL_HARD_RESET 1 74 #define SYSCTL_SOFT_RESET 0 75 76 #define SYSCTL_PERIPH_DMA SYSCTL_PERIHALT_CTL_HALT_DMA 77 #define SYSCTL_PERIPH_WDT SYSCTL_PERIHALT_CTL_HALT_WDT 78 #define SYSCTL_PERIPH_ADC SYSCTL_PERIHALT_CTL_HALT_ADC 79 #define SYSCTL_PERIPH_EUSCIB3 SYSCTL_PERIHALT_CTL_HALT_EUB3 80 #define SYSCTL_PERIPH_EUSCIB2 SYSCTL_PERIHALT_CTL_HALT_EUB2 81 #define SYSCTL_PERIPH_EUSCIB1 SYSCTL_PERIHALT_CTL_HALT_EUB1 82 #define SYSCTL_PERIPH_EUSCIB0 SYSCTL_PERIHALT_CTL_HALT_EUB0 83 #define SYSCTL_PERIPH_EUSCIA3 SYSCTL_PERIHALT_CTL_HALT_EUA3 84 #define SYSCTL_PERIPH_EUSCIA2 SYSCTL_PERIHALT_CTL_HALT_EUA2 85 #define SYSCTL_PERIPH_EUSCIA1 SYSCTL_PERIHALT_CTL_HALT_EUA1 86 #define SYSCTL_PERIPH_EUSCIA0 SYSCTL_PERIHALT_CTL_HALT_EUA0 87 #define SYSCTL_PERIPH_TIMER32_0_MODULE SYSCTL_PERIHALT_CTL_HALT_T32_0 88 #define SYSCTL_PERIPH_TIMER16_3 SYSCTL_PERIHALT_CTL_HALT_T16_3 89 #define SYSCTL_PERIPH_TIMER16_2 SYSCTL_PERIHALT_CTL_HALT_T16_2 90 #define SYSCTL_PERIPH_TIMER16_1 SYSCTL_PERIHALT_CTL_HALT_T16_1 91 #define SYSCTL_PERIPH_TIMER16_0 SYSCTL_PERIHALT_CTL_HALT_T16_0 92 93 #define SYSCTL_NMIPIN_SRC SYSCTL_NMI_CTLSTAT_PIN_SRC 94 #define SYSCTL_PCM_SRC SYSCTL_NMI_CTLSTAT_PCM_SRC 95 #define SYSCTL_PSS_SRC SYSCTL_NMI_CTLSTAT_PSS_SRC 96 #define SYSCTL_CS_SRC SYSCTL_NMI_CTLSTAT_CS_SRC 97 98 #define SYSCTL_REBOOT_KEY 0x6900 99 100 #define SYSCTL_1_2V_REF (uint32_t)&TLV->ADC14_REF1P2V_TS30C - (uint32_t)TLV_BASE 101 #define SYSCTL_1_45V_REF (uint32_t)&TLV->ADC14_REF1P45V_TS30C - (uint32_t)TLV_BASE 102 #define SYSCTL_2_5V_REF (uint32_t)&TLV->ADC14_REF2P5V_TS30C - (uint32_t)TLV_BASE 103 104 #define SYSCTL_85_DEGREES_C 4 105 #define SYSCTL_30_DEGREES_C 0 106 107 108 #define TLV_START 0x00201004 109 #define TLV_TAG_RESERVED1 1 110 #define TLV_TAG_RESERVED2 2 111 #define TLV_TAG_CS 3 112 #define TLV_TAG_FLASHCTL 4 113 #define TLV_TAG_ADC14 5 114 #define TLV_TAG_RESERVED6 6 115 #define TLV_TAG_RESERVED7 7 116 #define TLV_TAG_REF 8 117 #define TLV_TAG_RESERVED9 9 118 #define TLV_TAG_RESERVED10 10 119 #define TLV_TAG_DEVINFO 11 120 #define TLV_TAG_DIEREC 12 121 #define TLV_TAG_RANDNUM 13 122 #define TLV_TAG_RESERVED14 14 123 #define TLV_TAG_BSL 15 124 #define TLV_TAGEND 0x0BD0E11D 125 126 //***************************************************************************** 127 // 128 // Structures for TLV definitions 129 // 130 //***************************************************************************** 131 typedef struct 132 { 133 uint32_t maxProgramPulses; 134 uint32_t maxErasePulses; 135 } SysCtl_FlashTLV_Info; 136 137 typedef struct 138 { 139 uint32_t rDCOIR_FCAL_RSEL04; 140 uint32_t rDCOIR_FCAL_RSEL5; 141 uint32_t rDCOIR_MAXPOSTUNE_RSEL04; 142 uint32_t rDCOIR_MAXNEGTUNE_RSEL04; 143 uint32_t rDCOIR_MAXPOSTUNE_RSEL5; 144 uint32_t rDCOIR_MAXNEGTUNE_RSEL5; 145 uint32_t rDCOIR_CONSTK_RSEL04; 146 uint32_t rDCOIR_CONSTK_RSEL5; 147 uint32_t rDCOER_FCAL_RSEL04; 148 uint32_t rDCOER_FCAL_RSEL5; 149 uint32_t rDCOER_MAXPOSTUNE_RSEL04; 150 uint32_t rDCOER_MAXNEGTUNE_RSEL04; 151 uint32_t rDCOER_MAXPOSTUNE_RSEL5; 152 uint32_t rDCOER_MAXNEGTUNE_RSEL5; 153 uint32_t rDCOER_CONSTK_RSEL04; 154 uint32_t rDCOER_CONSTK_RSEL5; 155 156 } SysCtl_CSCalTLV_Info; 157 158 //***************************************************************************** 159 // 160 // Prototypes for the APIs. 161 // 162 //***************************************************************************** 163 164 //***************************************************************************** 165 // 166 //! Gets the size of the SRAM. 167 //! 168 //! \return The total number of bytes of SRAM. 169 // 170 //***************************************************************************** 171 extern uint_least32_t SysCtl_getSRAMSize(void); 172 173 //***************************************************************************** 174 // 175 //! Gets the size of the flash. 176 //! 177 //! \return The total number of bytes of flash. 178 // 179 //***************************************************************************** 180 extern uint_least32_t SysCtl_getFlashSize(void); 181 182 //***************************************************************************** 183 // 184 //! Reboots the device and causes the device to re-initialize itself. 185 //! 186 //! \return This function does not return. 187 // 188 //***************************************************************************** 189 extern void SysCtl_rebootDevice(void); 190 191 //***************************************************************************** 192 // 193 //! The TLV structure uses a tag or base address to identify segments of the 194 //! table where information is stored. Some examples of TLV tags are Peripheral 195 //! Descriptor, Interrupts, Info Block and Die Record. This function retrieves 196 //! the value of a tag and the length of the tag. 197 //! 198 //! \param tag represents the tag for which the information needs to be 199 //! retrieved. 200 //! Valid values are: 201 //! - \b TLV_TAG_RESERVED1 202 //! - \b TLV_TAG_RESERVED2 203 //! - \b TLV_TAG_CS 204 //! - \b TLV_TAG_FLASHCTL 205 //! - \b TLV_TAG_ADC14 206 //! - \b TLV_TAG_RESERVED6 207 //! - \b TLV_TAG_RESERVED7 208 //! - \b TLV_TAG_REF 209 //! - \b TLV_TAG_RESERVED9 210 //! - \b TLV_TAG_RESERVED10 211 //! - \b TLV_TAG_DEVINFO 212 //! - \b TLV_TAG_DIEREC 213 //! - \b TLV_TAG_RANDNUM 214 //! - \b TLV_TAG_RESERVED14 215 //! \param instance In some cases a specific tag may have more than one 216 //! instance. For example there may be multiple instances of timer 217 //! calibration data present under a single Timer Cal tag. This variable 218 //! specifies the instance for which information is to be retrieved (0, 219 //! 1, etc.). When only one instance exists; 0 is passed. 220 //! \param length Acts as a return through indirect reference. The function 221 //! retrieves the value of the TLV tag length. This value is pointed to 222 //! by *length and can be used by the application level once the 223 //! function is called. If the specified tag is not found then the 224 //! pointer is null 0. 225 //! \param data_address acts as a return through indirect reference. Once the 226 //! function is called data_address points to the pointer that holds the 227 //! value retrieved from the specified TLV tag. If the specified tag is 228 //! not found then the pointer is null 0. 229 //! 230 //! \return None 231 // 232 //***************************************************************************** 233 extern void SysCtl_getTLVInfo(uint_fast8_t tag, uint_fast8_t instance, 234 uint_fast8_t *length, uint32_t **data_address); 235 236 //***************************************************************************** 237 // 238 //! Enables a set of banks in the SRAM. This can be used to optimize power 239 //! consumption when every SRAM bank isn't needed. It is important to note 240 //! that when a higher bank is enabled, all of the SRAM banks below that bank 241 //! are also enabled. For example, if the user enables SYSCTL_SRAM_BANK7, 242 //! the banks SYSCTL_SRAM_BANK1 through SYSCTL_SRAM_BANK7 will be enabled 243 //! (SRAM_BANK0 is reserved and always enabled). 244 //! 245 //! \param sramBank The SRAM bank tier to enable. 246 //! Must be only one of the following values: 247 //! - \b SYSCTL_SRAM_BANK1, 248 //! - \b SYSCTL_SRAM_BANK2, 249 //! - \b SYSCTL_SRAM_BANK3, 250 //! - \b SYSCTL_SRAM_BANK4, 251 //! - \b SYSCTL_SRAM_BANK5, 252 //! - \b SYSCTL_SRAM_BANK6, 253 //! - \b SYSCTL_SRAM_BANK7 254 //! 255 //! \note \b SYSCTL_SRAM_BANK0 is reserved and always enabled. 256 //! 257 //! \return None. 258 // 259 //***************************************************************************** 260 extern void SysCtl_enableSRAMBank(uint_fast8_t sramBank); 261 262 //***************************************************************************** 263 // 264 //! Disables a set of banks in the SRAM. This can be used to optimize power 265 //! consumption when every SRAM bank isn't needed. It is important to note 266 //! that when a higher bank is disabled, all of the SRAM banks above that bank 267 //! are also disabled. For example, if the user disables SYSCTL_SRAM_BANK5, 268 //! the banks SYSCTL_SRAM_BANK6 through SYSCTL_SRAM_BANK7 will be disabled. 269 //! 270 //! \param sramBank The SRAM bank tier to disable. 271 //! Must be only one of the following values: 272 //! - \b SYSCTL_SRAM_BANK1, 273 //! - \b SYSCTL_SRAM_BANK2, 274 //! - \b SYSCTL_SRAM_BANK3, 275 //! - \b SYSCTL_SRAM_BANK4, 276 //! - \b SYSCTL_SRAM_BANK5, 277 //! - \b SYSCTL_SRAM_BANK6, 278 //! - \b SYSCTL_SRAM_BANK7 279 //! 280 //! \note \b SYSCTL_SRAM_BANK0 is reserved and always enabled. 281 //! 282 //! \return None. 283 // 284 //***************************************************************************** 285 extern void SysCtl_disableSRAMBank(uint_fast8_t sramBank); 286 287 //***************************************************************************** 288 // 289 //! Enables retention of the specified SRAM bank register when the device goes 290 //! into LPM3 mode. When the system is placed in LPM3 mode, the SRAM 291 //! banks specified with this function will be placed into retention mode. By 292 //! default, retention of every SRAM bank except SYSCTL_SRAM_BANK0 (reserved) is 293 //! disabled. Retention of individual banks can be set without the restrictions 294 //! of the enable/disable functions. 295 //! 296 //! \param sramBank The SRAM banks to enable retention 297 //! Can be a bitwise OR of the following values: 298 //! - \b SYSCTL_SRAM_BANK1, 299 //! - \b SYSCTL_SRAM_BANK2, 300 //! - \b SYSCTL_SRAM_BANK3, 301 //! - \b SYSCTL_SRAM_BANK4, 302 //! - \b SYSCTL_SRAM_BANK5, 303 //! - \b SYSCTL_SRAM_BANK6, 304 //! - \b SYSCTL_SRAM_BANK7 305 //! \note \b SYSCTL_SRAM_BANK0 is reserved and retention is always enabled. 306 //! 307 //! 308 //! \return None. 309 // 310 //***************************************************************************** 311 extern void SysCtl_enableSRAMBankRetention(uint_fast8_t sramBank); 312 313 //***************************************************************************** 314 // 315 //! Disables retention of the specified SRAM bank register when the device goes 316 //! into LPM3 mode. When the system is placed in LPM3 mode, the SRAM 317 //! banks specified with this function will not be placed into retention mode. 318 //! By default, retention of every SRAM bank except SYSCTL_SRAM_BANK0 (reserved) 319 //! is disabled. Retention of individual banks can be set without the 320 //! restrictions of the enable/disable SRAM bank functions. 321 //! 322 //! \param sramBank The SRAM banks to disable retention 323 //! Can be a bitwise OR of the following values: 324 //! - \b SYSCTL_SRAM_BANK1, 325 //! - \b SYSCTL_SRAM_BANK2, 326 //! - \b SYSCTL_SRAM_BANK3, 327 //! - \b SYSCTL_SRAM_BANK4, 328 //! - \b SYSCTL_SRAM_BANK5, 329 //! - \b SYSCTL_SRAM_BANK6, 330 //! - \b SYSCTL_SRAM_BANK7 331 //! \note \b SYSCTL_SRAM_BANK0 is reserved and retention is always enabled. 332 //! 333 //! \return None. 334 // 335 // 336 //***************************************************************************** 337 extern void SysCtl_disableSRAMBankRetention(uint_fast8_t sramBank); 338 339 //***************************************************************************** 340 // 341 //! Makes it so that the provided peripherals will either halt execution after 342 //! a CPU HALT. Parameters in this function can be combined to account for 343 //! multiple peripherals. By default, all peripherals keep running after a 344 //! CPU HALT. 345 //! 346 //! \param devices The peripherals to continue running after a CPU HALT 347 //! This can be a bitwise OR of the following values: 348 //! - \b SYSCTL_PERIPH_DMA, 349 //! - \b SYSCTL_PERIPH_WDT, 350 //! - \b SYSCTL_PERIPH_ADC, 351 //! - \b SYSCTL_PERIPH_EUSCIB3, 352 //! - \b SYSCTL_PERIPH_EUSCIB2, 353 //! - \b SYSCTL_PERIPH_EUSCIB1 354 //! - \b SYSCTL_PERIPH_EUSCIB0, 355 //! - \b SYSCTL_PERIPH_EUSCIA3, 356 //! - \b SYSCTL_PERIPH_EUSCIA2 357 //! - \b SYSCTL_PERIPH_EUSCIA1, 358 //! - \b SYSCTL_PERIPH_EUSCIA0, 359 //! - \b SYSCTL_PERIPH_TIMER32_0_MODULE, 360 //! - \b SYSCTL_PERIPH_TIMER16_3, 361 //! - \b SYSCTL_PERIPH_TIMER16_2, 362 //! - \b SYSCTL_PERIPH_TIMER16_1, 363 //! - \b SYSCTL_PERIPH_TIMER16_0 364 //! 365 //! \return None. 366 // 367 // 368 //***************************************************************************** 369 extern void SysCtl_enablePeripheralAtCPUHalt(uint_fast16_t devices); 370 371 //***************************************************************************** 372 // 373 //! Makes it so that the provided peripherals will either halt execution after 374 //! a CPU HALT. Parameters in this function can be combined to account for 375 //! multiple peripherals. By default, all peripherals keep running after a 376 //! CPU HALT. 377 //! 378 //! \param devices The peripherals to disable after a CPU HALT 379 //! 380 //! The \e devices parameter can be a bitwise OR of the following values: 381 //! This can be a bitwise OR of the following values: 382 //! - \b SYSCTL_PERIPH_DMA, 383 //! - \b SYSCTL_PERIPH_WDT, 384 //! - \b SYSCTL_PERIPH_ADC, 385 //! - \b SYSCTL_PERIPH_EUSCIB3, 386 //! - \b SYSCTL_PERIPH_EUSCIB2, 387 //! - \b SYSCTL_PERIPH_EUSCIB1 388 //! - \b SYSCTL_PERIPH_EUSCIB0, 389 //! - \b SYSCTL_PERIPH_EUSCIA3, 390 //! - \b SYSCTL_PERIPH_EUSCIA2 391 //! - \b SYSCTL_PERIPH_EUSCIA1, 392 //! - \b SYSCTL_PERIPH_EUSCIA0, 393 //! - \b SYSCTL_PERIPH_TIMER32_0_MODULE, 394 //! - \b SYSCTL_PERIPH_TIMER16_3, 395 //! - \b SYSCTL_PERIPH_TIMER16_2, 396 //! - \b SYSCTL_PERIPH_TIMER16_1, 397 //! - \b SYSCTL_PERIPH_TIMER16_0 398 //! 399 //! \return None. 400 // 401 // 402 //***************************************************************************** 403 extern void SysCtl_disablePeripheralAtCPUHalt(uint_fast16_t devices); 404 405 //***************************************************************************** 406 // 407 //! Sets the type of RESET that happens when a watchdog timeout occurs. 408 //! 409 //! \param resetType The type of reset to set 410 //! 411 //! The \e resetType parameter must be only one of the following values: 412 //! - \b SYSCTL_HARD_RESET, 413 //! - \b SYSCTL_SOFT_RESET 414 //! 415 //! \return None. 416 // 417 // 418 //***************************************************************************** 419 extern void SysCtl_setWDTTimeoutResetType(uint_fast8_t resetType); 420 421 //***************************************************************************** 422 // 423 //! Sets the type of RESET that happens when a watchdog password violation 424 //! occurs. 425 //! 426 //! \param resetType The type of reset to set 427 //! 428 //! The \e resetType parameter must be only one of the following values: 429 //! - \b SYSCTL_HARD_RESET, 430 //! - \b SYSCTL_SOFT_RESET 431 //! 432 //! \return None. 433 // 434 // 435 //***************************************************************************** 436 extern void SysCtl_setWDTPasswordViolationResetType(uint_fast8_t resetType); 437 438 //***************************************************************************** 439 // 440 //! Disables NMIs for the provided modules. When disabled, a NMI flag will not 441 //! occur when a fault condition comes from the corresponding modules. 442 //! 443 //! \param flags The NMI sources to disable 444 //! Can be a bitwise OR of the following parameters: 445 //! - \b SYSCTL_NMIPIN_SRC, 446 //! - \b SYSCTL_PCM_SRC, 447 //! - \b SYSCTL_PSS_SRC, 448 //! - \b SYSCTL_CS_SRC 449 //! 450 // 451 //***************************************************************************** 452 extern void SysCtl_disableNMISource(uint_fast8_t flags); 453 454 //***************************************************************************** 455 // 456 //! Enables NMIs for the provided modules. When enabled, a NMI flag will 457 //! occur when a fault condition comes from the corresponding modules. 458 //! 459 //! \param flags The NMI sources to enable 460 //! Can be a bitwise OR of the following parameters: 461 //! - \b SYSCTL_NMIPIN_SRC, 462 //! - \b SYSCTL_PCM_SRC, 463 //! - \b SYSCTL_PSS_SRC, 464 //! - \b SYSCTL_CS_SRC 465 //! 466 // 467 //***************************************************************************** 468 extern void SysCtl_enableNMISource(uint_fast8_t flags); 469 470 //***************************************************************************** 471 // 472 //! Returns the current sources of NMIs that are enabled 473 //! 474 //! \return Bitwise OR of NMI flags that are enabled 475 // 476 //***************************************************************************** 477 extern uint_fast8_t SysCtl_getNMISourceStatus(void); 478 479 //***************************************************************************** 480 // 481 //! Enables glitch suppression on the reset pin of the device. Refer to the 482 //! device data sheet for specific information about glitch suppression 483 //! 484 //! \return None. 485 // 486 // 487 //***************************************************************************** 488 extern void SysCtl_enableGlitchFilter(void); 489 490 //***************************************************************************** 491 // 492 //! Disables glitch suppression on the reset pin of the device. Refer to the 493 //! device data sheet for specific information about glitch suppression 494 //! 495 //! \return None. 496 // 497 // 498 //***************************************************************************** 499 extern void SysCtl_disableGlitchFilter(void); 500 501 //***************************************************************************** 502 // 503 //! Retrieves the calibration constant of the temperature sensor to be used 504 //! in temperature calculation. 505 //! 506 //! \param refVoltage Reference voltage being used. 507 //! 508 //! The \e refVoltage parameter must be only one of the following values: 509 //! - \b SYSCTL_1_2V_REF 510 //! - \b SYSCTL_1_45V_REF 511 //! - \b SYSCTL_2_5V_REF 512 //! 513 //! \param temperature is the calibration temperature that the user wants to be 514 //! returned. 515 //! 516 //! The \e temperature parameter must be only one of the following values: 517 //! - \b SYSCTL_30_DEGREES_C 518 //! - \b SYSCTL_85_DEGREES_C 519 //! 520 //! \return None. 521 // 522 // 523 //***************************************************************************** 524 extern uint_fast16_t SysCtl_getTempCalibrationConstant(uint32_t refVoltage, 525 uint32_t temperature); 526 527 //***************************************************************************** 528 // 529 // Mark the end of the C bindings section for C++ compilers. 530 // 531 //***************************************************************************** 532 #ifdef __cplusplus 533 } 534 #endif 535 536 //***************************************************************************** 537 // 538 // Close the Doxygen group. 539 //! @} 540 // 541 //***************************************************************************** 542 543 #endif /* __MCU_HAS_SYSCTL__ */ 544 545 #endif // __SYSCTL_H__ 546