sysctl.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  1. //*****************************************************************************
  2. //
  3. // sysctl.h - Prototypes for the system control driver.
  4. //
  5. // Copyright (c) 2005-2017 Texas Instruments Incorporated. All rights reserved.
  6. // Software License Agreement
  7. //
  8. // Redistribution and use in source and binary forms, with or without
  9. // modification, are permitted provided that the following conditions
  10. // are met:
  11. //
  12. // Redistributions of source code must retain the above copyright
  13. // notice, this list of conditions and the following disclaimer.
  14. //
  15. // Redistributions in binary form must reproduce the above copyright
  16. // notice, this list of conditions and the following disclaimer in the
  17. // documentation and/or other materials provided with the
  18. // distribution.
  19. //
  20. // Neither the name of Texas Instruments Incorporated nor the names of
  21. // its contributors may be used to endorse or promote products derived
  22. // from this software without specific prior written permission.
  23. //
  24. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  25. // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  26. // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  27. // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  28. // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  29. // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  30. // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  31. // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  32. // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  33. // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  34. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  35. //
  36. //*****************************************************************************
  37. #ifndef __DRIVERLIB_SYSCTL_H__
  38. #define __DRIVERLIB_SYSCTL_H__
  39. #include <stdint.h>
  40. #include <stdbool.h>
  41. //*****************************************************************************
  42. //
  43. // If building with a C++ compiler, make all of the definitions in this header
  44. // have a C binding.
  45. //
  46. //*****************************************************************************
  47. #ifdef __cplusplus
  48. extern "C"
  49. {
  50. #endif
  51. //*****************************************************************************
  52. //
  53. // The following are values that can be passed to the
  54. // SysCtlPeripheralPresent(), SysCtlPeripheralEnable(),
  55. // SysCtlPeripheralDisable(), and SysCtlPeripheralReset() APIs as the
  56. // ui32Peripheral parameter. The peripherals in the fourth group (upper nibble
  57. // is 3) can only be used with the SysCtlPeripheralPresent() API.
  58. //
  59. //*****************************************************************************
  60. #define SYSCTL_PERIPH_ADC0 0xf0003800 // ADC 0
  61. #define SYSCTL_PERIPH_ADC1 0xf0003801 // ADC 1
  62. #define SYSCTL_PERIPH_CAN0 0xf0003400 // CAN 0
  63. #define SYSCTL_PERIPH_CAN1 0xf0003401 // CAN 1
  64. #define SYSCTL_PERIPH_COMP0 0xf0003c00 // Analog Comparator Module 0
  65. #define SYSCTL_PERIPH_EMAC0 0xf0009c00 // Ethernet MAC0
  66. #define SYSCTL_PERIPH_EPHY0 0xf0003000 // Ethernet PHY0
  67. #define SYSCTL_PERIPH_EPI0 0xf0001000 // EPI0
  68. #define SYSCTL_PERIPH_GPIOA 0xf0000800 // GPIO A
  69. #define SYSCTL_PERIPH_GPIOB 0xf0000801 // GPIO B
  70. #define SYSCTL_PERIPH_GPIOC 0xf0000802 // GPIO C
  71. #define SYSCTL_PERIPH_GPIOD 0xf0000803 // GPIO D
  72. #define SYSCTL_PERIPH_GPIOE 0xf0000804 // GPIO E
  73. #define SYSCTL_PERIPH_GPIOF 0xf0000805 // GPIO F
  74. #define SYSCTL_PERIPH_GPIOG 0xf0000806 // GPIO G
  75. #define SYSCTL_PERIPH_GPIOH 0xf0000807 // GPIO H
  76. #define SYSCTL_PERIPH_GPIOJ 0xf0000808 // GPIO J
  77. #define SYSCTL_PERIPH_HIBERNATE 0xf0001400 // Hibernation module
  78. #define SYSCTL_PERIPH_CCM0 0xf0007400 // CCM 0
  79. #define SYSCTL_PERIPH_EEPROM0 0xf0005800 // EEPROM 0
  80. #define SYSCTL_PERIPH_GPIOK 0xf0000809 // GPIO K
  81. #define SYSCTL_PERIPH_GPIOL 0xf000080a // GPIO L
  82. #define SYSCTL_PERIPH_GPIOM 0xf000080b // GPIO M
  83. #define SYSCTL_PERIPH_GPION 0xf000080c // GPIO N
  84. #define SYSCTL_PERIPH_GPIOP 0xf000080d // GPIO P
  85. #define SYSCTL_PERIPH_GPIOQ 0xf000080e // GPIO Q
  86. #define SYSCTL_PERIPH_GPIOR 0xf000080f // GPIO R
  87. #define SYSCTL_PERIPH_GPIOS 0xf0000810 // GPIO S
  88. #define SYSCTL_PERIPH_GPIOT 0xf0000811 // GPIO T
  89. #define SYSCTL_PERIPH_I2C0 0xf0002000 // I2C 0
  90. #define SYSCTL_PERIPH_I2C1 0xf0002001 // I2C 1
  91. #define SYSCTL_PERIPH_I2C2 0xf0002002 // I2C 2
  92. #define SYSCTL_PERIPH_I2C3 0xf0002003 // I2C 3
  93. #define SYSCTL_PERIPH_I2C4 0xf0002004 // I2C 4
  94. #define SYSCTL_PERIPH_I2C5 0xf0002005 // I2C 5
  95. #define SYSCTL_PERIPH_I2C6 0xf0002006 // I2C 6
  96. #define SYSCTL_PERIPH_I2C7 0xf0002007 // I2C 7
  97. #define SYSCTL_PERIPH_I2C8 0xf0002008 // I2C 8
  98. #define SYSCTL_PERIPH_I2C9 0xf0002009 // I2C 9
  99. #define SYSCTL_PERIPH_LCD0 0xf0009000 // LCD 0
  100. #define SYSCTL_PERIPH_ONEWIRE0 0xf0009800 // One Wire 0
  101. #define SYSCTL_PERIPH_PWM0 0xf0004000 // PWM 0
  102. #define SYSCTL_PERIPH_PWM1 0xf0004001 // PWM 1
  103. #define SYSCTL_PERIPH_QEI0 0xf0004400 // QEI 0
  104. #define SYSCTL_PERIPH_QEI1 0xf0004401 // QEI 1
  105. #define SYSCTL_PERIPH_SSI0 0xf0001c00 // SSI 0
  106. #define SYSCTL_PERIPH_SSI1 0xf0001c01 // SSI 1
  107. #define SYSCTL_PERIPH_SSI2 0xf0001c02 // SSI 2
  108. #define SYSCTL_PERIPH_SSI3 0xf0001c03 // SSI 3
  109. #define SYSCTL_PERIPH_TIMER0 0xf0000400 // Timer 0
  110. #define SYSCTL_PERIPH_TIMER1 0xf0000401 // Timer 1
  111. #define SYSCTL_PERIPH_TIMER2 0xf0000402 // Timer 2
  112. #define SYSCTL_PERIPH_TIMER3 0xf0000403 // Timer 3
  113. #define SYSCTL_PERIPH_TIMER4 0xf0000404 // Timer 4
  114. #define SYSCTL_PERIPH_TIMER5 0xf0000405 // Timer 5
  115. #define SYSCTL_PERIPH_TIMER6 0xf0000406 // Timer 6
  116. #define SYSCTL_PERIPH_TIMER7 0xf0000407 // Timer 7
  117. #define SYSCTL_PERIPH_UART0 0xf0001800 // UART 0
  118. #define SYSCTL_PERIPH_UART1 0xf0001801 // UART 1
  119. #define SYSCTL_PERIPH_UART2 0xf0001802 // UART 2
  120. #define SYSCTL_PERIPH_UART3 0xf0001803 // UART 3
  121. #define SYSCTL_PERIPH_UART4 0xf0001804 // UART 4
  122. #define SYSCTL_PERIPH_UART5 0xf0001805 // UART 5
  123. #define SYSCTL_PERIPH_UART6 0xf0001806 // UART 6
  124. #define SYSCTL_PERIPH_UART7 0xf0001807 // UART 7
  125. #define SYSCTL_PERIPH_UDMA 0xf0000c00 // uDMA
  126. #define SYSCTL_PERIPH_USB0 0xf0002800 // USB 0
  127. #define SYSCTL_PERIPH_WDOG0 0xf0000000 // Watchdog 0
  128. #define SYSCTL_PERIPH_WDOG1 0xf0000001 // Watchdog 1
  129. //*****************************************************************************
  130. //
  131. // The following are values that can be passed to the SysCtlLDODeepSleepSet()
  132. // API as the ui32Voltage value, or returned by the SysCtlLDODeepSleepGet() API.
  133. //
  134. //*****************************************************************************
  135. #define SYSCTL_LDO_0_90V 0x80000012 // LDO output of 0.90V
  136. #define SYSCTL_LDO_0_95V 0x80000013 // LDO output of 0.95V
  137. #define SYSCTL_LDO_1_00V 0x80000014 // LDO output of 1.00V
  138. #define SYSCTL_LDO_1_05V 0x80000015 // LDO output of 1.05V
  139. #define SYSCTL_LDO_1_10V 0x80000016 // LDO output of 1.10V
  140. #define SYSCTL_LDO_1_15V 0x80000017 // LDO output of 1.15V
  141. #define SYSCTL_LDO_1_20V 0x80000018 // LDO output of 1.20V
  142. //*****************************************************************************
  143. //
  144. // The following are values that can be passed to the SysCtlIntEnable(),
  145. // SysCtlIntDisable(), and SysCtlIntClear() APIs, or returned in the bit mask
  146. // by the SysCtlIntStatus() API.
  147. //
  148. //*****************************************************************************
  149. #define SYSCTL_INT_BOR0 0x00000800 // VDD under BOR0
  150. #define SYSCTL_INT_VDDA_OK 0x00000400 // VDDA Power OK
  151. #define SYSCTL_INT_MOSC_PUP 0x00000100 // MOSC power-up interrupt
  152. #define SYSCTL_INT_USBPLL_LOCK 0x00000080 // USB PLL lock interrupt
  153. #define SYSCTL_INT_PLL_LOCK 0x00000040 // PLL lock interrupt
  154. #define SYSCTL_INT_MOSC_FAIL 0x00000008 // Main oscillator failure int
  155. #define SYSCTL_INT_BOR1 0x00000002 // VDD under BOR1
  156. #define SYSCTL_INT_BOR 0x00000002 // Brown out interrupt
  157. //*****************************************************************************
  158. //
  159. // The following are values that can be passed to the SysCtlResetCauseClear()
  160. // API or returned by the SysCtlResetCauseGet() API.
  161. //
  162. //*****************************************************************************
  163. #define SYSCTL_CAUSE_HSRVREQ 0x00001000 // Hardware System Service Request
  164. #define SYSCTL_CAUSE_HIB 0x00000040 // Hibernate reset
  165. #define SYSCTL_CAUSE_WDOG1 0x00000020 // Watchdog 1 reset
  166. #define SYSCTL_CAUSE_SW 0x00000010 // Software reset
  167. #define SYSCTL_CAUSE_WDOG0 0x00000008 // Watchdog 0 reset
  168. #define SYSCTL_CAUSE_BOR 0x00000004 // Brown-out reset
  169. #define SYSCTL_CAUSE_POR 0x00000002 // Power on reset
  170. #define SYSCTL_CAUSE_EXT 0x00000001 // External reset
  171. //*****************************************************************************
  172. //
  173. // The following are values that can be passed to the SysCtlBrownOutConfigSet()
  174. // API as the ui32Config parameter.
  175. //
  176. //*****************************************************************************
  177. #define SYSCTL_BOR_RESET 0x00000002 // Reset instead of interrupting
  178. #define SYSCTL_BOR_RESAMPLE 0x00000001 // Resample BOR before asserting
  179. //*****************************************************************************
  180. //
  181. // The following are values that can be passed to the SysCtlClockFreqSet() API as
  182. // the ui32Config parameter.
  183. //
  184. //*****************************************************************************
  185. #define SYSCTL_CFG_VCO_240 0xF1000000 // VCO is 240 MHz
  186. #define SYSCTL_CFG_VCO_160 0xF0000000 // VCO is 160 MHz
  187. #define SYSCTL_USE_PLL 0x00000000 // System clock is the PLL clock
  188. #define SYSCTL_USE_OSC 0x00003800 // System clock is the osc clock
  189. #define SYSCTL_XTAL_5MHZ 0x00000000 // External crystal is 5MHz
  190. #define SYSCTL_XTAL_6MHZ 0x00000040 // External crystal is 6MHz
  191. #define SYSCTL_XTAL_8MHZ 0x00000080 // External crystal is 8MHz
  192. #define SYSCTL_XTAL_10MHZ 0x000000C0 // External crystal is 10 MHz
  193. #define SYSCTL_XTAL_12MHZ 0x00000100 // External crystal is 12 MHz
  194. #define SYSCTL_XTAL_16MHZ 0x00000140 // External crystal is 16 MHz
  195. #define SYSCTL_XTAL_18MHZ 0x00000180 // External crystal is 18.0 MHz
  196. #define SYSCTL_XTAL_20MHZ 0x000001C0 // External crystal is 20.0 MHz
  197. #define SYSCTL_XTAL_24MHZ 0x00000200 // External crystal is 24.0 MHz
  198. #define SYSCTL_XTAL_25MHZ 0x00000240 // External crystal is 25.0 MHz
  199. #define SYSCTL_OSC_MAIN 0x00000000 // Osc source is main osc
  200. #define SYSCTL_OSC_INT 0x00000010 // Osc source is int. osc
  201. #define SYSCTL_OSC_INT30 0x00000030 // Osc source is int. 30 KHz
  202. #define SYSCTL_OSC_EXT32 0x80000038 // Osc source is ext. 32 KHz
  203. #define SYSCTL_CFG_VCO_480 SYSCTL_CFG_VCO_240 // For backward compatibility
  204. #define SYSCTL_CFG_VCO_320 SYSCTL_CFG_VCO_160 // For backward compatibility
  205. //*****************************************************************************
  206. //
  207. // The following are values that can be passed to the
  208. // SysCtlDeepSleepClockConfigSet() API as the ui32Config parameter.
  209. //
  210. //*****************************************************************************
  211. #define SYSCTL_DSLP_OSC_MAIN 0x00000000 // Osc source is main osc
  212. #define SYSCTL_DSLP_OSC_INT 0x00000010 // Osc source is int. osc
  213. #define SYSCTL_DSLP_OSC_INT30 0x00000030 // Osc source is int. 30 KHz
  214. #define SYSCTL_DSLP_OSC_EXT32 0x00000070 // Osc source is ext. 32 KHz
  215. #define SYSCTL_DSLP_PIOSC_PD 0x00000002 // Power down PIOSC in deep-sleep
  216. #define SYSCTL_DSLP_MOSC_DPD 0x40000000 // Power down MOSC in deep-sleep
  217. //*****************************************************************************
  218. //
  219. // The following are values that can be passed to the SysCtlPIOSCCalibrate()
  220. // API as the ui32Type parameter.
  221. //
  222. //*****************************************************************************
  223. #define SYSCTL_PIOSC_CAL_AUTO 0x00000200 // Automatic calibration
  224. #define SYSCTL_PIOSC_CAL_FACT 0x00000100 // Factory calibration
  225. #define SYSCTL_PIOSC_CAL_USER 0x80000100 // User-supplied calibration
  226. //*****************************************************************************
  227. //
  228. // The following are values that can be passed to the SysCtlMOSCConfigSet() API
  229. // as the ui32Config parameter.
  230. //
  231. //*****************************************************************************
  232. #define SYSCTL_MOSC_VALIDATE 0x00000001 // Enable MOSC validation
  233. #define SYSCTL_MOSC_INTERRUPT 0x00000002 // Generate interrupt on MOSC fail
  234. #define SYSCTL_MOSC_NO_XTAL 0x00000004 // No crystal is attached to MOSC
  235. #define SYSCTL_MOSC_PWR_DIS 0x00000008 // Power down the MOSC.
  236. #define SYSCTL_MOSC_LOWFREQ 0x00000000 // MOSC is less than 10MHz
  237. #define SYSCTL_MOSC_HIGHFREQ 0x00000010 // MOSC is greater than 10MHz
  238. #define SYSCTL_MOSC_SESRC 0x00000020 // Singled ended oscillator source.
  239. //*****************************************************************************
  240. //
  241. // The following are values that can be passed to the SysCtlSleepPowerSet() and
  242. // SysCtlDeepSleepPowerSet() APIs as the ui32Config parameter.
  243. //
  244. //*****************************************************************************
  245. #define SYSCTL_LDO_SLEEP 0x00000200 // LDO in sleep mode
  246. // (Deep Sleep Only)
  247. #define SYSCTL_TEMP_LOW_POWER 0x00000100 // Temp sensor in low power mode
  248. // (Deep Sleep Only)
  249. #define SYSCTL_FLASH_NORMAL 0x00000000 // Flash in normal mode
  250. #define SYSCTL_FLASH_LOW_POWER 0x00000020 // Flash in low power mode
  251. #define SYSCTL_SRAM_NORMAL 0x00000000 // SRAM in normal mode
  252. #define SYSCTL_SRAM_STANDBY 0x00000001 // SRAM in standby mode
  253. #define SYSCTL_SRAM_LOW_POWER 0x00000003 // SRAM in low power mode
  254. //*****************************************************************************
  255. //
  256. // Defines for the SysCtlResetBehaviorSet() and SysCtlResetBehaviorGet() APIs.
  257. //
  258. //*****************************************************************************
  259. #define SYSCTL_ONRST_WDOG0_POR 0x00000030
  260. #define SYSCTL_ONRST_WDOG0_SYS 0x00000020
  261. #define SYSCTL_ONRST_WDOG1_POR 0x000000C0
  262. #define SYSCTL_ONRST_WDOG1_SYS 0x00000080
  263. #define SYSCTL_ONRST_BOR_POR 0x0000000C
  264. #define SYSCTL_ONRST_BOR_SYS 0x00000008
  265. #define SYSCTL_ONRST_EXT_POR 0x00000003
  266. #define SYSCTL_ONRST_EXT_SYS 0x00000002
  267. //*****************************************************************************
  268. //
  269. // Values used with the SysCtlVoltageEventConfig() API.
  270. //
  271. //*****************************************************************************
  272. #define SYSCTL_VEVENT_VDDABO_NONE \
  273. 0x00000000
  274. #define SYSCTL_VEVENT_VDDABO_INT \
  275. 0x00000100
  276. #define SYSCTL_VEVENT_VDDABO_NMI \
  277. 0x00000200
  278. #define SYSCTL_VEVENT_VDDABO_RST \
  279. 0x00000300
  280. #define SYSCTL_VEVENT_VDDBO_NONE \
  281. 0x00000000
  282. #define SYSCTL_VEVENT_VDDBO_INT 0x00000001
  283. #define SYSCTL_VEVENT_VDDBO_NMI 0x00000002
  284. #define SYSCTL_VEVENT_VDDBO_RST 0x00000003
  285. //*****************************************************************************
  286. //
  287. // Values used with the SysCtlVoltageEventStatus() and
  288. // SysCtlVoltageEventClear() APIs.
  289. //
  290. //*****************************************************************************
  291. #define SYSCTL_VESTAT_VDDBOR 0x00000040
  292. #define SYSCTL_VESTAT_VDDABOR 0x00000010
  293. //*****************************************************************************
  294. //
  295. // Values used with the SysCtlNMIStatus() API.
  296. //
  297. //*****************************************************************************
  298. #define SYSCTL_NMI_MOSCFAIL 0x00010000
  299. #define SYSCTL_NMI_TAMPER 0x00000200
  300. #define SYSCTL_NMI_WDT1 0x00000020
  301. #define SYSCTL_NMI_WDT0 0x00000008
  302. #define SYSCTL_NMI_POWER 0x00000004
  303. #define SYSCTL_NMI_EXTERNAL 0x00000001
  304. //*****************************************************************************
  305. //
  306. // The defines for the SysCtlClockOutConfig() API.
  307. //
  308. //*****************************************************************************
  309. #define SYSCTL_CLKOUT_EN 0x80000000
  310. #define SYSCTL_CLKOUT_DIS 0x00000000
  311. #define SYSCTL_CLKOUT_SYSCLK 0x00000000
  312. #define SYSCTL_CLKOUT_PIOSC 0x00010000
  313. #define SYSCTL_CLKOUT_MOSC 0x00020000
  314. //*****************************************************************************
  315. //
  316. // The following defines are used with the SysCtlAltClkConfig() function.
  317. //
  318. //*****************************************************************************
  319. #define SYSCTL_ALTCLK_PIOSC 0x00000000
  320. #define SYSCTL_ALTCLK_RTCOSC 0x00000003
  321. #define SYSCTL_ALTCLK_LFIOSC 0x00000004
  322. //*****************************************************************************
  323. //
  324. // Prototypes for the APIs.
  325. //
  326. //*****************************************************************************
  327. extern uint32_t SysCtlSRAMSizeGet(void);
  328. extern uint32_t SysCtlFlashSizeGet(void);
  329. extern uint32_t SysCtlFlashSectorSizeGet(void);
  330. extern bool SysCtlPeripheralPresent(uint32_t ui32Peripheral);
  331. extern bool SysCtlPeripheralReady(uint32_t ui32Peripheral);
  332. extern void SysCtlPeripheralPowerOn(uint32_t ui32Peripheral);
  333. extern void SysCtlPeripheralPowerOff(uint32_t ui32Peripheral);
  334. extern void SysCtlPeripheralReset(uint32_t ui32Peripheral);
  335. extern void SysCtlPeripheralEnable(uint32_t ui32Peripheral);
  336. extern void SysCtlPeripheralDisable(uint32_t ui32Peripheral);
  337. extern void SysCtlPeripheralSleepEnable(uint32_t ui32Peripheral);
  338. extern void SysCtlPeripheralSleepDisable(uint32_t ui32Peripheral);
  339. extern void SysCtlPeripheralDeepSleepEnable(uint32_t ui32Peripheral);
  340. extern void SysCtlPeripheralDeepSleepDisable(uint32_t ui32Peripheral);
  341. extern void SysCtlPeripheralClockGating(bool bEnable);
  342. extern void SysCtlIntRegister(void (*pfnHandler)(void));
  343. extern void SysCtlIntUnregister(void);
  344. extern void SysCtlIntEnable(uint32_t ui32Ints);
  345. extern void SysCtlIntDisable(uint32_t ui32Ints);
  346. extern void SysCtlIntClear(uint32_t ui32Ints);
  347. extern uint32_t SysCtlIntStatus(bool bMasked);
  348. extern void SysCtlLDODeepSleepSet(uint32_t ui32Voltage);
  349. extern uint32_t SysCtlLDODeepSleepGet(void);
  350. extern void SysCtlSleepPowerSet(uint32_t ui32Config);
  351. extern void SysCtlDeepSleepPowerSet(uint32_t ui32Config);
  352. extern void SysCtlReset(void);
  353. extern void SysCtlSleep(void);
  354. extern void SysCtlDeepSleep(void);
  355. extern uint32_t SysCtlResetCauseGet(void);
  356. extern void SysCtlResetCauseClear(uint32_t ui32Causes);
  357. extern void SysCtlBrownOutConfigSet(uint32_t ui32Config,
  358. uint32_t ui32Delay);
  359. extern void SysCtlDelay(uint32_t ui32Count);
  360. extern void SysCtlMOSCConfigSet(uint32_t ui32Config);
  361. extern uint32_t SysCtlPIOSCCalibrate(uint32_t ui32Type);
  362. extern void SysCtlDeepSleepClockConfigSet(uint32_t ui32Div,
  363. uint32_t ui32Config);
  364. extern uint32_t SysCtlClockFreqSet(uint32_t ui32Config,
  365. uint32_t ui32SysClock);
  366. extern void SysCtlResetBehaviorSet(uint32_t ui32Behavior);
  367. extern uint32_t SysCtlResetBehaviorGet(void);
  368. extern void SysCtlClockOutConfig(uint32_t ui32Config, uint32_t ui32Div);
  369. extern void SysCtlAltClkConfig(uint32_t ui32Config);
  370. extern uint32_t SysCtlNMIStatus(void);
  371. extern void SysCtlNMIClear(uint32_t ui32Status);
  372. extern void SysCtlVoltageEventConfig(uint32_t ui32Config);
  373. extern uint32_t SysCtlVoltageEventStatus(void);
  374. extern void SysCtlVoltageEventClear(uint32_t ui32Status);
  375. extern bool SysCtlVCOGet(uint32_t ui32Crystal, uint32_t *pui32VCOFrequency);
  376. //*****************************************************************************
  377. //
  378. // Mark the end of the C bindings section for C++ compilers.
  379. //
  380. //*****************************************************************************
  381. #ifdef __cplusplus
  382. }
  383. #endif
  384. #endif // __DRIVERLIB_SYSCTL_H__