hal_data.c 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. /* generated HAL source file - do not edit */
  2. #include "hal_data.h"
  3. /* Nominal and Data bit timing configuration */
  4. can_bit_timing_cfg_t g_canfd1_bit_timing_cfg =
  5. {
  6. /* Actual bitrate: 500000 Hz. Actual sample point: 75 %. */
  7. .baud_rate_prescaler = 1,
  8. .time_segment_1 = 59,
  9. .time_segment_2 = 20,
  10. .synchronization_jump_width = 4
  11. };
  12. can_bit_timing_cfg_t g_canfd1_data_timing_cfg =
  13. {
  14. /* Actual bitrate: 2000000 Hz. Actual sample point: 75 %. */
  15. .baud_rate_prescaler = 1,
  16. .time_segment_1 = 14,
  17. .time_segment_2 = 5,
  18. .synchronization_jump_width = 1
  19. };
  20. extern const canfd_afl_entry_t p_canfd1_afl[CANFD_CFG_AFL_CH1_RULE_NUM];
  21. #ifndef CANFD_PRV_GLOBAL_CFG
  22. #define CANFD_PRV_GLOBAL_CFG
  23. canfd_global_cfg_t g_canfd_global_cfg =
  24. {
  25. .global_interrupts = CANFD_CFG_GLOBAL_ERR_SOURCES,
  26. .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)),
  27. .rx_mb_config = (CANFD_CFG_RXMB_NUMBER | (CANFD_CFG_RXMB_SIZE << R_CANFD_CFDRMNB_RMPLS_Pos)),
  28. .global_err_ipl = CANFD_CFG_GLOBAL_ERR_IPL,
  29. .rx_fifo_ipl = CANFD_CFG_RX_FIFO_IPL,
  30. .rx_fifo_config =
  31. {
  32. ((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)),
  33. ((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)),
  34. ((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)),
  35. ((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)),
  36. ((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)),
  37. ((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)),
  38. ((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)),
  39. ((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)),
  40. },
  41. .common_fifo_config =
  42. {
  43. CANFD_CFG_COMMONFIFO0,
  44. CANFD_CFG_COMMONFIFO1,
  45. CANFD_CFG_COMMONFIFO2,
  46. CANFD_CFG_COMMONFIFO3,
  47. CANFD_CFG_COMMONFIFO4,
  48. CANFD_CFG_COMMONFIFO5,
  49. }
  50. };
  51. #endif
  52. canfd_extended_cfg_t g_canfd1_extended_cfg =
  53. {
  54. .p_afl = p_canfd1_afl,
  55. .txmb_txi_enable = ((1ULL << 1) | 0ULL),
  56. .error_interrupts = ( 0U),
  57. .p_data_timing = &g_canfd1_data_timing_cfg,
  58. .delay_compensation = (1),
  59. .p_global_cfg = &g_canfd_global_cfg,
  60. };
  61. canfd_instance_ctrl_t g_canfd1_ctrl;
  62. const can_cfg_t g_canfd1_cfg =
  63. {
  64. .channel = 1,
  65. .p_bit_timing = &g_canfd1_bit_timing_cfg,
  66. .p_callback = canfd1_callback,
  67. .p_extend = &g_canfd1_extended_cfg,
  68. .p_context = NULL,
  69. .ipl = (12),
  70. #if defined(VECTOR_NUMBER_CAN1_COMFRX)
  71. .rx_irq = VECTOR_NUMBER_CAN1_COMFRX,
  72. #else
  73. .rx_irq = FSP_INVALID_VECTOR,
  74. #endif
  75. #if defined(VECTOR_NUMBER_CAN1_TX)
  76. .tx_irq = VECTOR_NUMBER_CAN1_TX,
  77. #else
  78. .tx_irq = FSP_INVALID_VECTOR,
  79. #endif
  80. #if defined(VECTOR_NUMBER_CAN1_CHERR)
  81. .error_irq = VECTOR_NUMBER_CAN1_CHERR,
  82. #else
  83. .error_irq = FSP_INVALID_VECTOR,
  84. #endif
  85. };
  86. /* Instance structure to use this module. */
  87. const can_instance_t g_canfd1 =
  88. {
  89. .p_ctrl = &g_canfd1_ctrl,
  90. .p_cfg = &g_canfd1_cfg,
  91. .p_api = &g_canfd_on_canfd
  92. };
  93. /* Nominal and Data bit timing configuration */
  94. can_bit_timing_cfg_t g_canfd0_bit_timing_cfg =
  95. {
  96. /* Actual bitrate: 500000 Hz. Actual sample point: 75 %. */
  97. .baud_rate_prescaler = 1,
  98. .time_segment_1 = 59,
  99. .time_segment_2 = 20,
  100. .synchronization_jump_width = 4
  101. };
  102. can_bit_timing_cfg_t g_canfd0_data_timing_cfg =
  103. {
  104. /* Actual bitrate: 2000000 Hz. Actual sample point: 75 %. */
  105. .baud_rate_prescaler = 1,
  106. .time_segment_1 = 14,
  107. .time_segment_2 = 5,
  108. .synchronization_jump_width = 1
  109. };
  110. extern const canfd_afl_entry_t p_canfd0_afl[CANFD_CFG_AFL_CH0_RULE_NUM];
  111. #ifndef CANFD_PRV_GLOBAL_CFG
  112. #define CANFD_PRV_GLOBAL_CFG
  113. canfd_global_cfg_t g_canfd_global_cfg =
  114. {
  115. .global_interrupts = CANFD_CFG_GLOBAL_ERR_SOURCES,
  116. .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)),
  117. .rx_mb_config = (CANFD_CFG_RXMB_NUMBER | (CANFD_CFG_RXMB_SIZE << R_CANFD_CFDRMNB_RMPLS_Pos)),
  118. .global_err_ipl = CANFD_CFG_GLOBAL_ERR_IPL,
  119. .rx_fifo_ipl = CANFD_CFG_RX_FIFO_IPL,
  120. .rx_fifo_config =
  121. {
  122. ((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)),
  123. ((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)),
  124. ((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)),
  125. ((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)),
  126. ((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)),
  127. ((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)),
  128. ((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)),
  129. ((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)),
  130. },
  131. .common_fifo_config =
  132. {
  133. CANFD_CFG_COMMONFIFO0,
  134. CANFD_CFG_COMMONFIFO1,
  135. CANFD_CFG_COMMONFIFO2,
  136. CANFD_CFG_COMMONFIFO3,
  137. CANFD_CFG_COMMONFIFO4,
  138. CANFD_CFG_COMMONFIFO5,
  139. }
  140. };
  141. #endif
  142. canfd_extended_cfg_t g_canfd0_extended_cfg =
  143. {
  144. .p_afl = p_canfd0_afl,
  145. .txmb_txi_enable = ((1ULL << 0) | 0ULL),
  146. .error_interrupts = ( 0U),
  147. .p_data_timing = &g_canfd0_data_timing_cfg,
  148. .delay_compensation = (1),
  149. .p_global_cfg = &g_canfd_global_cfg,
  150. };
  151. canfd_instance_ctrl_t g_canfd0_ctrl;
  152. const can_cfg_t g_canfd0_cfg =
  153. {
  154. .channel = 0,
  155. .p_bit_timing = &g_canfd0_bit_timing_cfg,
  156. .p_callback = canfd0_callback,
  157. .p_extend = &g_canfd0_extended_cfg,
  158. .p_context = NULL,
  159. .ipl = (12),
  160. #if defined(VECTOR_NUMBER_CAN0_COMFRX)
  161. .rx_irq = VECTOR_NUMBER_CAN0_COMFRX,
  162. #else
  163. .rx_irq = FSP_INVALID_VECTOR,
  164. #endif
  165. #if defined(VECTOR_NUMBER_CAN0_TX)
  166. .tx_irq = VECTOR_NUMBER_CAN0_TX,
  167. #else
  168. .tx_irq = FSP_INVALID_VECTOR,
  169. #endif
  170. #if defined(VECTOR_NUMBER_CAN0_CHERR)
  171. .error_irq = VECTOR_NUMBER_CAN0_CHERR,
  172. #else
  173. .error_irq = FSP_INVALID_VECTOR,
  174. #endif
  175. };
  176. /* Instance structure to use this module. */
  177. const can_instance_t g_canfd0 =
  178. {
  179. .p_ctrl = &g_canfd0_ctrl,
  180. .p_cfg = &g_canfd0_cfg,
  181. .p_api = &g_canfd_on_canfd
  182. };
  183. sci_uart_instance_ctrl_t g_uart0_ctrl;
  184. #define FSP_NOT_DEFINED (1)
  185. #if (FSP_NOT_DEFINED) != (FSP_NOT_DEFINED)
  186. /* If the transfer module is DMAC, define a DMAC transfer callback. */
  187. extern void sci_uart_tx_dmac_callback(sci_uart_instance_ctrl_t * p_instance_ctrl);
  188. void g_uart0_tx_transfer_callback (transfer_callback_args_t * p_args)
  189. {
  190. FSP_PARAMETER_NOT_USED(p_args);
  191. sci_uart_tx_dmac_callback(&g_uart0_ctrl);
  192. }
  193. #endif
  194. #if (FSP_NOT_DEFINED) != (FSP_NOT_DEFINED)
  195. /* If the transfer module is DMAC, define a DMAC transfer callback. */
  196. extern void sci_uart_rx_dmac_callback(sci_uart_instance_ctrl_t * p_instance_ctrl);
  197. void g_uart0_rx_transfer_callback (transfer_callback_args_t * p_args)
  198. {
  199. FSP_PARAMETER_NOT_USED(p_args);
  200. sci_uart_rx_dmac_callback(&g_uart0_ctrl);
  201. }
  202. #endif
  203. #undef FSP_NOT_DEFINED
  204. sci_baud_setting_t g_uart0_baud_setting =
  205. {
  206. /* 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
  207. };
  208. /** UART extended configuration for UARTonSCI HAL driver */
  209. const sci_uart_extended_cfg_t g_uart0_cfg_extend =
  210. {
  211. .clock = SCI_UART_CLOCK_INT,
  212. .rx_edge_start = SCI_UART_START_BIT_FALLING_EDGE,
  213. .noise_cancel = SCI_UART_NOISE_CANCELLATION_DISABLE,
  214. .rx_fifo_trigger = SCI_UART_RX_FIFO_TRIGGER_MAX,
  215. .p_baud_setting = &g_uart0_baud_setting,
  216. #if 1
  217. .clock_source = SCI_UART_CLOCK_SOURCE_SCI0ASYNCCLK,
  218. #else
  219. .clock_source = SCI_UART_CLOCK_SOURCE_PCLKM,
  220. #endif
  221. .flow_control = SCI_UART_FLOW_CONTROL_RTS,
  222. #if 0xFF != 0xFF
  223. .flow_control_pin = BSP_IO_PORT_FF_PIN_0xFF,
  224. #else
  225. .flow_control_pin = (bsp_io_port_pin_t) UINT16_MAX,
  226. #endif
  227. .rs485_setting = {
  228. .enable = SCI_UART_RS485_DISABLE,
  229. .polarity = SCI_UART_RS485_DE_POLARITY_HIGH,
  230. .assertion_time = 1,
  231. .negation_time = 1,
  232. },
  233. };
  234. /** UART interface configuration */
  235. const uart_cfg_t g_uart0_cfg =
  236. {
  237. .channel = 0,
  238. .data_bits = UART_DATA_BITS_8,
  239. .parity = UART_PARITY_OFF,
  240. .stop_bits = UART_STOP_BITS_1,
  241. .p_callback = user_uart0_callback,
  242. .p_context = NULL,
  243. .p_extend = &g_uart0_cfg_extend,
  244. .p_transfer_tx = g_uart0_P_TRANSFER_TX,
  245. .p_transfer_rx = g_uart0_P_TRANSFER_RX,
  246. .rxi_ipl = (12),
  247. .txi_ipl = (12),
  248. .tei_ipl = (12),
  249. .eri_ipl = (12),
  250. #if defined(VECTOR_NUMBER_SCI0_RXI)
  251. .rxi_irq = VECTOR_NUMBER_SCI0_RXI,
  252. #else
  253. .rxi_irq = FSP_INVALID_VECTOR,
  254. #endif
  255. #if defined(VECTOR_NUMBER_SCI0_TXI)
  256. .txi_irq = VECTOR_NUMBER_SCI0_TXI,
  257. #else
  258. .txi_irq = FSP_INVALID_VECTOR,
  259. #endif
  260. #if defined(VECTOR_NUMBER_SCI0_TEI)
  261. .tei_irq = VECTOR_NUMBER_SCI0_TEI,
  262. #else
  263. .tei_irq = FSP_INVALID_VECTOR,
  264. #endif
  265. #if defined(VECTOR_NUMBER_SCI0_ERI)
  266. .eri_irq = VECTOR_NUMBER_SCI0_ERI,
  267. #else
  268. .eri_irq = FSP_INVALID_VECTOR,
  269. #endif
  270. };
  271. /* Instance structure to use this module. */
  272. const uart_instance_t g_uart0 =
  273. {
  274. .p_ctrl = &g_uart0_ctrl,
  275. .p_cfg = &g_uart0_cfg,
  276. .p_api = &g_uart_on_sci
  277. };
  278. void g_hal_init(void) {
  279. g_common_init();
  280. }