clockMan1.c 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. /* ###################################################################
  2. ** This component module is generated by Processor Expert. Do not modify it.
  3. ** Filename : clockMan1.c
  4. ** Project : flexcan_mpc5777c
  5. ** Processor : MPC5777C_516
  6. ** Component : clock_manager
  7. ** Version : Component SDK_S32_PA_11, Driver 01.00, CPU db: 3.00.000
  8. ** Repository : SDK_S32_PA_11
  9. ** Compiler : GNU C Compiler
  10. ** Date/Time : 2020-05-14, 15:20, # CodeGen: 0
  11. **
  12. ** Copyright 1997 - 2015 Freescale Semiconductor, Inc.
  13. ** Copyright 2016-2017 NXP
  14. ** All Rights Reserved.
  15. **
  16. ** THIS SOFTWARE IS PROVIDED BY NXP "AS IS" AND ANY EXPRESSED OR
  17. ** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  18. ** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  19. ** IN NO EVENT SHALL NXP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
  20. ** INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  21. ** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  22. ** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  23. ** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  24. ** STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
  25. ** IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  26. ** THE POSSIBILITY OF SUCH DAMAGE.
  27. ** ###################################################################*/
  28. /*!
  29. ** @file clockMan1.c
  30. ** @version 01.00
  31. */
  32. /*!
  33. ** @addtogroup clockMan1_module clockMan1 module documentation
  34. ** @{
  35. */
  36. /* clockMan1. */
  37. /**
  38. * @page misra_violations MISRA-C:2012 violations
  39. *
  40. * @section [global]
  41. * Violates MISRA 2012 Advisory Rule 8.7, External variable could be made static.
  42. * The external variables will be used in other source files, with the same initialized values.
  43. */
  44. #include "clockMan1.h"
  45. /**
  46. * @page misra_violations MISRA-C:2012 violations
  47. *
  48. * @section [global]
  49. * Violates MISRA 2012 Required Rule 9.4, Duplicate initialization of object element.
  50. * It's the only way to initialize an array that is member of struct.
  51. *
  52. */
  53. /* *************************************************************************
  54. * Configuration structure for Clock Configuration 0
  55. * ************************************************************************* */
  56. /*! @brief User Configuration structure clock_managerCfg_0 */
  57. clock_manager_user_config_t clockMan1_InitConfig0 = {
  58. .siuConfig =
  59. {
  60. .SIU_CRC = false, /* CRC */
  61. .SIU_DSPIA = false, /* DSPIA */
  62. .SIU_DSPIB = false, /* DSPIB */
  63. .SIU_DSPIC = false, /* DSPIC */
  64. .SIU_DSPID = false, /* DSPID */
  65. .SIU_ENET = false, /* ENET */
  66. .SIU_FLEXCANA = true, /* FLEXCANA */
  67. .SIU_FLEXCANB = true, /* FLEXCANB */
  68. .SIU_FLEXCANC = true, /* FLEXCANC */
  69. .SIU_FLEXCAND = true, /* FLEXCAND */
  70. .SIU_EMIOS0 = false, /* EMIOS0 */
  71. .SIU_EMIOS1 = false, /* EMIOS1 */
  72. .SIU_CSE = false, /* CSE */
  73. .SIU_PSI = false, /* PSI */
  74. .SIU_ESCIA = false, /* ESCIA */
  75. .SIU_ESCIB = false, /* ESCIB */
  76. .SIU_ESCIC = false, /* ESCIC */
  77. .SIU_ESCID = false, /* ESCID */
  78. .SIU_ESCIE = false, /* ESCIE */
  79. .SIU_ESCIF = false, /* ESCIF */
  80. .SIU_PSI5A = false, /* PSI5A */
  81. .SIU_PSI5B = false, /* PSI5B */
  82. .SIU_DECFIL = false, /* DECFIL */
  83. .SIU_ETPUC = false, /* ETPUC */
  84. .SIU_NPC = false, /* NPC */
  85. .SIU_PIT = true, /* PIT */
  86. .SIU_STCU = false, /* STCU */
  87. .SIU_SRX0 = false, /* SRX0 */
  88. .SIU_SRX1 = false, /* SRX1 */
  89. .SIU_EQADCA = false, /* EQADCA */
  90. .SIU_EQADCB = false, /* EQADCB */
  91. .SIU_SDD = false, /* SDD */
  92. .SIU_SIPI = false, /* SIPI */
  93. .SIU_SDA = false, /* SDA */
  94. .SIU_SDB = false, /* SDB */
  95. .SIU_SDC = false, /* SDC */
  96. .SIU_MCANB = true, /* MCANB */
  97. .SIU_EBI = false, /* EBI */
  98. .SIU_ETPUA = false, /* ETPUA */
  99. .SIU_DSPIE = false, /* DSPIE */
  100. .SIU_MCANA = true, /* MCANA */
  101. .pll0Reference = PLL_REFERENCE_IRCOSC, /* PLL0 Reference */
  102. .pll1Reference = PLL_REFERENCE_PLL0_PHI1, /* PLL1 Reference */
  103. .scs = SIU_SYSTEM_CLOCK_SRC_PLL0_PHI0, /* System Clock Source */
  104. .coreClk = SIU_CLOCK_DIV_BY_1, /* Core Clock */
  105. .pbridgeClk = SIU_CLOCK_DIV_BY_2, /* Pbridge Clock */
  106. .perClkSel = SIU_PER_CLK_SEL_CORE_CLK, /* Peripheral Clock Selector */
  107. .perClk = SIU_CLOCK_DIV_BY_2, /* Peripheral Clock */
  108. .etpuClk = SIU_CLOCK_DIV_BY_1, /* ETPU Clock */
  109. .adcsdClk = SIU_CLOCK_DIV_BY_1, /* ADC Sigma Delta Clock */
  110. .psi5Rx = SIU_CLOCK_DIV_BY_1, /* PSI5 Clock */
  111. .psi5Rx1M = SIU_CLOCK_DIV_BY_1, /* PSI5 1M Clock */
  112. .lfastSel = SIU_LFASTx_SEL_PER_CLK, /* LFAST Selector Clock */
  113. .lfastClk = SIU_CLOCK_DIV_BY_1, /* LFAST Clock */
  114. .mcanSel = SIU_MCAN_CLK_SEL_XOSC_CLK, /* CAN Selector Clock */
  115. .clkout = SIU_CLOCK_DIV_BY_1, /* Clockout */
  116. .engClkoutSel = SIU_ENG_CLOCKOUT_XOSC_CLK, /* Engineering Clockout Selector */
  117. .engClkout = SIU_CLOCK_DIV_BY_1, /* Engineering Clockout */
  118. },
  119. .clockSourcesConfig =
  120. {
  121. .xosc0Config =
  122. {
  123. .freq = 40000000, /* XOSC Frequency */
  124. .startupDelay = 1, /* XOSC Startup Delay */
  125. .bypassOption = XOSC_USE_CRYSTAL, /* Bypass Option */
  126. },
  127. .pll0Config =
  128. {
  129. .enable = true, /* PLL0 Enabled */
  130. .predivider = PLLDIG_CLOCK_PREDIV_BY_1, /* PLL0 Predivider */
  131. .mulFactorDiv = 20, /* PLL0 Multiplier */
  132. .phi0Divider = PLLDIG_PHI_DIV_BY_2, /* PLL0PHI0 Divider */
  133. .phi1Divider = PLLDIG_PHI_DIV_BY_4, /* PLL0PHI1 Divider */
  134. },
  135. .pll1Config =
  136. {
  137. .enable = true, /* PLL1 Enabled */
  138. .mulFactorDiv = 10, /* PLL1 Multiplier */
  139. .fracDivider = true, /* PLL1 divider enable */
  140. .fracDividerValue = 0, /* PLL1 Divider Value */
  141. .phi0Divider = PLLDIG_PHI_DIV_BY_5, /* PLL1PHI0 Divider */
  142. .modulation = false, /* Modulation Enable */
  143. .modulationType = CENTRE_SPREAD_MODULATION, /* Modulation Type */
  144. .modulationPeriod = 0, /* Modulation Period */
  145. .incrementStep = 0, /* Modulation Increment Step */
  146. .rectangularDitherControl = false, /* Rectangular Dither Enable */
  147. .rectangularDitherControlValue = 0, /* Rectangular Dither Value */
  148. .triangularDitherControl = false, /* Triangular Dither Enable */
  149. .triangularDitherControlValue = 0, /* Triangular Dither Value */
  150. },
  151. .sipiRefClkFreq0 = 0U,
  152. },
  153. .cmuConfig =
  154. {
  155. .cmu_rcdiv = CMU_LO_FREQ_1, /* Lowest accepted frequency divider */
  156. .cmu =
  157. {
  158. {
  159. .enable = false, /* CMU_0 disabled */
  160. .lo_freq = 0, /* Lowest accepted frequency */
  161. .hi_freq = 4095, /* Highest accepted frequency */
  162. },
  163. {
  164. .enable = false, /* CMU_1 disabled */
  165. .lo_freq = 0, /* Lowest accepted frequency */
  166. .hi_freq = 4095, /* Highest accepted frequency */
  167. },
  168. {
  169. .enable = false, /* CMU_2 disabled */
  170. .lo_freq = 0, /* Lowest accepted frequency */
  171. .hi_freq = 4095, /* Highest accepted frequency */
  172. },
  173. {
  174. .enable = false, /* CMU_3 disabled */
  175. .lo_freq = 0, /* Lowest accepted frequency */
  176. .hi_freq = 4095, /* Highest accepted frequency */
  177. },
  178. {
  179. .enable = false, /* CMU_4 disabled */
  180. .lo_freq = 0, /* Lowest accepted frequency */
  181. .hi_freq = 4095, /* Highest accepted frequency */
  182. },
  183. {
  184. .enable = false, /* CMU_5 disabled */
  185. .lo_freq = 0, /* Lowest accepted frequency */
  186. .hi_freq = 4095, /* Highest accepted frequency */
  187. },
  188. {
  189. .enable = false, /* CMU_6 disabled */
  190. .lo_freq = 0, /* Lowest accepted frequency */
  191. .hi_freq = 4095, /* Highest accepted frequency */
  192. },
  193. {
  194. .enable = false, /* CMU_7 disabled */
  195. .lo_freq = 0, /* Lowest accepted frequency */
  196. .hi_freq = 4095, /* Highest accepted frequency */
  197. },
  198. {
  199. .enable = false, /* CMU_8 disabled */
  200. .lo_freq = 0, /* Lowest accepted frequency */
  201. .hi_freq = 4095, /* Highest accepted frequency */
  202. },
  203. },
  204. },
  205. };
  206. /*! @brief Array of pointers to User configuration structures */
  207. clock_manager_user_config_t const * g_clockManConfigsArr[] = {
  208. &clockMan1_InitConfig0
  209. };
  210. /*! @brief Array of pointers to User defined Callbacks configuration structures */
  211. clock_manager_callback_user_config_t * g_clockManCallbacksArr[] = {(void*)0};
  212. /* END clockMan1. */
  213. /*!
  214. ** @}
  215. */
  216. /*
  217. ** ###################################################################
  218. **
  219. ** This file was created by Processor Expert 10.1 [05.21]
  220. ** for the NXP C55 series of microcontrollers.
  221. **
  222. ** ###################################################################
  223. */