sysctl.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  1. //*****************************************************************************
  2. //
  3. // sysctl.h - Prototypes for the system control driver.
  4. //
  5. // Copyright (c) 2005-2009 Luminary Micro, Inc. All rights reserved.
  6. // Software License Agreement
  7. //
  8. // Luminary Micro, Inc. (LMI) is supplying this software for use solely and
  9. // exclusively on LMI's microcontroller products.
  10. //
  11. // The software is owned by LMI and/or its suppliers, and is protected under
  12. // applicable copyright laws. All rights are reserved. You may not combine
  13. // this software with "viral" open-source software in order to form a larger
  14. // program. Any use in violation of the foregoing restrictions may subject
  15. // the user to criminal sanctions under applicable laws, as well as to civil
  16. // liability for the breach of the terms and conditions of this license.
  17. //
  18. // THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
  19. // OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
  20. // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
  21. // LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
  22. // CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
  23. //
  24. // This is part of revision 4694 of the Stellaris Peripheral Driver Library.
  25. //
  26. //*****************************************************************************
  27. #ifndef __SYSCTL_H__
  28. #define __SYSCTL_H__
  29. //*****************************************************************************
  30. //
  31. // If building with a C++ compiler, make all of the definitions in this header
  32. // have a C binding.
  33. //
  34. //*****************************************************************************
  35. #ifdef __cplusplus
  36. extern "C"
  37. {
  38. #endif
  39. //*****************************************************************************
  40. //
  41. // The following are values that can be passed to the
  42. // SysCtlPeripheralPresent(), SysCtlPeripheralEnable(),
  43. // SysCtlPeripheralDisable(), and SysCtlPeripheralReset() APIs as the
  44. // ulPeripheral parameter. The peripherals in the fourth group (upper nibble
  45. // is 3) can only be used with the SysCtlPeripheralPresent() API.
  46. //
  47. //*****************************************************************************
  48. #ifndef DEPRECATED
  49. #define SYSCTL_PERIPH_WDOG 0x00000008 // Watchdog
  50. #endif
  51. #define SYSCTL_PERIPH_WDOG0 0x00000008 // Watchdog 0
  52. #define SYSCTL_PERIPH_HIBERNATE 0x00000040 // Hibernation module
  53. #ifndef DEPRECATED
  54. #define SYSCTL_PERIPH_ADC 0x00100001 // ADC
  55. #endif
  56. #define SYSCTL_PERIPH_ADC0 0x00100001 // ADC0
  57. #define SYSCTL_PERIPH_ADC1 0x00100002 // ADC1
  58. #define SYSCTL_PERIPH_PWM 0x00100010 // PWM
  59. #define SYSCTL_PERIPH_CAN0 0x00100100 // CAN 0
  60. #define SYSCTL_PERIPH_CAN1 0x00100200 // CAN 1
  61. #define SYSCTL_PERIPH_CAN2 0x00100400 // CAN 2
  62. #define SYSCTL_PERIPH_WDOG1 0x00101000 // Watchdog 1
  63. #define SYSCTL_PERIPH_UART0 0x10000001 // UART 0
  64. #define SYSCTL_PERIPH_UART1 0x10000002 // UART 1
  65. #define SYSCTL_PERIPH_UART2 0x10000004 // UART 2
  66. #ifndef DEPRECATED
  67. #define SYSCTL_PERIPH_SSI 0x10000010 // SSI
  68. #endif
  69. #define SYSCTL_PERIPH_SSI0 0x10000010 // SSI 0
  70. #define SYSCTL_PERIPH_SSI1 0x10000020 // SSI 1
  71. #ifndef DEPRECATED
  72. #define SYSCTL_PERIPH_QEI 0x10000100 // QEI
  73. #endif
  74. #define SYSCTL_PERIPH_QEI0 0x10000100 // QEI 0
  75. #define SYSCTL_PERIPH_QEI1 0x10000200 // QEI 1
  76. #ifndef DEPRECATED
  77. #define SYSCTL_PERIPH_I2C 0x10001000 // I2C
  78. #endif
  79. #define SYSCTL_PERIPH_I2C0 0x10001000 // I2C 0
  80. #define SYSCTL_PERIPH_I2C1 0x10004000 // I2C 1
  81. #define SYSCTL_PERIPH_TIMER0 0x10100001 // Timer 0
  82. #define SYSCTL_PERIPH_TIMER1 0x10100002 // Timer 1
  83. #define SYSCTL_PERIPH_TIMER2 0x10100004 // Timer 2
  84. #define SYSCTL_PERIPH_TIMER3 0x10100008 // Timer 3
  85. #define SYSCTL_PERIPH_COMP0 0x10100100 // Analog comparator 0
  86. #define SYSCTL_PERIPH_COMP1 0x10100200 // Analog comparator 1
  87. #define SYSCTL_PERIPH_COMP2 0x10100400 // Analog comparator 2
  88. #define SYSCTL_PERIPH_I2S0 0x10101000 // I2S0
  89. #define SYSCTL_PERIPH_EPI0 0x10104000 // EPI0
  90. #define SYSCTL_PERIPH_GPIOA 0x20000001 // GPIO A
  91. #define SYSCTL_PERIPH_GPIOB 0x20000002 // GPIO B
  92. #define SYSCTL_PERIPH_GPIOC 0x20000004 // GPIO C
  93. #define SYSCTL_PERIPH_GPIOD 0x20000008 // GPIO D
  94. #define SYSCTL_PERIPH_GPIOE 0x20000010 // GPIO E
  95. #define SYSCTL_PERIPH_GPIOF 0x20000020 // GPIO F
  96. #define SYSCTL_PERIPH_GPIOG 0x20000040 // GPIO G
  97. #define SYSCTL_PERIPH_GPIOH 0x20000080 // GPIO H
  98. #define SYSCTL_PERIPH_GPIOJ 0x20000100 // GPIO J
  99. #define SYSCTL_PERIPH_UDMA 0x20002000 // uDMA
  100. #define SYSCTL_PERIPH_USB0 0x20100001 // USB0
  101. #define SYSCTL_PERIPH_ETH 0x20105000 // ETH
  102. #define SYSCTL_PERIPH_IEEE1588 0x20100100 // IEEE1588
  103. #define SYSCTL_PERIPH_PLL 0x30000010 // PLL
  104. #define SYSCTL_PERIPH_TEMP 0x30000020 // Temperature sensor
  105. #define SYSCTL_PERIPH_MPU 0x30000080 // Cortex M3 MPU
  106. //*****************************************************************************
  107. //
  108. // The following are values that can be passed to the SysCtlPinPresent() API
  109. // as the ulPin parameter.
  110. //
  111. //*****************************************************************************
  112. #define SYSCTL_PIN_PWM0 0x00000001 // PWM0 pin
  113. #define SYSCTL_PIN_PWM1 0x00000002 // PWM1 pin
  114. #define SYSCTL_PIN_PWM2 0x00000004 // PWM2 pin
  115. #define SYSCTL_PIN_PWM3 0x00000008 // PWM3 pin
  116. #define SYSCTL_PIN_PWM4 0x00000010 // PWM4 pin
  117. #define SYSCTL_PIN_PWM5 0x00000020 // PWM5 pin
  118. #define SYSCTL_PIN_PWM6 0x00000040 // PWM6 pin
  119. #define SYSCTL_PIN_PWM7 0x00000080 // PWM7 pin
  120. #define SYSCTL_PIN_C0MINUS 0x00000040 // C0- pin
  121. #define SYSCTL_PIN_C0PLUS 0x00000080 // C0+ pin
  122. #define SYSCTL_PIN_C0O 0x00000100 // C0o pin
  123. #define SYSCTL_PIN_C1MINUS 0x00000200 // C1- pin
  124. #define SYSCTL_PIN_C1PLUS 0x00000400 // C1+ pin
  125. #define SYSCTL_PIN_C1O 0x00000800 // C1o pin
  126. #define SYSCTL_PIN_C2MINUS 0x00001000 // C2- pin
  127. #define SYSCTL_PIN_C2PLUS 0x00002000 // C2+ pin
  128. #define SYSCTL_PIN_C2O 0x00004000 // C2o pin
  129. #define SYSCTL_PIN_MC_FAULT0 0x00008000 // MC0 Fault pin
  130. #define SYSCTL_PIN_ADC0 0x00010000 // ADC0 pin
  131. #define SYSCTL_PIN_ADC1 0x00020000 // ADC1 pin
  132. #define SYSCTL_PIN_ADC2 0x00040000 // ADC2 pin
  133. #define SYSCTL_PIN_ADC3 0x00080000 // ADC3 pin
  134. #define SYSCTL_PIN_ADC4 0x00100000 // ADC4 pin
  135. #define SYSCTL_PIN_ADC5 0x00200000 // ADC5 pin
  136. #define SYSCTL_PIN_ADC6 0x00400000 // ADC6 pin
  137. #define SYSCTL_PIN_ADC7 0x00800000 // ADC7 pin
  138. #define SYSCTL_PIN_CCP0 0x01000000 // CCP0 pin
  139. #define SYSCTL_PIN_CCP1 0x02000000 // CCP1 pin
  140. #define SYSCTL_PIN_CCP2 0x04000000 // CCP2 pin
  141. #define SYSCTL_PIN_CCP3 0x08000000 // CCP3 pin
  142. #define SYSCTL_PIN_CCP4 0x10000000 // CCP4 pin
  143. #define SYSCTL_PIN_CCP5 0x20000000 // CCP5 pin
  144. #define SYSCTL_PIN_32KHZ 0x80000000 // 32kHz pin
  145. //*****************************************************************************
  146. //
  147. // The following are values that can be passed to the SysCtlLDOSet() API as
  148. // the ulVoltage value, or returned by the SysCtlLDOGet() API.
  149. //
  150. //*****************************************************************************
  151. #define SYSCTL_LDO_2_25V 0x00000005 // LDO output of 2.25V
  152. #define SYSCTL_LDO_2_30V 0x00000004 // LDO output of 2.30V
  153. #define SYSCTL_LDO_2_35V 0x00000003 // LDO output of 2.35V
  154. #define SYSCTL_LDO_2_40V 0x00000002 // LDO output of 2.40V
  155. #define SYSCTL_LDO_2_45V 0x00000001 // LDO output of 2.45V
  156. #define SYSCTL_LDO_2_50V 0x00000000 // LDO output of 2.50V
  157. #define SYSCTL_LDO_2_55V 0x0000001f // LDO output of 2.55V
  158. #define SYSCTL_LDO_2_60V 0x0000001e // LDO output of 2.60V
  159. #define SYSCTL_LDO_2_65V 0x0000001d // LDO output of 2.65V
  160. #define SYSCTL_LDO_2_70V 0x0000001c // LDO output of 2.70V
  161. #define SYSCTL_LDO_2_75V 0x0000001b // LDO output of 2.75V
  162. //*****************************************************************************
  163. //
  164. // The following are values that can be passed to the SysCtlLDOConfigSet() API.
  165. //
  166. //*****************************************************************************
  167. #define SYSCTL_LDOCFG_ARST 0x00000001 // Allow LDO failure to reset
  168. #define SYSCTL_LDOCFG_NORST 0x00000000 // Do not reset on LDO failure
  169. //*****************************************************************************
  170. //
  171. // The following are values that can be passed to the SysCtlIntEnable(),
  172. // SysCtlIntDisable(), and SysCtlIntClear() APIs, or returned in the bit mask
  173. // by the SysCtlIntStatus() API.
  174. //
  175. //*****************************************************************************
  176. #define SYSCTL_INT_MOSC_PUP 0x00000100 // MOSC power-up interrupt
  177. #define SYSCTL_INT_USBPLL_LOCK 0x00000080 // USB PLL lock interrupt
  178. #define SYSCTL_INT_PLL_LOCK 0x00000040 // PLL lock interrupt
  179. #define SYSCTL_INT_CUR_LIMIT 0x00000020 // Current limit interrupt
  180. #define SYSCTL_INT_IOSC_FAIL 0x00000010 // Internal oscillator failure int
  181. #define SYSCTL_INT_MOSC_FAIL 0x00000008 // Main oscillator failure int
  182. #define SYSCTL_INT_POR 0x00000004 // Power on reset interrupt
  183. #define SYSCTL_INT_BOR 0x00000002 // Brown out interrupt
  184. #define SYSCTL_INT_PLL_FAIL 0x00000001 // PLL failure interrupt
  185. //*****************************************************************************
  186. //
  187. // The following are values that can be passed to the SysCtlResetCauseClear()
  188. // API or returned by the SysCtlResetCauseGet() API.
  189. //
  190. //*****************************************************************************
  191. #define SYSCTL_CAUSE_LDO 0x00000020 // LDO power not OK reset
  192. #define SYSCTL_CAUSE_SW 0x00000010 // Software reset
  193. #define SYSCTL_CAUSE_WDOG 0x00000008 // Watchdog reset
  194. #define SYSCTL_CAUSE_BOR 0x00000004 // Brown-out reset
  195. #define SYSCTL_CAUSE_POR 0x00000002 // Power on reset
  196. #define SYSCTL_CAUSE_EXT 0x00000001 // External reset
  197. //*****************************************************************************
  198. //
  199. // The following are values that can be passed to the SysCtlBrownOutConfigSet()
  200. // API as the ulConfig parameter.
  201. //
  202. //*****************************************************************************
  203. #define SYSCTL_BOR_RESET 0x00000002 // Reset instead of interrupting
  204. #define SYSCTL_BOR_RESAMPLE 0x00000001 // Resample BOR before asserting
  205. //*****************************************************************************
  206. //
  207. // The following are values that can be passed to the SysCtlPWMClockSet() API
  208. // as the ulConfig parameter, and can be returned by the SysCtlPWMClockGet()
  209. // API.
  210. //
  211. //*****************************************************************************
  212. #define SYSCTL_PWMDIV_1 0x00000000 // PWM clock is processor clock /1
  213. #define SYSCTL_PWMDIV_2 0x00100000 // PWM clock is processor clock /2
  214. #define SYSCTL_PWMDIV_4 0x00120000 // PWM clock is processor clock /4
  215. #define SYSCTL_PWMDIV_8 0x00140000 // PWM clock is processor clock /8
  216. #define SYSCTL_PWMDIV_16 0x00160000 // PWM clock is processor clock /16
  217. #define SYSCTL_PWMDIV_32 0x00180000 // PWM clock is processor clock /32
  218. #define SYSCTL_PWMDIV_64 0x001A0000 // PWM clock is processor clock /64
  219. //*****************************************************************************
  220. //
  221. // The following are values that can be passed to the SysCtlADCSpeedSet() API
  222. // as the ulSpeed parameter, and can be returned by the SyCtlADCSpeedGet()
  223. // API.
  224. //
  225. //*****************************************************************************
  226. #define SYSCTL_ADCSPEED_1MSPS 0x00000300 // 1,000,000 samples per second
  227. #define SYSCTL_ADCSPEED_500KSPS 0x00000200 // 500,000 samples per second
  228. #define SYSCTL_ADCSPEED_250KSPS 0x00000100 // 250,000 samples per second
  229. #define SYSCTL_ADCSPEED_125KSPS 0x00000000 // 125,000 samples per second
  230. //*****************************************************************************
  231. //
  232. // The following are values that can be passed to the SysCtlClockSet() API as
  233. // the ulConfig parameter.
  234. //
  235. //*****************************************************************************
  236. #define SYSCTL_SYSDIV_1 0x07800000 // Processor clock is osc/pll /1
  237. #define SYSCTL_SYSDIV_2 0x00C00000 // Processor clock is osc/pll /2
  238. #define SYSCTL_SYSDIV_3 0x01400000 // Processor clock is osc/pll /3
  239. #define SYSCTL_SYSDIV_4 0x01C00000 // Processor clock is osc/pll /4
  240. #define SYSCTL_SYSDIV_5 0x02400000 // Processor clock is osc/pll /5
  241. #define SYSCTL_SYSDIV_6 0x02C00000 // Processor clock is osc/pll /6
  242. #define SYSCTL_SYSDIV_7 0x03400000 // Processor clock is osc/pll /7
  243. #define SYSCTL_SYSDIV_8 0x03C00000 // Processor clock is osc/pll /8
  244. #define SYSCTL_SYSDIV_9 0x04400000 // Processor clock is osc/pll /9
  245. #define SYSCTL_SYSDIV_10 0x04C00000 // Processor clock is osc/pll /10
  246. #define SYSCTL_SYSDIV_11 0x05400000 // Processor clock is osc/pll /11
  247. #define SYSCTL_SYSDIV_12 0x05C00000 // Processor clock is osc/pll /12
  248. #define SYSCTL_SYSDIV_13 0x06400000 // Processor clock is osc/pll /13
  249. #define SYSCTL_SYSDIV_14 0x06C00000 // Processor clock is osc/pll /14
  250. #define SYSCTL_SYSDIV_15 0x07400000 // Processor clock is osc/pll /15
  251. #define SYSCTL_SYSDIV_16 0x07C00000 // Processor clock is osc/pll /16
  252. #define SYSCTL_SYSDIV_17 0x88400000 // Processor clock is osc/pll /17
  253. #define SYSCTL_SYSDIV_18 0x88C00000 // Processor clock is osc/pll /18
  254. #define SYSCTL_SYSDIV_19 0x89400000 // Processor clock is osc/pll /19
  255. #define SYSCTL_SYSDIV_20 0x89C00000 // Processor clock is osc/pll /20
  256. #define SYSCTL_SYSDIV_21 0x8A400000 // Processor clock is osc/pll /21
  257. #define SYSCTL_SYSDIV_22 0x8AC00000 // Processor clock is osc/pll /22
  258. #define SYSCTL_SYSDIV_23 0x8B400000 // Processor clock is osc/pll /23
  259. #define SYSCTL_SYSDIV_24 0x8BC00000 // Processor clock is osc/pll /24
  260. #define SYSCTL_SYSDIV_25 0x8C400000 // Processor clock is osc/pll /25
  261. #define SYSCTL_SYSDIV_26 0x8CC00000 // Processor clock is osc/pll /26
  262. #define SYSCTL_SYSDIV_27 0x8D400000 // Processor clock is osc/pll /27
  263. #define SYSCTL_SYSDIV_28 0x8DC00000 // Processor clock is osc/pll /28
  264. #define SYSCTL_SYSDIV_29 0x8E400000 // Processor clock is osc/pll /29
  265. #define SYSCTL_SYSDIV_30 0x8EC00000 // Processor clock is osc/pll /30
  266. #define SYSCTL_SYSDIV_31 0x8F400000 // Processor clock is osc/pll /31
  267. #define SYSCTL_SYSDIV_32 0x8FC00000 // Processor clock is osc/pll /32
  268. #define SYSCTL_SYSDIV_33 0x90400000 // Processor clock is osc/pll /33
  269. #define SYSCTL_SYSDIV_34 0x90C00000 // Processor clock is osc/pll /34
  270. #define SYSCTL_SYSDIV_35 0x91400000 // Processor clock is osc/pll /35
  271. #define SYSCTL_SYSDIV_36 0x91C00000 // Processor clock is osc/pll /36
  272. #define SYSCTL_SYSDIV_37 0x92400000 // Processor clock is osc/pll /37
  273. #define SYSCTL_SYSDIV_38 0x92C00000 // Processor clock is osc/pll /38
  274. #define SYSCTL_SYSDIV_39 0x93400000 // Processor clock is osc/pll /39
  275. #define SYSCTL_SYSDIV_40 0x93C00000 // Processor clock is osc/pll /40
  276. #define SYSCTL_SYSDIV_41 0x94400000 // Processor clock is osc/pll /41
  277. #define SYSCTL_SYSDIV_42 0x94C00000 // Processor clock is osc/pll /42
  278. #define SYSCTL_SYSDIV_43 0x95400000 // Processor clock is osc/pll /43
  279. #define SYSCTL_SYSDIV_44 0x95C00000 // Processor clock is osc/pll /44
  280. #define SYSCTL_SYSDIV_45 0x96400000 // Processor clock is osc/pll /45
  281. #define SYSCTL_SYSDIV_46 0x96C00000 // Processor clock is osc/pll /46
  282. #define SYSCTL_SYSDIV_47 0x97400000 // Processor clock is osc/pll /47
  283. #define SYSCTL_SYSDIV_48 0x97C00000 // Processor clock is osc/pll /48
  284. #define SYSCTL_SYSDIV_49 0x98400000 // Processor clock is osc/pll /49
  285. #define SYSCTL_SYSDIV_50 0x98C00000 // Processor clock is osc/pll /50
  286. #define SYSCTL_SYSDIV_51 0x99400000 // Processor clock is osc/pll /51
  287. #define SYSCTL_SYSDIV_52 0x99C00000 // Processor clock is osc/pll /52
  288. #define SYSCTL_SYSDIV_53 0x9A400000 // Processor clock is osc/pll /53
  289. #define SYSCTL_SYSDIV_54 0x9AC00000 // Processor clock is osc/pll /54
  290. #define SYSCTL_SYSDIV_55 0x9B400000 // Processor clock is osc/pll /55
  291. #define SYSCTL_SYSDIV_56 0x9BC00000 // Processor clock is osc/pll /56
  292. #define SYSCTL_SYSDIV_57 0x9C400000 // Processor clock is osc/pll /57
  293. #define SYSCTL_SYSDIV_58 0x9CC00000 // Processor clock is osc/pll /58
  294. #define SYSCTL_SYSDIV_59 0x9D400000 // Processor clock is osc/pll /59
  295. #define SYSCTL_SYSDIV_60 0x9DC00000 // Processor clock is osc/pll /60
  296. #define SYSCTL_SYSDIV_61 0x9E400000 // Processor clock is osc/pll /61
  297. #define SYSCTL_SYSDIV_62 0x9EC00000 // Processor clock is osc/pll /62
  298. #define SYSCTL_SYSDIV_63 0x9F400000 // Processor clock is osc/pll /63
  299. #define SYSCTL_SYSDIV_64 0x9FC00000 // Processor clock is osc/pll /64
  300. #define SYSCTL_SYSDIV_2_5 0xC1000000 // Processor clock is pll / 2.5
  301. #define SYSCTL_SYSDIV_3_5 0xC1800000 // Processor clock is pll / 3.5
  302. #define SYSCTL_SYSDIV_4_5 0xC2000000 // Processor clock is pll / 4.5
  303. #define SYSCTL_SYSDIV_5_5 0xC2800000 // Processor clock is pll / 5.5
  304. #define SYSCTL_SYSDIV_6_5 0xC3000000 // Processor clock is pll / 6.5
  305. #define SYSCTL_SYSDIV_7_5 0xC3800000 // Processor clock is pll / 7.5
  306. #define SYSCTL_SYSDIV_8_5 0xC4000000 // Processor clock is pll / 8.5
  307. #define SYSCTL_SYSDIV_9_5 0xC4800000 // Processor clock is pll / 9.5
  308. #define SYSCTL_SYSDIV_10_5 0xC5000000 // Processor clock is pll / 10.5
  309. #define SYSCTL_SYSDIV_11_5 0xC5800000 // Processor clock is pll / 11.5
  310. #define SYSCTL_SYSDIV_12_5 0xC6000000 // Processor clock is pll / 12.5
  311. #define SYSCTL_SYSDIV_13_5 0xC6800000 // Processor clock is pll / 13.5
  312. #define SYSCTL_SYSDIV_14_5 0xC7000000 // Processor clock is pll / 14.5
  313. #define SYSCTL_SYSDIV_15_5 0xC7800000 // Processor clock is pll / 15.5
  314. #define SYSCTL_SYSDIV_16_5 0xC8000000 // Processor clock is pll / 16.5
  315. #define SYSCTL_SYSDIV_17_5 0xC8800000 // Processor clock is pll / 17.5
  316. #define SYSCTL_SYSDIV_18_5 0xC9000000 // Processor clock is pll / 18.5
  317. #define SYSCTL_SYSDIV_19_5 0xC9800000 // Processor clock is pll / 19.5
  318. #define SYSCTL_SYSDIV_20_5 0xCA000000 // Processor clock is pll / 20.5
  319. #define SYSCTL_SYSDIV_21_5 0xCA800000 // Processor clock is pll / 21.5
  320. #define SYSCTL_SYSDIV_22_5 0xCB000000 // Processor clock is pll / 22.5
  321. #define SYSCTL_SYSDIV_23_5 0xCB800000 // Processor clock is pll / 23.5
  322. #define SYSCTL_SYSDIV_24_5 0xCC000000 // Processor clock is pll / 24.5
  323. #define SYSCTL_SYSDIV_25_5 0xCC800000 // Processor clock is pll / 25.5
  324. #define SYSCTL_SYSDIV_26_5 0xCD000000 // Processor clock is pll / 26.5
  325. #define SYSCTL_SYSDIV_27_5 0xCD800000 // Processor clock is pll / 27.5
  326. #define SYSCTL_SYSDIV_28_5 0xCE000000 // Processor clock is pll / 28.5
  327. #define SYSCTL_SYSDIV_29_5 0xCE800000 // Processor clock is pll / 29.5
  328. #define SYSCTL_SYSDIV_30_5 0xCF000000 // Processor clock is pll / 30.5
  329. #define SYSCTL_SYSDIV_31_5 0xCF800000 // Processor clock is pll / 31.5
  330. #define SYSCTL_SYSDIV_32_5 0xD0000000 // Processor clock is pll / 32.5
  331. #define SYSCTL_SYSDIV_33_5 0xD0800000 // Processor clock is pll / 33.5
  332. #define SYSCTL_SYSDIV_34_5 0xD1000000 // Processor clock is pll / 34.5
  333. #define SYSCTL_SYSDIV_35_5 0xD1800000 // Processor clock is pll / 35.5
  334. #define SYSCTL_SYSDIV_36_5 0xD2000000 // Processor clock is pll / 36.5
  335. #define SYSCTL_SYSDIV_37_5 0xD2800000 // Processor clock is pll / 37.5
  336. #define SYSCTL_SYSDIV_38_5 0xD3000000 // Processor clock is pll / 38.5
  337. #define SYSCTL_SYSDIV_39_5 0xD3800000 // Processor clock is pll / 39.5
  338. #define SYSCTL_SYSDIV_40_5 0xD4000000 // Processor clock is pll / 40.5
  339. #define SYSCTL_SYSDIV_41_5 0xD4800000 // Processor clock is pll / 41.5
  340. #define SYSCTL_SYSDIV_42_5 0xD5000000 // Processor clock is pll / 42.5
  341. #define SYSCTL_SYSDIV_43_5 0xD5800000 // Processor clock is pll / 43.5
  342. #define SYSCTL_SYSDIV_44_5 0xD6000000 // Processor clock is pll / 44.5
  343. #define SYSCTL_SYSDIV_45_5 0xD6800000 // Processor clock is pll / 45.5
  344. #define SYSCTL_SYSDIV_46_5 0xD7000000 // Processor clock is pll / 46.5
  345. #define SYSCTL_SYSDIV_47_5 0xD7800000 // Processor clock is pll / 47.5
  346. #define SYSCTL_SYSDIV_48_5 0xD8000000 // Processor clock is pll / 48.5
  347. #define SYSCTL_SYSDIV_49_5 0xD8800000 // Processor clock is pll / 49.5
  348. #define SYSCTL_SYSDIV_50_5 0xD9000000 // Processor clock is pll / 50.5
  349. #define SYSCTL_SYSDIV_51_5 0xD9800000 // Processor clock is pll / 51.5
  350. #define SYSCTL_SYSDIV_52_5 0xDA000000 // Processor clock is pll / 52.5
  351. #define SYSCTL_SYSDIV_53_5 0xDA800000 // Processor clock is pll / 53.5
  352. #define SYSCTL_SYSDIV_54_5 0xDB000000 // Processor clock is pll / 54.5
  353. #define SYSCTL_SYSDIV_55_5 0xDB800000 // Processor clock is pll / 55.5
  354. #define SYSCTL_SYSDIV_56_5 0xDC000000 // Processor clock is pll / 56.5
  355. #define SYSCTL_SYSDIV_57_5 0xDC800000 // Processor clock is pll / 57.5
  356. #define SYSCTL_SYSDIV_58_5 0xDD000000 // Processor clock is pll / 58.5
  357. #define SYSCTL_SYSDIV_59_5 0xDD800000 // Processor clock is pll / 59.5
  358. #define SYSCTL_SYSDIV_60_5 0xDE000000 // Processor clock is pll / 60.5
  359. #define SYSCTL_SYSDIV_61_5 0xDE800000 // Processor clock is pll / 61.5
  360. #define SYSCTL_SYSDIV_62_5 0xDF000000 // Processor clock is pll / 62.5
  361. #define SYSCTL_SYSDIV_63_5 0xDF800000 // Processor clock is pll / 63.5
  362. #define SYSCTL_USE_PLL 0x00000000 // System clock is the PLL clock
  363. #define SYSCTL_USE_OSC 0x00003800 // System clock is the osc clock
  364. #define SYSCTL_XTAL_1MHZ 0x00000000 // External crystal is 1MHz
  365. #define SYSCTL_XTAL_1_84MHZ 0x00000040 // External crystal is 1.8432MHz
  366. #define SYSCTL_XTAL_2MHZ 0x00000080 // External crystal is 2MHz
  367. #define SYSCTL_XTAL_2_45MHZ 0x000000C0 // External crystal is 2.4576MHz
  368. #define SYSCTL_XTAL_3_57MHZ 0x00000100 // External crystal is 3.579545MHz
  369. #define SYSCTL_XTAL_3_68MHZ 0x00000140 // External crystal is 3.6864MHz
  370. #define SYSCTL_XTAL_4MHZ 0x00000180 // External crystal is 4MHz
  371. #define SYSCTL_XTAL_4_09MHZ 0x000001C0 // External crystal is 4.096MHz
  372. #define SYSCTL_XTAL_4_91MHZ 0x00000200 // External crystal is 4.9152MHz
  373. #define SYSCTL_XTAL_5MHZ 0x00000240 // External crystal is 5MHz
  374. #define SYSCTL_XTAL_5_12MHZ 0x00000280 // External crystal is 5.12MHz
  375. #define SYSCTL_XTAL_6MHZ 0x000002C0 // External crystal is 6MHz
  376. #define SYSCTL_XTAL_6_14MHZ 0x00000300 // External crystal is 6.144MHz
  377. #define SYSCTL_XTAL_7_37MHZ 0x00000340 // External crystal is 7.3728MHz
  378. #define SYSCTL_XTAL_8MHZ 0x00000380 // External crystal is 8MHz
  379. #define SYSCTL_XTAL_8_19MHZ 0x000003C0 // External crystal is 8.192MHz
  380. #define SYSCTL_XTAL_10MHZ 0x00000400 // External crystal is 10 MHz
  381. #define SYSCTL_XTAL_12MHZ 0x00000440 // External crystal is 12 MHz
  382. #define SYSCTL_XTAL_12_2MHZ 0x00000480 // External crystal is 12.288 MHz
  383. #define SYSCTL_XTAL_13_5MHZ 0x000004C0 // External crystal is 13.56 MHz
  384. #define SYSCTL_XTAL_14_3MHZ 0x00000500 // External crystal is 14.31818 MHz
  385. #define SYSCTL_XTAL_16MHZ 0x00000540 // External crystal is 16 MHz
  386. #define SYSCTL_XTAL_16_3MHZ 0x00000580 // External crystal is 16.384 MHz
  387. #define SYSCTL_OSC_MAIN 0x00000000 // Osc source is main osc
  388. #define SYSCTL_OSC_INT 0x00000010 // Osc source is int. osc
  389. #define SYSCTL_OSC_INT4 0x00000020 // Osc source is int. osc /4
  390. #define SYSCTL_OSC_INT30 0x00000030 // Osc source is int. 30 KHz
  391. #define SYSCTL_OSC_EXT4_19 0x80000028 // Osc source is ext. 4.19 MHz
  392. #define SYSCTL_OSC_EXT32 0x80000038 // Osc source is ext. 32 KHz
  393. #define SYSCTL_INT_PIOSC_DIS 0x00000004 // Disable interal precision osc.
  394. #define SYSCTL_INT_OSC_DIS 0x00000002 // Disable internal oscillator
  395. #define SYSCTL_MAIN_OSC_DIS 0x00000001 // Disable main oscillator
  396. //*****************************************************************************
  397. //
  398. // Prototypes for the APIs.
  399. //
  400. //*****************************************************************************
  401. extern unsigned long SysCtlSRAMSizeGet(void);
  402. extern unsigned long SysCtlFlashSizeGet(void);
  403. extern tBoolean SysCtlPinPresent(unsigned long ulPin);
  404. extern tBoolean SysCtlPeripheralPresent(unsigned long ulPeripheral);
  405. extern void SysCtlPeripheralReset(unsigned long ulPeripheral);
  406. extern void SysCtlPeripheralEnable(unsigned long ulPeripheral);
  407. extern void SysCtlPeripheralDisable(unsigned long ulPeripheral);
  408. extern void SysCtlPeripheralSleepEnable(unsigned long ulPeripheral);
  409. extern void SysCtlPeripheralSleepDisable(unsigned long ulPeripheral);
  410. extern void SysCtlPeripheralDeepSleepEnable(unsigned long ulPeripheral);
  411. extern void SysCtlPeripheralDeepSleepDisable(unsigned long ulPeripheral);
  412. extern void SysCtlPeripheralClockGating(tBoolean bEnable);
  413. extern void SysCtlIntRegister(void (*pfnHandler)(void));
  414. extern void SysCtlIntUnregister(void);
  415. extern void SysCtlIntEnable(unsigned long ulInts);
  416. extern void SysCtlIntDisable(unsigned long ulInts);
  417. extern void SysCtlIntClear(unsigned long ulInts);
  418. extern unsigned long SysCtlIntStatus(tBoolean bMasked);
  419. extern void SysCtlLDOSet(unsigned long ulVoltage);
  420. extern unsigned long SysCtlLDOGet(void);
  421. extern void SysCtlLDOConfigSet(unsigned long ulConfig);
  422. extern void SysCtlReset(void);
  423. extern void SysCtlSleep(void);
  424. extern void SysCtlDeepSleep(void);
  425. extern unsigned long SysCtlResetCauseGet(void);
  426. extern void SysCtlResetCauseClear(unsigned long ulCauses);
  427. extern void SysCtlBrownOutConfigSet(unsigned long ulConfig,
  428. unsigned long ulDelay);
  429. extern void SysCtlDelay(unsigned long ulCount);
  430. extern void SysCtlClockSet(unsigned long ulConfig);
  431. extern unsigned long SysCtlClockGet(void);
  432. extern void SysCtlPWMClockSet(unsigned long ulConfig);
  433. extern unsigned long SysCtlPWMClockGet(void);
  434. extern void SysCtlADCSpeedSet(unsigned long ulSpeed);
  435. extern unsigned long SysCtlADCSpeedGet(void);
  436. extern void SysCtlIOSCVerificationSet(tBoolean bEnable);
  437. extern void SysCtlMOSCVerificationSet(tBoolean bEnable);
  438. extern void SysCtlPLLVerificationSet(tBoolean bEnable);
  439. extern void SysCtlClkVerificationClear(void);
  440. extern void SysCtlGPIOAHBEnable(unsigned long ulGPIOPeripheral);
  441. extern void SysCtlGPIOAHBDisable(unsigned long ulGPIOPeripheral);
  442. extern void SysCtlUSBPLLEnable(void);
  443. extern void SysCtlUSBPLLDisable(void);
  444. extern unsigned long SysCtlI2SMClkSet(unsigned long ulInputClock,
  445. unsigned long ulMClk);
  446. //*****************************************************************************
  447. //
  448. // Mark the end of the C bindings section for C++ compilers.
  449. //
  450. //*****************************************************************************
  451. #ifdef __cplusplus
  452. }
  453. #endif
  454. #endif // __SYSCTL_H__