hal_data.c 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458
  1. /* generated HAL source file - do not edit */
  2. #include "hal_data.h"
  3. gpt_instance_ctrl_t g_timer1_ctrl;
  4. #if 0
  5. const gpt_extended_pwm_cfg_t g_timer1_pwm_extend =
  6. {
  7. #if defined(VECTOR_NUMBER_GPT8_UDF)
  8. .trough_ipl = (BSP_IRQ_DISABLED),
  9. .trough_irq = VECTOR_NUMBER_GPT8_UDF,
  10. #elif defined(VECTOR_NUMBER_GPT01_1_INT)
  11. .trough_ipl = FSP_NOT_DEFINED,
  12. .trough_irq = VECTOR_NUMBER_GPT01_1_INT,
  13. #else
  14. .trough_ipl = (BSP_IRQ_DISABLED),
  15. .trough_irq = FSP_INVALID_VECTOR,
  16. #endif
  17. .poeg_link = GPT_POEG_LINK_POEG0,
  18. .output_disable = GPT_OUTPUT_DISABLE_NONE,
  19. .adc_trigger = GPT_ADC_TRIGGER_NONE,
  20. .dead_time_count_up = 0,
  21. .dead_time_count_down = 0,
  22. .adc_a_compare_match = 0,
  23. .adc_b_compare_match = 0,
  24. .interrupt_skip_source = GPT_INTERRUPT_SKIP_SOURCE_NONE,
  25. .interrupt_skip_count = GPT_INTERRUPT_SKIP_COUNT_0,
  26. .interrupt_skip_adc = GPT_INTERRUPT_SKIP_ADC_NONE,
  27. .gtioca_disable_setting = GPT_GTIOC_DISABLE_PROHIBITED,
  28. .gtiocb_disable_setting = GPT_GTIOC_DISABLE_PROHIBITED,
  29. .interrupt_skip_source_ext1 = GPT_INTERRUPT_SKIP_SOURCE_NONE,
  30. .interrupt_skip_count_ext1 = GPT_INTERRUPT_SKIP_COUNT_0,
  31. .interrupt_skip_source_ext2 = GPT_INTERRUPT_SKIP_SOURCE_NONE,
  32. .interrupt_skip_count_ext2 = GPT_INTERRUPT_SKIP_COUNT_0,
  33. .interrupt_skip_func_ovf = GPT_INTERRUPT_SKIP_SELECT_NONE,
  34. .interrupt_skip_func_unf = GPT_INTERRUPT_SKIP_SELECT_NONE,
  35. .interrupt_skip_func_adc_a = GPT_INTERRUPT_SKIP_SELECT_NONE,
  36. .interrupt_skip_func_adc_b = GPT_INTERRUPT_SKIP_SELECT_NONE,
  37. };
  38. #endif
  39. const gpt_extended_cfg_t g_timer1_extend =
  40. {
  41. .gtioca = { .output_enabled = false,
  42. .stop_level = GPT_PIN_LEVEL_LOW
  43. },
  44. .gtiocb = { .output_enabled = false,
  45. .stop_level = GPT_PIN_LEVEL_LOW
  46. },
  47. .start_source = (gpt_source_t) ( GPT_SOURCE_NONE),
  48. .stop_source = (gpt_source_t) ( GPT_SOURCE_NONE),
  49. .clear_source = (gpt_source_t) ( GPT_SOURCE_NONE),
  50. #if (0 == (0))
  51. .count_up_source = (gpt_source_t) ( GPT_SOURCE_NONE),
  52. .count_down_source = (gpt_source_t) ( GPT_SOURCE_NONE),
  53. #else
  54. .count_up_source = (gpt_source_t) ((GPT_PHASE_COUNTING_MODE_1_UP | (GPT_PHASE_COUNTING_MODE_1_DN << 16)) & 0x000FFFFU),
  55. .count_down_source = (gpt_source_t) (((GPT_PHASE_COUNTING_MODE_1_UP | (GPT_PHASE_COUNTING_MODE_1_DN << 16)) & 0xFFFF0000U) >> 16),
  56. #endif
  57. .capture_a_source = (gpt_source_t) ( GPT_SOURCE_NONE),
  58. .capture_b_source = (gpt_source_t) ( GPT_SOURCE_NONE),
  59. #if defined(VECTOR_NUMBER_GPT8_CCMPA)
  60. .capture_a_ipl = (BSP_IRQ_DISABLED),
  61. .capture_a_irq = VECTOR_NUMBER_GPT8_CCMPA,
  62. .capture_a_source_select = BSP_IRQ_DISABLED,
  63. #elif defined(VECTOR_NUMBER_GPT01_1_INT)
  64. .capture_a_ipl = FSP_NOT_DEFINED,
  65. .capture_a_irq = VECTOR_NUMBER_GPT01_1_INT,
  66. .capture_a_source_select = ,
  67. #else
  68. .capture_a_ipl = (BSP_IRQ_DISABLED),
  69. .capture_a_irq = FSP_INVALID_VECTOR,
  70. .capture_a_source_select = BSP_IRQ_DISABLED,
  71. #endif
  72. #if defined(VECTOR_NUMBER_GPT8_CCMPB)
  73. .capture_b_irq = VECTOR_NUMBER_GPT8_CCMPB,
  74. .capture_b_ipl = (BSP_IRQ_DISABLED),
  75. .capture_b_source_select = BSP_IRQ_DISABLED,
  76. #elif defined(VECTOR_NUMBER_GPT01_1_INT)
  77. .capture_b_irq = VECTOR_NUMBER_GPT01_1_INT,
  78. .capture_b_ipl = FSP_NOT_DEFINED,
  79. .capture_b_source_select = ,
  80. #else
  81. .capture_b_ipl = (BSP_IRQ_DISABLED),
  82. .capture_b_irq = FSP_INVALID_VECTOR,
  83. .capture_b_source_select = BSP_IRQ_DISABLED,
  84. #endif
  85. .capture_filter_gtioca = GPT_CAPTURE_FILTER_NONE,
  86. .capture_filter_gtiocb = GPT_CAPTURE_FILTER_NONE,
  87. #if 0
  88. .p_pwm_cfg = &g_timer1_pwm_extend,
  89. #else
  90. .p_pwm_cfg = NULL,
  91. #endif
  92. #if defined(VECTOR_NUMBER_GPT8_DTE)
  93. .dead_time_ipl = (BSP_IRQ_DISABLED),
  94. .dead_time_irq = VECTOR_NUMBER_GPT8_DTE,
  95. .dead_time_error_source_select = BSP_IRQ_DISABLED,
  96. #elif defined(VECTOR_NUMBER_GPT01_1_INT)
  97. .dead_time_ipl = FSP_NOT_DEFINED,
  98. .dead_time_irq = VECTOR_NUMBER_GPT01_1_INT,
  99. .dead_time_error_source_select = ,
  100. #else
  101. .dead_time_ipl = (BSP_IRQ_DISABLED),
  102. .dead_time_irq = FSP_INVALID_VECTOR,
  103. .dead_time_error_source_select = BSP_IRQ_DISABLED,
  104. #endif
  105. .icds = 0,
  106. #if (2U == BSP_FEATURE_GPT_REGISTER_MASK_TYPE)
  107. #if (1U == BSP_FEATURE_GPT_INPUT_CAPTURE_SIGNAL_SELECTABLE)
  108. .gtioc_isel = 0,
  109. #endif
  110. #endif
  111. #if defined(VECTOR_NUMBER_GPT8_OVF)
  112. .cycle_end_source_select = BSP_IRQ_DISABLED,
  113. #elif defined(VECTOR_NUMBER_GPT01_1_INT)
  114. .cycle_end_source_select = ,
  115. #else
  116. .cycle_end_source_select = BSP_IRQ_DISABLED,
  117. #endif
  118. #if defined(VECTOR_NUMBER_GPT8_UDF)
  119. .trough_source_select = BSP_IRQ_DISABLED,
  120. #elif defined(VECTOR_NUMBER_GPT01_1_INT)
  121. .trough_source_select = ,
  122. #else
  123. .trough_source_select = BSP_IRQ_DISABLED,
  124. #endif
  125. };
  126. const timer_cfg_t g_timer1_cfg =
  127. {
  128. .mode = TIMER_MODE_PERIODIC,
  129. /* Actual period: 42.94967296 seconds. Actual duty: 50%. */ .period_counts = (uint32_t) 0x100000000, .duty_cycle_counts = 0x80000000, .source_div = (timer_source_div_t)0,
  130. .channel = GPT_CHANNEL_UNIT1_1,
  131. #if (1 == BSP_FEATURE_BSP_IRQ_GPT_SEL_SUPPORTED)
  132. .p_callback = NULL,
  133. #else
  134. .p_callback = timer1_callback,
  135. #endif
  136. .p_context = NULL,
  137. .p_extend = &g_timer1_extend,
  138. #if defined(VECTOR_NUMBER_GPT8_OVF)
  139. .cycle_end_ipl = (12),
  140. .cycle_end_irq = VECTOR_NUMBER_GPT8_OVF,
  141. #elif defined(VECTOR_NUMBER_GPT01_1_INT)
  142. .cycle_end_ipl = FSP_NOT_DEFINED,
  143. .cycle_end_irq = VECTOR_NUMBER_GPT01_1_INT,
  144. #else
  145. .cycle_end_ipl = (12),
  146. .cycle_end_irq = FSP_INVALID_VECTOR,
  147. #endif
  148. };
  149. /* Instance structure to use this module. */
  150. const timer_instance_t g_timer1 =
  151. {
  152. .p_ctrl = &g_timer1_ctrl,
  153. .p_cfg = &g_timer1_cfg,
  154. .p_api = &g_timer_on_gpt
  155. };
  156. /* Nominal and Data bit timing configuration */
  157. can_bit_timing_cfg_t g_canfd1_bit_timing_cfg =
  158. {
  159. /* Actual bitrate: 1000000 Hz. Actual sample point: 75 %. */
  160. .baud_rate_prescaler = 1,
  161. .time_segment_1 = 29,
  162. .time_segment_2 = 10,
  163. .synchronization_jump_width = 4
  164. };
  165. can_bit_timing_cfg_t g_canfd1_data_timing_cfg =
  166. {
  167. /* Actual bitrate: 1000000 Hz. Actual sample point: 75 %. */
  168. .baud_rate_prescaler = 1,
  169. .time_segment_1 = 29,
  170. .time_segment_2 = 10,
  171. .synchronization_jump_width = 4
  172. };
  173. extern const canfd_afl_entry_t p_canfd1_afl[CANFD_CFG_AFL_CH1_RULE_NUM];
  174. #ifndef CANFD_PRV_GLOBAL_CFG
  175. #define CANFD_PRV_GLOBAL_CFG
  176. canfd_global_cfg_t g_canfd_global_cfg =
  177. {
  178. .global_interrupts = CANFD_CFG_GLOBAL_ERR_SOURCES,
  179. .global_config = (CANFD_CFG_TX_PRIORITY | CANFD_CFG_DLC_CHECK | CANFD_CFD_CLOCK_SOURCE | CANFD_CFG_FD_OVERFLOW | (uint32_t) (CANFD_CFG_TIMER_PRESCALER << R_CANFD_CFDGCFG_ITRCP_Pos)),
  180. .rx_mb_config = (CANFD_CFG_RXMB_NUMBER | (CANFD_CFG_RXMB_SIZE << R_CANFD_CFDRMNB_RMPLS_Pos)),
  181. .global_err_ipl = CANFD_CFG_GLOBAL_ERR_IPL,
  182. .rx_fifo_ipl = CANFD_CFG_RX_FIFO_IPL,
  183. .rx_fifo_config =
  184. {
  185. ((CANFD_CFG_RXFIFO0_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO0_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO0_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO0_INT_MODE) | (CANFD_CFG_RXFIFO0_ENABLE)),
  186. ((CANFD_CFG_RXFIFO1_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO1_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO1_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO1_INT_MODE) | (CANFD_CFG_RXFIFO1_ENABLE)),
  187. ((CANFD_CFG_RXFIFO2_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO2_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO2_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO2_INT_MODE) | (CANFD_CFG_RXFIFO2_ENABLE)),
  188. ((CANFD_CFG_RXFIFO3_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO3_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO3_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO3_INT_MODE) | (CANFD_CFG_RXFIFO3_ENABLE)),
  189. ((CANFD_CFG_RXFIFO4_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO4_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO4_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO4_INT_MODE) | (CANFD_CFG_RXFIFO4_ENABLE)),
  190. ((CANFD_CFG_RXFIFO5_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO5_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO5_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO5_INT_MODE) | (CANFD_CFG_RXFIFO5_ENABLE)),
  191. ((CANFD_CFG_RXFIFO6_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO6_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO6_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO6_INT_MODE) | (CANFD_CFG_RXFIFO6_ENABLE)),
  192. ((CANFD_CFG_RXFIFO7_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO7_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO7_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO7_INT_MODE) | (CANFD_CFG_RXFIFO7_ENABLE)),
  193. },
  194. .common_fifo_config =
  195. {
  196. CANFD_CFG_COMMONFIFO0,
  197. CANFD_CFG_COMMONFIFO1,
  198. CANFD_CFG_COMMONFIFO2,
  199. CANFD_CFG_COMMONFIFO3,
  200. CANFD_CFG_COMMONFIFO4,
  201. CANFD_CFG_COMMONFIFO5,
  202. }
  203. };
  204. #endif
  205. canfd_extended_cfg_t g_canfd1_extended_cfg =
  206. {
  207. .p_afl = p_canfd1_afl,
  208. .txmb_txi_enable = ((1ULL << 0) | (1ULL << 1) | 0ULL),
  209. .error_interrupts = ( 0U),
  210. .p_data_timing = &g_canfd1_data_timing_cfg,
  211. .delay_compensation = (1),
  212. .p_global_cfg = &g_canfd_global_cfg,
  213. };
  214. canfd_instance_ctrl_t g_canfd1_ctrl;
  215. const can_cfg_t g_canfd1_cfg =
  216. {
  217. .channel = 1,
  218. .p_bit_timing = &g_canfd1_bit_timing_cfg,
  219. .p_callback = canfd1_callback,
  220. .p_extend = &g_canfd1_extended_cfg,
  221. .p_context = NULL,
  222. .ipl = (12),
  223. #if defined(VECTOR_NUMBER_CAN1_COMFRX)
  224. .rx_irq = VECTOR_NUMBER_CAN1_COMFRX,
  225. #else
  226. .rx_irq = FSP_INVALID_VECTOR,
  227. #endif
  228. #if defined(VECTOR_NUMBER_CAN1_TX)
  229. .tx_irq = VECTOR_NUMBER_CAN1_TX,
  230. #else
  231. .tx_irq = FSP_INVALID_VECTOR,
  232. #endif
  233. #if defined(VECTOR_NUMBER_CAN1_CHERR)
  234. .error_irq = VECTOR_NUMBER_CAN1_CHERR,
  235. #else
  236. .error_irq = FSP_INVALID_VECTOR,
  237. #endif
  238. };
  239. /* Instance structure to use this module. */
  240. const can_instance_t g_canfd1 =
  241. {
  242. .p_ctrl = &g_canfd1_ctrl,
  243. .p_cfg = &g_canfd1_cfg,
  244. .p_api = &g_canfd_on_canfd
  245. };
  246. /* Nominal and Data bit timing configuration */
  247. can_bit_timing_cfg_t g_canfd0_bit_timing_cfg =
  248. {
  249. /* Actual bitrate: 1000000 Hz. Actual sample point: 75 %. */
  250. .baud_rate_prescaler = 1,
  251. .time_segment_1 = 29,
  252. .time_segment_2 = 10,
  253. .synchronization_jump_width = 4
  254. };
  255. can_bit_timing_cfg_t g_canfd0_data_timing_cfg =
  256. {
  257. /* Actual bitrate: 1000000 Hz. Actual sample point: 75 %. */
  258. .baud_rate_prescaler = 1,
  259. .time_segment_1 = 29,
  260. .time_segment_2 = 10,
  261. .synchronization_jump_width = 4
  262. };
  263. extern const canfd_afl_entry_t p_canfd0_afl[CANFD_CFG_AFL_CH0_RULE_NUM];
  264. #ifndef CANFD_PRV_GLOBAL_CFG
  265. #define CANFD_PRV_GLOBAL_CFG
  266. canfd_global_cfg_t g_canfd_global_cfg =
  267. {
  268. .global_interrupts = CANFD_CFG_GLOBAL_ERR_SOURCES,
  269. .global_config = (CANFD_CFG_TX_PRIORITY | CANFD_CFG_DLC_CHECK | CANFD_CFD_CLOCK_SOURCE | CANFD_CFG_FD_OVERFLOW | (uint32_t) (CANFD_CFG_TIMER_PRESCALER << R_CANFD_CFDGCFG_ITRCP_Pos)),
  270. .rx_mb_config = (CANFD_CFG_RXMB_NUMBER | (CANFD_CFG_RXMB_SIZE << R_CANFD_CFDRMNB_RMPLS_Pos)),
  271. .global_err_ipl = CANFD_CFG_GLOBAL_ERR_IPL,
  272. .rx_fifo_ipl = CANFD_CFG_RX_FIFO_IPL,
  273. .rx_fifo_config =
  274. {
  275. ((CANFD_CFG_RXFIFO0_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO0_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO0_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO0_INT_MODE) | (CANFD_CFG_RXFIFO0_ENABLE)),
  276. ((CANFD_CFG_RXFIFO1_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO1_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO1_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO1_INT_MODE) | (CANFD_CFG_RXFIFO1_ENABLE)),
  277. ((CANFD_CFG_RXFIFO2_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO2_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO2_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO2_INT_MODE) | (CANFD_CFG_RXFIFO2_ENABLE)),
  278. ((CANFD_CFG_RXFIFO3_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO3_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO3_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO3_INT_MODE) | (CANFD_CFG_RXFIFO3_ENABLE)),
  279. ((CANFD_CFG_RXFIFO4_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO4_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO4_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO4_INT_MODE) | (CANFD_CFG_RXFIFO4_ENABLE)),
  280. ((CANFD_CFG_RXFIFO5_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO5_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO5_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO5_INT_MODE) | (CANFD_CFG_RXFIFO5_ENABLE)),
  281. ((CANFD_CFG_RXFIFO6_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO6_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO6_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO6_INT_MODE) | (CANFD_CFG_RXFIFO6_ENABLE)),
  282. ((CANFD_CFG_RXFIFO7_INT_THRESHOLD << R_CANFD_CFDRFCC_RFIGCV_Pos) | (CANFD_CFG_RXFIFO7_DEPTH << R_CANFD_CFDRFCC_RFDC_Pos) | (CANFD_CFG_RXFIFO7_PAYLOAD << R_CANFD_CFDRFCC_RFPLS_Pos) | (CANFD_CFG_RXFIFO7_INT_MODE) | (CANFD_CFG_RXFIFO7_ENABLE)),
  283. },
  284. .common_fifo_config =
  285. {
  286. CANFD_CFG_COMMONFIFO0,
  287. CANFD_CFG_COMMONFIFO1,
  288. CANFD_CFG_COMMONFIFO2,
  289. CANFD_CFG_COMMONFIFO3,
  290. CANFD_CFG_COMMONFIFO4,
  291. CANFD_CFG_COMMONFIFO5,
  292. }
  293. };
  294. #endif
  295. canfd_extended_cfg_t g_canfd0_extended_cfg =
  296. {
  297. .p_afl = p_canfd0_afl,
  298. .txmb_txi_enable = ((1ULL << 0) | (1ULL << 1) | 0ULL),
  299. .error_interrupts = ( 0U),
  300. .p_data_timing = &g_canfd0_data_timing_cfg,
  301. .delay_compensation = (1),
  302. .p_global_cfg = &g_canfd_global_cfg,
  303. };
  304. canfd_instance_ctrl_t g_canfd0_ctrl;
  305. const can_cfg_t g_canfd0_cfg =
  306. {
  307. .channel = 0,
  308. .p_bit_timing = &g_canfd0_bit_timing_cfg,
  309. .p_callback = canfd0_callback,
  310. .p_extend = &g_canfd0_extended_cfg,
  311. .p_context = NULL,
  312. .ipl = (12),
  313. #if defined(VECTOR_NUMBER_CAN0_COMFRX)
  314. .rx_irq = VECTOR_NUMBER_CAN0_COMFRX,
  315. #else
  316. .rx_irq = FSP_INVALID_VECTOR,
  317. #endif
  318. #if defined(VECTOR_NUMBER_CAN0_TX)
  319. .tx_irq = VECTOR_NUMBER_CAN0_TX,
  320. #else
  321. .tx_irq = FSP_INVALID_VECTOR,
  322. #endif
  323. #if defined(VECTOR_NUMBER_CAN0_CHERR)
  324. .error_irq = VECTOR_NUMBER_CAN0_CHERR,
  325. #else
  326. .error_irq = FSP_INVALID_VECTOR,
  327. #endif
  328. };
  329. /* Instance structure to use this module. */
  330. const can_instance_t g_canfd0 =
  331. {
  332. .p_ctrl = &g_canfd0_ctrl,
  333. .p_cfg = &g_canfd0_cfg,
  334. .p_api = &g_canfd_on_canfd
  335. };
  336. sci_uart_instance_ctrl_t g_uart0_ctrl;
  337. #define FSP_NOT_DEFINED (1)
  338. #if (FSP_NOT_DEFINED) != (FSP_NOT_DEFINED)
  339. /* If the transfer module is DMAC, define a DMAC transfer callback. */
  340. extern void sci_uart_tx_dmac_callback(sci_uart_instance_ctrl_t * p_instance_ctrl);
  341. void g_uart0_tx_transfer_callback (transfer_callback_args_t * p_args)
  342. {
  343. FSP_PARAMETER_NOT_USED(p_args);
  344. sci_uart_tx_dmac_callback(&g_uart0_ctrl);
  345. }
  346. #endif
  347. #if (FSP_NOT_DEFINED) != (FSP_NOT_DEFINED)
  348. /* If the transfer module is DMAC, define a DMAC transfer callback. */
  349. extern void sci_uart_rx_dmac_callback(sci_uart_instance_ctrl_t * p_instance_ctrl);
  350. void g_uart0_rx_transfer_callback (transfer_callback_args_t * p_args)
  351. {
  352. FSP_PARAMETER_NOT_USED(p_args);
  353. sci_uart_rx_dmac_callback(&g_uart0_ctrl);
  354. }
  355. #endif
  356. #undef FSP_NOT_DEFINED
  357. sci_baud_setting_t g_uart0_baud_setting =
  358. {
  359. /* Baud rate calculated with 0.160% error. */ .baudrate_bits_b.abcse = 0, .baudrate_bits_b.abcs = 0, .baudrate_bits_b.bgdm = 1, .baudrate_bits_b.cks = 0, .baudrate_bits_b.brr = 51, .baudrate_bits_b.mddr = (uint8_t) 256, .baudrate_bits_b.brme = false
  360. };
  361. /** UART extended configuration for UARTonSCI HAL driver */
  362. const sci_uart_extended_cfg_t g_uart0_cfg_extend =
  363. {
  364. .clock = SCI_UART_CLOCK_INT,
  365. .rx_edge_start = SCI_UART_START_BIT_FALLING_EDGE,
  366. .noise_cancel = SCI_UART_NOISE_CANCELLATION_DISABLE,
  367. .rx_fifo_trigger = SCI_UART_RX_FIFO_TRIGGER_MAX,
  368. .p_baud_setting = &g_uart0_baud_setting,
  369. #if 1
  370. .clock_source = SCI_UART_CLOCK_SOURCE_SCI0ASYNCCLK,
  371. #else
  372. .clock_source = SCI_UART_CLOCK_SOURCE_PCLKM,
  373. #endif
  374. .flow_control = SCI_UART_FLOW_CONTROL_RTS,
  375. #if 0xFF != 0xFF
  376. .flow_control_pin = BSP_IO_PORT_FF_PIN_0xFF,
  377. #else
  378. .flow_control_pin = (bsp_io_port_pin_t) UINT16_MAX,
  379. #endif
  380. .rs485_setting = {
  381. .enable = SCI_UART_RS485_DISABLE,
  382. .polarity = SCI_UART_RS485_DE_POLARITY_HIGH,
  383. .assertion_time = 1,
  384. .negation_time = 1,
  385. },
  386. };
  387. /** UART interface configuration */
  388. const uart_cfg_t g_uart0_cfg =
  389. {
  390. .channel = 0,
  391. .data_bits = UART_DATA_BITS_8,
  392. .parity = UART_PARITY_OFF,
  393. .stop_bits = UART_STOP_BITS_1,
  394. .p_callback = user_uart0_callback,
  395. .p_context = NULL,
  396. .p_extend = &g_uart0_cfg_extend,
  397. .p_transfer_tx = g_uart0_P_TRANSFER_TX,
  398. .p_transfer_rx = g_uart0_P_TRANSFER_RX,
  399. .rxi_ipl = (12),
  400. .txi_ipl = (12),
  401. .tei_ipl = (12),
  402. .eri_ipl = (12),
  403. #if defined(VECTOR_NUMBER_SCI0_RXI)
  404. .rxi_irq = VECTOR_NUMBER_SCI0_RXI,
  405. #else
  406. .rxi_irq = FSP_INVALID_VECTOR,
  407. #endif
  408. #if defined(VECTOR_NUMBER_SCI0_TXI)
  409. .txi_irq = VECTOR_NUMBER_SCI0_TXI,
  410. #else
  411. .txi_irq = FSP_INVALID_VECTOR,
  412. #endif
  413. #if defined(VECTOR_NUMBER_SCI0_TEI)
  414. .tei_irq = VECTOR_NUMBER_SCI0_TEI,
  415. #else
  416. .tei_irq = FSP_INVALID_VECTOR,
  417. #endif
  418. #if defined(VECTOR_NUMBER_SCI0_ERI)
  419. .eri_irq = VECTOR_NUMBER_SCI0_ERI,
  420. #else
  421. .eri_irq = FSP_INVALID_VECTOR,
  422. #endif
  423. };
  424. /* Instance structure to use this module. */
  425. const uart_instance_t g_uart0 =
  426. {
  427. .p_ctrl = &g_uart0_ctrl,
  428. .p_cfg = &g_uart0_cfg,
  429. .p_api = &g_uart_on_sci
  430. };
  431. void g_hal_init(void) {
  432. g_common_init();
  433. }