sysctl.h 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671
  1. //*****************************************************************************
  2. //
  3. // sysctl.h - Prototypes for the system control driver.
  4. //
  5. // Copyright (c) 2005-2020 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. // This is part of revision 2.2.0.295 of the Tiva Peripheral Driver Library.
  37. //
  38. //*****************************************************************************
  39. #ifndef __DRIVERLIB_SYSCTL_H__
  40. #define __DRIVERLIB_SYSCTL_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_FAN0 0xf0005400 // FAN 0
  81. #define SYSCTL_PERIPH_FAN1 0xf0005401 // FAN 1
  82. #define SYSCTL_PERIPH_GPIOK 0xf0000809 // GPIO K
  83. #define SYSCTL_PERIPH_GPIOL 0xf000080a // GPIO L
  84. #define SYSCTL_PERIPH_GPIOM 0xf000080b // GPIO M
  85. #define SYSCTL_PERIPH_GPION 0xf000080c // GPIO N
  86. #define SYSCTL_PERIPH_GPIOP 0xf000080d // GPIO P
  87. #define SYSCTL_PERIPH_GPIOQ 0xf000080e // GPIO Q
  88. #define SYSCTL_PERIPH_GPIOR 0xf000080f // GPIO R
  89. #define SYSCTL_PERIPH_GPIOS 0xf0000810 // GPIO S
  90. #define SYSCTL_PERIPH_GPIOT 0xf0000811 // GPIO T
  91. #define SYSCTL_PERIPH_I2C0 0xf0002000 // I2C 0
  92. #define SYSCTL_PERIPH_I2C1 0xf0002001 // I2C 1
  93. #define SYSCTL_PERIPH_I2C2 0xf0002002 // I2C 2
  94. #define SYSCTL_PERIPH_I2C3 0xf0002003 // I2C 3
  95. #define SYSCTL_PERIPH_I2C4 0xf0002004 // I2C 4
  96. #define SYSCTL_PERIPH_I2C5 0xf0002005 // I2C 5
  97. #define SYSCTL_PERIPH_I2C6 0xf0002006 // I2C 6
  98. #define SYSCTL_PERIPH_I2C7 0xf0002007 // I2C 7
  99. #define SYSCTL_PERIPH_I2C8 0xf0002008 // I2C 8
  100. #define SYSCTL_PERIPH_I2C9 0xf0002009 // I2C 9
  101. #define SYSCTL_PERIPH_LCD0 0xf0009000 // LCD 0
  102. #define SYSCTL_PERIPH_ONEWIRE0 0xf0009800 // One Wire 0
  103. #define SYSCTL_PERIPH_PWM0 0xf0004000 // PWM 0
  104. #define SYSCTL_PERIPH_PWM1 0xf0004001 // PWM 1
  105. #define SYSCTL_PERIPH_QEI0 0xf0004400 // QEI 0
  106. #define SYSCTL_PERIPH_QEI1 0xf0004401 // QEI 1
  107. #define SYSCTL_PERIPH_SSI0 0xf0001c00 // SSI 0
  108. #define SYSCTL_PERIPH_SSI1 0xf0001c01 // SSI 1
  109. #define SYSCTL_PERIPH_SSI2 0xf0001c02 // SSI 2
  110. #define SYSCTL_PERIPH_SSI3 0xf0001c03 // SSI 3
  111. #define SYSCTL_PERIPH_TIMER0 0xf0000400 // Timer 0
  112. #define SYSCTL_PERIPH_TIMER1 0xf0000401 // Timer 1
  113. #define SYSCTL_PERIPH_TIMER2 0xf0000402 // Timer 2
  114. #define SYSCTL_PERIPH_TIMER3 0xf0000403 // Timer 3
  115. #define SYSCTL_PERIPH_TIMER4 0xf0000404 // Timer 4
  116. #define SYSCTL_PERIPH_TIMER5 0xf0000405 // Timer 5
  117. #define SYSCTL_PERIPH_TIMER6 0xf0000406 // Timer 6
  118. #define SYSCTL_PERIPH_TIMER7 0xf0000407 // Timer 7
  119. #define SYSCTL_PERIPH_UART0 0xf0001800 // UART 0
  120. #define SYSCTL_PERIPH_UART1 0xf0001801 // UART 1
  121. #define SYSCTL_PERIPH_UART2 0xf0001802 // UART 2
  122. #define SYSCTL_PERIPH_UART3 0xf0001803 // UART 3
  123. #define SYSCTL_PERIPH_UART4 0xf0001804 // UART 4
  124. #define SYSCTL_PERIPH_UART5 0xf0001805 // UART 5
  125. #define SYSCTL_PERIPH_UART6 0xf0001806 // UART 6
  126. #define SYSCTL_PERIPH_UART7 0xf0001807 // UART 7
  127. #define SYSCTL_PERIPH_UDMA 0xf0000c00 // uDMA
  128. #define SYSCTL_PERIPH_USB0 0xf0002800 // USB 0
  129. #define SYSCTL_PERIPH_WDOG0 0xf0000000 // Watchdog 0
  130. #define SYSCTL_PERIPH_WDOG1 0xf0000001 // Watchdog 1
  131. #define SYSCTL_PERIPH_WTIMER0 0xf0005c00 // Wide Timer 0
  132. #define SYSCTL_PERIPH_WTIMER1 0xf0005c01 // Wide Timer 1
  133. #define SYSCTL_PERIPH_WTIMER2 0xf0005c02 // Wide Timer 2
  134. #define SYSCTL_PERIPH_WTIMER3 0xf0005c03 // Wide Timer 3
  135. #define SYSCTL_PERIPH_WTIMER4 0xf0005c04 // Wide Timer 4
  136. #define SYSCTL_PERIPH_WTIMER5 0xf0005c05 // Wide Timer 5
  137. //*****************************************************************************
  138. //
  139. // The following are values that can be passed to the SysCtlLDOSleepSet() and
  140. // SysCtlLDODeepSleepSet() APIs as the ui32Voltage value, or returned by the
  141. // SysCtlLDOSleepGet() and SysCtlLDODeepSleepGet() APIs.
  142. //
  143. //*****************************************************************************
  144. #define SYSCTL_LDO_0_90V 0x80000012 // LDO output of 0.90V
  145. #define SYSCTL_LDO_0_95V 0x80000013 // LDO output of 0.95V
  146. #define SYSCTL_LDO_1_00V 0x80000014 // LDO output of 1.00V
  147. #define SYSCTL_LDO_1_05V 0x80000015 // LDO output of 1.05V
  148. #define SYSCTL_LDO_1_10V 0x80000016 // LDO output of 1.10V
  149. #define SYSCTL_LDO_1_15V 0x80000017 // LDO output of 1.15V
  150. #define SYSCTL_LDO_1_20V 0x80000018 // LDO output of 1.20V
  151. //*****************************************************************************
  152. //
  153. // The following are values that can be passed to the SysCtlIntEnable(),
  154. // SysCtlIntDisable(), and SysCtlIntClear() APIs, or returned in the bit mask
  155. // by the SysCtlIntStatus() API.
  156. //
  157. //*****************************************************************************
  158. #define SYSCTL_INT_BOR0 0x00000800 // VDD under BOR0
  159. #define SYSCTL_INT_VDDA_OK 0x00000400 // VDDA Power OK
  160. #define SYSCTL_INT_MOSC_PUP 0x00000100 // MOSC power-up interrupt
  161. #define SYSCTL_INT_USBPLL_LOCK 0x00000080 // USB PLL lock interrupt
  162. #define SYSCTL_INT_PLL_LOCK 0x00000040 // PLL lock interrupt
  163. #define SYSCTL_INT_MOSC_FAIL 0x00000008 // Main oscillator failure int
  164. #define SYSCTL_INT_BOR1 0x00000002 // VDD under BOR1
  165. #define SYSCTL_INT_BOR 0x00000002 // Brown out interrupt
  166. //*****************************************************************************
  167. //
  168. // The following are values that can be passed to the SysCtlResetCauseClear()
  169. // API or returned by the SysCtlResetCauseGet() API.
  170. //
  171. //*****************************************************************************
  172. #define SYSCTL_CAUSE_HSRVREQ 0x00001000 // Hardware System Service Request
  173. #define SYSCTL_CAUSE_HIB 0x00000040 // Hibernate reset
  174. #define SYSCTL_CAUSE_WDOG1 0x00000020 // Watchdog 1 reset
  175. #define SYSCTL_CAUSE_SW 0x00000010 // Software reset
  176. #define SYSCTL_CAUSE_WDOG0 0x00000008 // Watchdog 0 reset
  177. #ifndef DEPRECATED
  178. #define SYSCTL_CAUSE_WDOG SYSCTL_CAUSE_WDOG0
  179. // Watchdog reset(Deprecated)
  180. #endif
  181. #define SYSCTL_CAUSE_BOR 0x00000004 // Brown-out reset
  182. #define SYSCTL_CAUSE_POR 0x00000002 // Power on reset
  183. #define SYSCTL_CAUSE_EXT 0x00000001 // External reset
  184. //*****************************************************************************
  185. //
  186. // The following are values that can be passed to the SysCtlBrownOutConfigSet()
  187. // API as the ui32Config parameter.
  188. //
  189. //*****************************************************************************
  190. #define SYSCTL_BOR_RESET 0x00000002 // Reset instead of interrupting
  191. #define SYSCTL_BOR_RESAMPLE 0x00000001 // Resample BOR before asserting
  192. //*****************************************************************************
  193. //
  194. // The following are values that can be passed to the SysCtlPWMClockSet() API
  195. // as the ui32Config parameter, and can be returned by the SysCtlPWMClockGet()
  196. // API.
  197. //
  198. //*****************************************************************************
  199. #define SYSCTL_PWMDIV_1 0x00000000 // PWM clock is processor clock /1
  200. #define SYSCTL_PWMDIV_2 0x00100000 // PWM clock is processor clock /2
  201. #define SYSCTL_PWMDIV_4 0x00120000 // PWM clock is processor clock /4
  202. #define SYSCTL_PWMDIV_8 0x00140000 // PWM clock is processor clock /8
  203. #define SYSCTL_PWMDIV_16 0x00160000 // PWM clock is processor clock /16
  204. #define SYSCTL_PWMDIV_32 0x00180000 // PWM clock is processor clock /32
  205. #define SYSCTL_PWMDIV_64 0x001A0000 // PWM clock is processor clock /64
  206. //*****************************************************************************
  207. //
  208. // The following are values that can be passed to the SysCtlClockSet() API as
  209. // the ui32Config parameter.
  210. //
  211. //*****************************************************************************
  212. #define SYSCTL_SYSDIV_1 0x07800000 // Processor clock is osc/pll /1
  213. #define SYSCTL_SYSDIV_2 0x00C00000 // Processor clock is osc/pll /2
  214. #define SYSCTL_SYSDIV_3 0x01400000 // Processor clock is osc/pll /3
  215. #define SYSCTL_SYSDIV_4 0x01C00000 // Processor clock is osc/pll /4
  216. #define SYSCTL_SYSDIV_5 0x02400000 // Processor clock is osc/pll /5
  217. #define SYSCTL_SYSDIV_6 0x02C00000 // Processor clock is osc/pll /6
  218. #define SYSCTL_SYSDIV_7 0x03400000 // Processor clock is osc/pll /7
  219. #define SYSCTL_SYSDIV_8 0x03C00000 // Processor clock is osc/pll /8
  220. #define SYSCTL_SYSDIV_9 0x04400000 // Processor clock is osc/pll /9
  221. #define SYSCTL_SYSDIV_10 0x04C00000 // Processor clock is osc/pll /10
  222. #define SYSCTL_SYSDIV_11 0x05400000 // Processor clock is osc/pll /11
  223. #define SYSCTL_SYSDIV_12 0x05C00000 // Processor clock is osc/pll /12
  224. #define SYSCTL_SYSDIV_13 0x06400000 // Processor clock is osc/pll /13
  225. #define SYSCTL_SYSDIV_14 0x06C00000 // Processor clock is osc/pll /14
  226. #define SYSCTL_SYSDIV_15 0x07400000 // Processor clock is osc/pll /15
  227. #define SYSCTL_SYSDIV_16 0x07C00000 // Processor clock is osc/pll /16
  228. #define SYSCTL_SYSDIV_17 0x88400000 // Processor clock is osc/pll /17
  229. #define SYSCTL_SYSDIV_18 0x88C00000 // Processor clock is osc/pll /18
  230. #define SYSCTL_SYSDIV_19 0x89400000 // Processor clock is osc/pll /19
  231. #define SYSCTL_SYSDIV_20 0x89C00000 // Processor clock is osc/pll /20
  232. #define SYSCTL_SYSDIV_21 0x8A400000 // Processor clock is osc/pll /21
  233. #define SYSCTL_SYSDIV_22 0x8AC00000 // Processor clock is osc/pll /22
  234. #define SYSCTL_SYSDIV_23 0x8B400000 // Processor clock is osc/pll /23
  235. #define SYSCTL_SYSDIV_24 0x8BC00000 // Processor clock is osc/pll /24
  236. #define SYSCTL_SYSDIV_25 0x8C400000 // Processor clock is osc/pll /25
  237. #define SYSCTL_SYSDIV_26 0x8CC00000 // Processor clock is osc/pll /26
  238. #define SYSCTL_SYSDIV_27 0x8D400000 // Processor clock is osc/pll /27
  239. #define SYSCTL_SYSDIV_28 0x8DC00000 // Processor clock is osc/pll /28
  240. #define SYSCTL_SYSDIV_29 0x8E400000 // Processor clock is osc/pll /29
  241. #define SYSCTL_SYSDIV_30 0x8EC00000 // Processor clock is osc/pll /30
  242. #define SYSCTL_SYSDIV_31 0x8F400000 // Processor clock is osc/pll /31
  243. #define SYSCTL_SYSDIV_32 0x8FC00000 // Processor clock is osc/pll /32
  244. #define SYSCTL_SYSDIV_33 0x90400000 // Processor clock is osc/pll /33
  245. #define SYSCTL_SYSDIV_34 0x90C00000 // Processor clock is osc/pll /34
  246. #define SYSCTL_SYSDIV_35 0x91400000 // Processor clock is osc/pll /35
  247. #define SYSCTL_SYSDIV_36 0x91C00000 // Processor clock is osc/pll /36
  248. #define SYSCTL_SYSDIV_37 0x92400000 // Processor clock is osc/pll /37
  249. #define SYSCTL_SYSDIV_38 0x92C00000 // Processor clock is osc/pll /38
  250. #define SYSCTL_SYSDIV_39 0x93400000 // Processor clock is osc/pll /39
  251. #define SYSCTL_SYSDIV_40 0x93C00000 // Processor clock is osc/pll /40
  252. #define SYSCTL_SYSDIV_41 0x94400000 // Processor clock is osc/pll /41
  253. #define SYSCTL_SYSDIV_42 0x94C00000 // Processor clock is osc/pll /42
  254. #define SYSCTL_SYSDIV_43 0x95400000 // Processor clock is osc/pll /43
  255. #define SYSCTL_SYSDIV_44 0x95C00000 // Processor clock is osc/pll /44
  256. #define SYSCTL_SYSDIV_45 0x96400000 // Processor clock is osc/pll /45
  257. #define SYSCTL_SYSDIV_46 0x96C00000 // Processor clock is osc/pll /46
  258. #define SYSCTL_SYSDIV_47 0x97400000 // Processor clock is osc/pll /47
  259. #define SYSCTL_SYSDIV_48 0x97C00000 // Processor clock is osc/pll /48
  260. #define SYSCTL_SYSDIV_49 0x98400000 // Processor clock is osc/pll /49
  261. #define SYSCTL_SYSDIV_50 0x98C00000 // Processor clock is osc/pll /50
  262. #define SYSCTL_SYSDIV_51 0x99400000 // Processor clock is osc/pll /51
  263. #define SYSCTL_SYSDIV_52 0x99C00000 // Processor clock is osc/pll /52
  264. #define SYSCTL_SYSDIV_53 0x9A400000 // Processor clock is osc/pll /53
  265. #define SYSCTL_SYSDIV_54 0x9AC00000 // Processor clock is osc/pll /54
  266. #define SYSCTL_SYSDIV_55 0x9B400000 // Processor clock is osc/pll /55
  267. #define SYSCTL_SYSDIV_56 0x9BC00000 // Processor clock is osc/pll /56
  268. #define SYSCTL_SYSDIV_57 0x9C400000 // Processor clock is osc/pll /57
  269. #define SYSCTL_SYSDIV_58 0x9CC00000 // Processor clock is osc/pll /58
  270. #define SYSCTL_SYSDIV_59 0x9D400000 // Processor clock is osc/pll /59
  271. #define SYSCTL_SYSDIV_60 0x9DC00000 // Processor clock is osc/pll /60
  272. #define SYSCTL_SYSDIV_61 0x9E400000 // Processor clock is osc/pll /61
  273. #define SYSCTL_SYSDIV_62 0x9EC00000 // Processor clock is osc/pll /62
  274. #define SYSCTL_SYSDIV_63 0x9F400000 // Processor clock is osc/pll /63
  275. #define SYSCTL_SYSDIV_64 0x9FC00000 // Processor clock is osc/pll /64
  276. #define SYSCTL_SYSDIV_2_5 0xC1000000 // Processor clock is pll / 2.5
  277. #define SYSCTL_SYSDIV_3_5 0xC1800000 // Processor clock is pll / 3.5
  278. #define SYSCTL_SYSDIV_4_5 0xC2000000 // Processor clock is pll / 4.5
  279. #define SYSCTL_SYSDIV_5_5 0xC2800000 // Processor clock is pll / 5.5
  280. #define SYSCTL_SYSDIV_6_5 0xC3000000 // Processor clock is pll / 6.5
  281. #define SYSCTL_SYSDIV_7_5 0xC3800000 // Processor clock is pll / 7.5
  282. #define SYSCTL_SYSDIV_8_5 0xC4000000 // Processor clock is pll / 8.5
  283. #define SYSCTL_SYSDIV_9_5 0xC4800000 // Processor clock is pll / 9.5
  284. #define SYSCTL_SYSDIV_10_5 0xC5000000 // Processor clock is pll / 10.5
  285. #define SYSCTL_SYSDIV_11_5 0xC5800000 // Processor clock is pll / 11.5
  286. #define SYSCTL_SYSDIV_12_5 0xC6000000 // Processor clock is pll / 12.5
  287. #define SYSCTL_SYSDIV_13_5 0xC6800000 // Processor clock is pll / 13.5
  288. #define SYSCTL_SYSDIV_14_5 0xC7000000 // Processor clock is pll / 14.5
  289. #define SYSCTL_SYSDIV_15_5 0xC7800000 // Processor clock is pll / 15.5
  290. #define SYSCTL_SYSDIV_16_5 0xC8000000 // Processor clock is pll / 16.5
  291. #define SYSCTL_SYSDIV_17_5 0xC8800000 // Processor clock is pll / 17.5
  292. #define SYSCTL_SYSDIV_18_5 0xC9000000 // Processor clock is pll / 18.5
  293. #define SYSCTL_SYSDIV_19_5 0xC9800000 // Processor clock is pll / 19.5
  294. #define SYSCTL_SYSDIV_20_5 0xCA000000 // Processor clock is pll / 20.5
  295. #define SYSCTL_SYSDIV_21_5 0xCA800000 // Processor clock is pll / 21.5
  296. #define SYSCTL_SYSDIV_22_5 0xCB000000 // Processor clock is pll / 22.5
  297. #define SYSCTL_SYSDIV_23_5 0xCB800000 // Processor clock is pll / 23.5
  298. #define SYSCTL_SYSDIV_24_5 0xCC000000 // Processor clock is pll / 24.5
  299. #define SYSCTL_SYSDIV_25_5 0xCC800000 // Processor clock is pll / 25.5
  300. #define SYSCTL_SYSDIV_26_5 0xCD000000 // Processor clock is pll / 26.5
  301. #define SYSCTL_SYSDIV_27_5 0xCD800000 // Processor clock is pll / 27.5
  302. #define SYSCTL_SYSDIV_28_5 0xCE000000 // Processor clock is pll / 28.5
  303. #define SYSCTL_SYSDIV_29_5 0xCE800000 // Processor clock is pll / 29.5
  304. #define SYSCTL_SYSDIV_30_5 0xCF000000 // Processor clock is pll / 30.5
  305. #define SYSCTL_SYSDIV_31_5 0xCF800000 // Processor clock is pll / 31.5
  306. #define SYSCTL_SYSDIV_32_5 0xD0000000 // Processor clock is pll / 32.5
  307. #define SYSCTL_SYSDIV_33_5 0xD0800000 // Processor clock is pll / 33.5
  308. #define SYSCTL_SYSDIV_34_5 0xD1000000 // Processor clock is pll / 34.5
  309. #define SYSCTL_SYSDIV_35_5 0xD1800000 // Processor clock is pll / 35.5
  310. #define SYSCTL_SYSDIV_36_5 0xD2000000 // Processor clock is pll / 36.5
  311. #define SYSCTL_SYSDIV_37_5 0xD2800000 // Processor clock is pll / 37.5
  312. #define SYSCTL_SYSDIV_38_5 0xD3000000 // Processor clock is pll / 38.5
  313. #define SYSCTL_SYSDIV_39_5 0xD3800000 // Processor clock is pll / 39.5
  314. #define SYSCTL_SYSDIV_40_5 0xD4000000 // Processor clock is pll / 40.5
  315. #define SYSCTL_SYSDIV_41_5 0xD4800000 // Processor clock is pll / 41.5
  316. #define SYSCTL_SYSDIV_42_5 0xD5000000 // Processor clock is pll / 42.5
  317. #define SYSCTL_SYSDIV_43_5 0xD5800000 // Processor clock is pll / 43.5
  318. #define SYSCTL_SYSDIV_44_5 0xD6000000 // Processor clock is pll / 44.5
  319. #define SYSCTL_SYSDIV_45_5 0xD6800000 // Processor clock is pll / 45.5
  320. #define SYSCTL_SYSDIV_46_5 0xD7000000 // Processor clock is pll / 46.5
  321. #define SYSCTL_SYSDIV_47_5 0xD7800000 // Processor clock is pll / 47.5
  322. #define SYSCTL_SYSDIV_48_5 0xD8000000 // Processor clock is pll / 48.5
  323. #define SYSCTL_SYSDIV_49_5 0xD8800000 // Processor clock is pll / 49.5
  324. #define SYSCTL_SYSDIV_50_5 0xD9000000 // Processor clock is pll / 50.5
  325. #define SYSCTL_SYSDIV_51_5 0xD9800000 // Processor clock is pll / 51.5
  326. #define SYSCTL_SYSDIV_52_5 0xDA000000 // Processor clock is pll / 52.5
  327. #define SYSCTL_SYSDIV_53_5 0xDA800000 // Processor clock is pll / 53.5
  328. #define SYSCTL_SYSDIV_54_5 0xDB000000 // Processor clock is pll / 54.5
  329. #define SYSCTL_SYSDIV_55_5 0xDB800000 // Processor clock is pll / 55.5
  330. #define SYSCTL_SYSDIV_56_5 0xDC000000 // Processor clock is pll / 56.5
  331. #define SYSCTL_SYSDIV_57_5 0xDC800000 // Processor clock is pll / 57.5
  332. #define SYSCTL_SYSDIV_58_5 0xDD000000 // Processor clock is pll / 58.5
  333. #define SYSCTL_SYSDIV_59_5 0xDD800000 // Processor clock is pll / 59.5
  334. #define SYSCTL_SYSDIV_60_5 0xDE000000 // Processor clock is pll / 60.5
  335. #define SYSCTL_SYSDIV_61_5 0xDE800000 // Processor clock is pll / 61.5
  336. #define SYSCTL_SYSDIV_62_5 0xDF000000 // Processor clock is pll / 62.5
  337. #define SYSCTL_SYSDIV_63_5 0xDF800000 // Processor clock is pll / 63.5
  338. //
  339. // TivaWare 2.2.0.xxx Update
  340. // Due to TM4C129x Errata Item SYSCTL#22, the SYSCTL_CFG_VCO_xxx configurations
  341. // have misleading *names* as currently defined as the VCO does not run at the
  342. // stated frequencies. To amend this, new *name* defintions are being used,
  343. // however the register configuration remains the same.
  344. // The old definitions will remain for compatibility with code ported from
  345. // older versions of TivaWare.
  346. //
  347. #define SYSCTL_CFG_VCO_480 0xF1000000 // VCO is 480 MHz - Legacy
  348. // Does not work @ 480, use
  349. // SYSCTL_CFG_VCO_240 instead
  350. #define SYSCTL_CFG_VCO_320 0xF0000000 // VCO is 320 MHz - Legacy
  351. // Does not work @ 320, use
  352. // SYSCTL_CFG_VCO_160 instead
  353. #define SYSCTL_CFG_VCO_240 0xF1000000 // VCO is 240 MHz
  354. #define SYSCTL_CFG_VCO_160 0xF0000000 // VCO is 160 MHz
  355. #define SYSCTL_USE_PLL 0x00000000 // System clock is the PLL clock
  356. #define SYSCTL_USE_OSC 0x00003800 // System clock is the osc clock
  357. #define SYSCTL_XTAL_1MHZ 0x00000000 // External crystal is 1MHz
  358. #define SYSCTL_XTAL_1_84MHZ 0x00000040 // External crystal is 1.8432MHz
  359. #define SYSCTL_XTAL_2MHZ 0x00000080 // External crystal is 2MHz
  360. #define SYSCTL_XTAL_2_45MHZ 0x000000C0 // External crystal is 2.4576MHz
  361. #define SYSCTL_XTAL_3_57MHZ 0x00000100 // External crystal is 3.579545MHz
  362. #define SYSCTL_XTAL_3_68MHZ 0x00000140 // External crystal is 3.6864MHz
  363. #define SYSCTL_XTAL_4MHZ 0x00000180 // External crystal is 4MHz
  364. #define SYSCTL_XTAL_4_09MHZ 0x000001C0 // External crystal is 4.096MHz
  365. #define SYSCTL_XTAL_4_91MHZ 0x00000200 // External crystal is 4.9152MHz
  366. #define SYSCTL_XTAL_5MHZ 0x00000240 // External crystal is 5MHz
  367. #define SYSCTL_XTAL_5_12MHZ 0x00000280 // External crystal is 5.12MHz
  368. #define SYSCTL_XTAL_6MHZ 0x000002C0 // External crystal is 6MHz
  369. #define SYSCTL_XTAL_6_14MHZ 0x00000300 // External crystal is 6.144MHz
  370. #define SYSCTL_XTAL_7_37MHZ 0x00000340 // External crystal is 7.3728MHz
  371. #define SYSCTL_XTAL_8MHZ 0x00000380 // External crystal is 8MHz
  372. #define SYSCTL_XTAL_8_19MHZ 0x000003C0 // External crystal is 8.192MHz
  373. #define SYSCTL_XTAL_10MHZ 0x00000400 // External crystal is 10 MHz
  374. #define SYSCTL_XTAL_12MHZ 0x00000440 // External crystal is 12 MHz
  375. #define SYSCTL_XTAL_12_2MHZ 0x00000480 // External crystal is 12.288 MHz
  376. #define SYSCTL_XTAL_13_5MHZ 0x000004C0 // External crystal is 13.56 MHz
  377. #define SYSCTL_XTAL_14_3MHZ 0x00000500 // External crystal is 14.31818 MHz
  378. #define SYSCTL_XTAL_16MHZ 0x00000540 // External crystal is 16 MHz
  379. #define SYSCTL_XTAL_16_3MHZ 0x00000580 // External crystal is 16.384 MHz
  380. #define SYSCTL_XTAL_18MHZ 0x000005C0 // External crystal is 18.0 MHz
  381. #define SYSCTL_XTAL_20MHZ 0x00000600 // External crystal is 20.0 MHz
  382. #define SYSCTL_XTAL_24MHZ 0x00000640 // External crystal is 24.0 MHz
  383. #define SYSCTL_XTAL_25MHZ 0x00000680 // External crystal is 25.0 MHz
  384. #define SYSCTL_OSC_MAIN 0x00000000 // Osc source is main osc
  385. #define SYSCTL_OSC_INT 0x00000010 // Osc source is int. osc
  386. #define SYSCTL_OSC_INT4 0x00000020 // Osc source is int. osc /4
  387. #define SYSCTL_OSC_INT30 0x00000030 // Osc source is int. 30 KHz
  388. #define SYSCTL_OSC_EXT32 0x80000038 // Osc source is ext. 32 KHz
  389. #define SYSCTL_INT_OSC_DIS 0x00000002 // Disable internal oscillator
  390. #define SYSCTL_MAIN_OSC_DIS 0x00000001 // Disable main oscillator
  391. //*****************************************************************************
  392. //
  393. // The following are values that can be passed to the SysCtlDeepSleepClockSet()
  394. // API as the ui32Config parameter.
  395. //
  396. //*****************************************************************************
  397. #define SYSCTL_DSLP_DIV_1 0x00000000 // Deep-sleep clock is osc /1
  398. #define SYSCTL_DSLP_DIV_2 0x00800000 // Deep-sleep clock is osc /2
  399. #define SYSCTL_DSLP_DIV_3 0x01000000 // Deep-sleep clock is osc /3
  400. #define SYSCTL_DSLP_DIV_4 0x01800000 // Deep-sleep clock is osc /4
  401. #define SYSCTL_DSLP_DIV_5 0x02000000 // Deep-sleep clock is osc /5
  402. #define SYSCTL_DSLP_DIV_6 0x02800000 // Deep-sleep clock is osc /6
  403. #define SYSCTL_DSLP_DIV_7 0x03000000 // Deep-sleep clock is osc /7
  404. #define SYSCTL_DSLP_DIV_8 0x03800000 // Deep-sleep clock is osc /8
  405. #define SYSCTL_DSLP_DIV_9 0x04000000 // Deep-sleep clock is osc /9
  406. #define SYSCTL_DSLP_DIV_10 0x04800000 // Deep-sleep clock is osc /10
  407. #define SYSCTL_DSLP_DIV_11 0x05000000 // Deep-sleep clock is osc /11
  408. #define SYSCTL_DSLP_DIV_12 0x05800000 // Deep-sleep clock is osc /12
  409. #define SYSCTL_DSLP_DIV_13 0x06000000 // Deep-sleep clock is osc /13
  410. #define SYSCTL_DSLP_DIV_14 0x06800000 // Deep-sleep clock is osc /14
  411. #define SYSCTL_DSLP_DIV_15 0x07000000 // Deep-sleep clock is osc /15
  412. #define SYSCTL_DSLP_DIV_16 0x07800000 // Deep-sleep clock is osc /16
  413. #define SYSCTL_DSLP_DIV_17 0x08000000 // Deep-sleep clock is osc /17
  414. #define SYSCTL_DSLP_DIV_18 0x08800000 // Deep-sleep clock is osc /18
  415. #define SYSCTL_DSLP_DIV_19 0x09000000 // Deep-sleep clock is osc /19
  416. #define SYSCTL_DSLP_DIV_20 0x09800000 // Deep-sleep clock is osc /20
  417. #define SYSCTL_DSLP_DIV_21 0x0A000000 // Deep-sleep clock is osc /21
  418. #define SYSCTL_DSLP_DIV_22 0x0A800000 // Deep-sleep clock is osc /22
  419. #define SYSCTL_DSLP_DIV_23 0x0B000000 // Deep-sleep clock is osc /23
  420. #define SYSCTL_DSLP_DIV_24 0x0B800000 // Deep-sleep clock is osc /24
  421. #define SYSCTL_DSLP_DIV_25 0x0C000000 // Deep-sleep clock is osc /25
  422. #define SYSCTL_DSLP_DIV_26 0x0C800000 // Deep-sleep clock is osc /26
  423. #define SYSCTL_DSLP_DIV_27 0x0D000000 // Deep-sleep clock is osc /27
  424. #define SYSCTL_DSLP_DIV_28 0x0D800000 // Deep-sleep clock is osc /28
  425. #define SYSCTL_DSLP_DIV_29 0x0E000000 // Deep-sleep clock is osc /29
  426. #define SYSCTL_DSLP_DIV_30 0x0E800000 // Deep-sleep clock is osc /30
  427. #define SYSCTL_DSLP_DIV_31 0x0F000000 // Deep-sleep clock is osc /31
  428. #define SYSCTL_DSLP_DIV_32 0x0F800000 // Deep-sleep clock is osc /32
  429. #define SYSCTL_DSLP_DIV_33 0x10000000 // Deep-sleep clock is osc /33
  430. #define SYSCTL_DSLP_DIV_34 0x10800000 // Deep-sleep clock is osc /34
  431. #define SYSCTL_DSLP_DIV_35 0x11000000 // Deep-sleep clock is osc /35
  432. #define SYSCTL_DSLP_DIV_36 0x11800000 // Deep-sleep clock is osc /36
  433. #define SYSCTL_DSLP_DIV_37 0x12000000 // Deep-sleep clock is osc /37
  434. #define SYSCTL_DSLP_DIV_38 0x12800000 // Deep-sleep clock is osc /38
  435. #define SYSCTL_DSLP_DIV_39 0x13000000 // Deep-sleep clock is osc /39
  436. #define SYSCTL_DSLP_DIV_40 0x13800000 // Deep-sleep clock is osc /40
  437. #define SYSCTL_DSLP_DIV_41 0x14000000 // Deep-sleep clock is osc /41
  438. #define SYSCTL_DSLP_DIV_42 0x14800000 // Deep-sleep clock is osc /42
  439. #define SYSCTL_DSLP_DIV_43 0x15000000 // Deep-sleep clock is osc /43
  440. #define SYSCTL_DSLP_DIV_44 0x15800000 // Deep-sleep clock is osc /44
  441. #define SYSCTL_DSLP_DIV_45 0x16000000 // Deep-sleep clock is osc /45
  442. #define SYSCTL_DSLP_DIV_46 0x16800000 // Deep-sleep clock is osc /46
  443. #define SYSCTL_DSLP_DIV_47 0x17000000 // Deep-sleep clock is osc /47
  444. #define SYSCTL_DSLP_DIV_48 0x17800000 // Deep-sleep clock is osc /48
  445. #define SYSCTL_DSLP_DIV_49 0x18000000 // Deep-sleep clock is osc /49
  446. #define SYSCTL_DSLP_DIV_50 0x18800000 // Deep-sleep clock is osc /50
  447. #define SYSCTL_DSLP_DIV_51 0x19000000 // Deep-sleep clock is osc /51
  448. #define SYSCTL_DSLP_DIV_52 0x19800000 // Deep-sleep clock is osc /52
  449. #define SYSCTL_DSLP_DIV_53 0x1A000000 // Deep-sleep clock is osc /53
  450. #define SYSCTL_DSLP_DIV_54 0x1A800000 // Deep-sleep clock is osc /54
  451. #define SYSCTL_DSLP_DIV_55 0x1B000000 // Deep-sleep clock is osc /55
  452. #define SYSCTL_DSLP_DIV_56 0x1B800000 // Deep-sleep clock is osc /56
  453. #define SYSCTL_DSLP_DIV_57 0x1C000000 // Deep-sleep clock is osc /57
  454. #define SYSCTL_DSLP_DIV_58 0x1C800000 // Deep-sleep clock is osc /58
  455. #define SYSCTL_DSLP_DIV_59 0x1D000000 // Deep-sleep clock is osc /59
  456. #define SYSCTL_DSLP_DIV_60 0x1D800000 // Deep-sleep clock is osc /60
  457. #define SYSCTL_DSLP_DIV_61 0x1E000000 // Deep-sleep clock is osc /61
  458. #define SYSCTL_DSLP_DIV_62 0x1E800000 // Deep-sleep clock is osc /62
  459. #define SYSCTL_DSLP_DIV_63 0x1F000000 // Deep-sleep clock is osc /63
  460. #define SYSCTL_DSLP_DIV_64 0x1F800000 // Deep-sleep clock is osc /64
  461. #define SYSCTL_DSLP_OSC_MAIN 0x00000000 // Osc source is main osc
  462. #define SYSCTL_DSLP_OSC_INT 0x00000010 // Osc source is int. osc
  463. #define SYSCTL_DSLP_OSC_INT30 0x00000030 // Osc source is int. 30 KHz
  464. #define SYSCTL_DSLP_OSC_EXT32 0x00000070 // Osc source is ext. 32 KHz
  465. #define SYSCTL_DSLP_PIOSC_PD 0x00000002 // Power down PIOSC in deep-sleep
  466. #define SYSCTL_DSLP_MOSC_PD 0x40000000 // Power down MOSC in deep-sleep
  467. //*****************************************************************************
  468. //
  469. // The following are values that can be passed to the SysCtlPIOSCCalibrate()
  470. // API as the ui32Type parameter.
  471. //
  472. //*****************************************************************************
  473. #define SYSCTL_PIOSC_CAL_AUTO 0x00000200 // Automatic calibration
  474. #define SYSCTL_PIOSC_CAL_FACT 0x00000100 // Factory calibration
  475. #define SYSCTL_PIOSC_CAL_USER 0x80000100 // User-supplied calibration
  476. //*****************************************************************************
  477. //
  478. // The following are values that can be passed to the SysCtlMOSCConfigSet() API
  479. // as the ui32Config parameter.
  480. //
  481. //*****************************************************************************
  482. #define SYSCTL_MOSC_VALIDATE 0x00000001 // Enable MOSC validation
  483. #define SYSCTL_MOSC_INTERRUPT 0x00000002 // Generate interrupt on MOSC fail
  484. #define SYSCTL_MOSC_NO_XTAL 0x00000004 // No crystal is attached to MOSC
  485. #define SYSCTL_MOSC_PWR_DIS 0x00000008 // Power down the MOSC.
  486. #define SYSCTL_MOSC_LOWFREQ 0x00000000 // MOSC is less than 10MHz
  487. #define SYSCTL_MOSC_HIGHFREQ 0x00000010 // MOSC is greater than 10MHz
  488. #define SYSCTL_MOSC_SESRC 0x00000020 // Singled ended oscillator source.
  489. //*****************************************************************************
  490. //
  491. // The following are values that can be passed to the SysCtlSleepPowerSet() and
  492. // SysCtlDeepSleepPowerSet() APIs as the ui32Config parameter.
  493. //
  494. //*****************************************************************************
  495. #define SYSCTL_LDO_SLEEP 0x00000200 // LDO in sleep mode
  496. // (Deep Sleep Only)
  497. #define SYSCTL_TEMP_LOW_POWER 0x00000100 // Temp sensor in low power mode
  498. // (Deep Sleep Only)
  499. #define SYSCTL_FLASH_NORMAL 0x00000000 // Flash in normal mode
  500. #define SYSCTL_FLASH_LOW_POWER 0x00000020 // Flash in low power mode
  501. #define SYSCTL_SRAM_NORMAL 0x00000000 // SRAM in normal mode
  502. #define SYSCTL_SRAM_STANDBY 0x00000001 // SRAM in standby mode
  503. #define SYSCTL_SRAM_LOW_POWER 0x00000003 // SRAM in low power mode
  504. //*****************************************************************************
  505. //
  506. // Defines for the SysCtlResetBehaviorSet() and SysCtlResetBehaviorGet() APIs.
  507. //
  508. //*****************************************************************************
  509. #define SYSCTL_ONRST_WDOG0_POR 0x00000030
  510. #define SYSCTL_ONRST_WDOG0_SYS 0x00000020
  511. #define SYSCTL_ONRST_WDOG1_POR 0x000000C0
  512. #define SYSCTL_ONRST_WDOG1_SYS 0x00000080
  513. #define SYSCTL_ONRST_BOR_POR 0x0000000C
  514. #define SYSCTL_ONRST_BOR_SYS 0x00000008
  515. #define SYSCTL_ONRST_EXT_POR 0x00000003
  516. #define SYSCTL_ONRST_EXT_SYS 0x00000002
  517. //*****************************************************************************
  518. //
  519. // Values used with the SysCtlVoltageEventConfig() API.
  520. //
  521. //*****************************************************************************
  522. #define SYSCTL_VEVENT_VDDABO_NONE \
  523. 0x00000000
  524. #define SYSCTL_VEVENT_VDDABO_INT \
  525. 0x00000100
  526. #define SYSCTL_VEVENT_VDDABO_NMI \
  527. 0x00000200
  528. #define SYSCTL_VEVENT_VDDABO_RST \
  529. 0x00000300
  530. #define SYSCTL_VEVENT_VDDBO_NONE \
  531. 0x00000000
  532. #define SYSCTL_VEVENT_VDDBO_INT 0x00000001
  533. #define SYSCTL_VEVENT_VDDBO_NMI 0x00000002
  534. #define SYSCTL_VEVENT_VDDBO_RST 0x00000003
  535. //*****************************************************************************
  536. //
  537. // Values used with the SysCtlVoltageEventStatus() and
  538. // SysCtlVoltageEventClear() APIs.
  539. //
  540. //*****************************************************************************
  541. #define SYSCTL_VESTAT_VDDBOR 0x00000040
  542. #define SYSCTL_VESTAT_VDDABOR 0x00000010
  543. //*****************************************************************************
  544. //
  545. // Values used with the SysCtlNMIStatus() API.
  546. //
  547. //*****************************************************************************
  548. #define SYSCTL_NMI_MOSCFAIL 0x00010000
  549. #define SYSCTL_NMI_TAMPER 0x00000200
  550. #define SYSCTL_NMI_WDT1 0x00000020
  551. #define SYSCTL_NMI_WDT0 0x00000008
  552. #define SYSCTL_NMI_POWER 0x00000004
  553. #define SYSCTL_NMI_EXTERNAL 0x00000001
  554. //*****************************************************************************
  555. //
  556. // The defines for the SysCtlClockOutConfig() API.
  557. //
  558. //*****************************************************************************
  559. #define SYSCTL_CLKOUT_EN 0x80000000
  560. #define SYSCTL_CLKOUT_DIS 0x00000000
  561. #define SYSCTL_CLKOUT_SYSCLK 0x00000000
  562. #define SYSCTL_CLKOUT_PIOSC 0x00010000
  563. #define SYSCTL_CLKOUT_MOSC 0x00020000
  564. //*****************************************************************************
  565. //
  566. // The following defines are used with the SysCtlAltClkConfig() function.
  567. //
  568. //*****************************************************************************
  569. #define SYSCTL_ALTCLK_PIOSC 0x00000000
  570. #define SYSCTL_ALTCLK_RTCOSC 0x00000003
  571. #define SYSCTL_ALTCLK_LFIOSC 0x00000004
  572. //*****************************************************************************
  573. //
  574. // Prototypes for the APIs.
  575. //
  576. //*****************************************************************************
  577. extern uint32_t SysCtlSRAMSizeGet(void);
  578. extern uint32_t SysCtlFlashSizeGet(void);
  579. extern uint32_t SysCtlFlashSectorSizeGet(void);
  580. extern bool SysCtlPeripheralPresent(uint32_t ui32Peripheral);
  581. extern bool SysCtlPeripheralReady(uint32_t ui32Peripheral);
  582. extern void SysCtlPeripheralPowerOn(uint32_t ui32Peripheral);
  583. extern void SysCtlPeripheralPowerOff(uint32_t ui32Peripheral);
  584. extern void SysCtlPeripheralReset(uint32_t ui32Peripheral);
  585. extern void SysCtlPeripheralEnable(uint32_t ui32Peripheral);
  586. extern void SysCtlPeripheralDisable(uint32_t ui32Peripheral);
  587. extern void SysCtlPeripheralSleepEnable(uint32_t ui32Peripheral);
  588. extern void SysCtlPeripheralSleepDisable(uint32_t ui32Peripheral);
  589. extern void SysCtlPeripheralDeepSleepEnable(uint32_t ui32Peripheral);
  590. extern void SysCtlPeripheralDeepSleepDisable(uint32_t ui32Peripheral);
  591. extern void SysCtlPeripheralClockGating(bool bEnable);
  592. extern void SysCtlIntRegister(void (*pfnHandler)(void));
  593. extern void SysCtlIntUnregister(void);
  594. extern void SysCtlIntEnable(uint32_t ui32Ints);
  595. extern void SysCtlIntDisable(uint32_t ui32Ints);
  596. extern void SysCtlIntClear(uint32_t ui32Ints);
  597. extern uint32_t SysCtlIntStatus(bool bMasked);
  598. extern void SysCtlLDOSleepSet(uint32_t ui32Voltage);
  599. extern uint32_t SysCtlLDOSleepGet(void);
  600. extern void SysCtlLDODeepSleepSet(uint32_t ui32Voltage);
  601. extern uint32_t SysCtlLDODeepSleepGet(void);
  602. extern void SysCtlSleepPowerSet(uint32_t ui32Config);
  603. extern void SysCtlDeepSleepPowerSet(uint32_t ui32Config);
  604. extern void SysCtlReset(void);
  605. extern void SysCtlSleep(void);
  606. extern void SysCtlDeepSleep(void);
  607. extern uint32_t SysCtlResetCauseGet(void);
  608. extern void SysCtlResetCauseClear(uint32_t ui32Causes);
  609. extern void SysCtlBrownOutConfigSet(uint32_t ui32Config,
  610. uint32_t ui32Delay);
  611. extern void SysCtlDelay(uint32_t ui32Count);
  612. extern void SysCtlMOSCConfigSet(uint32_t ui32Config);
  613. extern uint32_t SysCtlPIOSCCalibrate(uint32_t ui32Type);
  614. extern void SysCtlClockSet(uint32_t ui32Config);
  615. extern uint32_t SysCtlClockGet(void);
  616. extern void SysCtlDeepSleepClockSet(uint32_t ui32Config);
  617. extern void SysCtlDeepSleepClockConfigSet(uint32_t ui32Div,
  618. uint32_t ui32Config);
  619. extern void SysCtlPWMClockSet(uint32_t ui32Config);
  620. extern uint32_t SysCtlPWMClockGet(void);
  621. extern void SysCtlIOSCVerificationSet(bool bEnable);
  622. extern void SysCtlMOSCVerificationSet(bool bEnable);
  623. extern void SysCtlPLLVerificationSet(bool bEnable);
  624. extern void SysCtlClkVerificationClear(void);
  625. extern void SysCtlGPIOAHBEnable(uint32_t ui32GPIOPeripheral);
  626. extern void SysCtlGPIOAHBDisable(uint32_t ui32GPIOPeripheral);
  627. extern void SysCtlUSBPLLEnable(void);
  628. extern void SysCtlUSBPLLDisable(void);
  629. extern uint32_t SysCtlClockFreqSet(uint32_t ui32Config,
  630. uint32_t ui32SysClock);
  631. extern void SysCtlResetBehaviorSet(uint32_t ui32Behavior);
  632. extern uint32_t SysCtlResetBehaviorGet(void);
  633. extern void SysCtlClockOutConfig(uint32_t ui32Config, uint32_t ui32Div);
  634. extern void SysCtlAltClkConfig(uint32_t ui32Config);
  635. extern uint32_t SysCtlNMIStatus(void);
  636. extern void SysCtlNMIClear(uint32_t ui32Status);
  637. extern void SysCtlVoltageEventConfig(uint32_t ui32Config);
  638. extern uint32_t SysCtlVoltageEventStatus(void);
  639. extern void SysCtlVoltageEventClear(uint32_t ui32Status);
  640. extern bool SysCtlVCOGet(uint32_t ui32Crystal, uint32_t *pui32VCOFrequency);
  641. //*****************************************************************************
  642. //
  643. // Mark the end of the C bindings section for C++ compilers.
  644. //
  645. //*****************************************************************************
  646. #ifdef __cplusplus
  647. }
  648. #endif
  649. #endif // __DRIVERLIB_SYSCTL_H__