@@ -144,8 +144,9 @@ static int nxp_lpc_mcan_init(const struct device *dev)
144144 uint32_t reg ;
145145
146146 /* Configure external timestamp counter prescaler and enable it */
147- reg = FIELD_PREP (NXP_LPC_MCAN_ETSCC_ETCP , nxp_lpc_config -> timestamp_prescaler - 1U )|
148- NXP_LPC_MCAN_ETSCC_ETCE ;
147+ reg = FIELD_PREP (NXP_LPC_MCAN_ETSCC_ETCP ,
148+ nxp_lpc_config -> timestamp_prescaler - 1U ) |
149+ NXP_LPC_MCAN_ETSCC_ETCE ;
149150 err = can_mcan_write_reg (dev , NXP_LPC_MCAN_ETSCC , reg );
150151 if (err != 0 ) {
151152 return - EIO ;
@@ -221,57 +222,47 @@ static const struct can_mcan_ops nxp_lpc_mcan_ops = {
221222 .clear_mram = nxp_lpc_mcan_clear_mram ,
222223};
223224
224- #define NXP_LPC_MCAN_INIT (n ) \
225- CAN_MCAN_DT_INST_BUILD_ASSERT_MRAM_CFG(n); \
226- PINCTRL_DT_INST_DEFINE(n); \
227- \
228- static void nxp_lpc_mcan_irq_config_##n(const struct device *dev); \
229- \
230- CAN_MCAN_DT_INST_CALLBACKS_DEFINE(n, nxp_lpc_mcan_cbs_##n); \
231- CAN_MCAN_DT_INST_MRAM_DEFINE(n, nxp_lpc_mcan_mram_##n); \
232- \
233- static const struct nxp_lpc_mcan_config nxp_lpc_mcan_config_##n = { \
234- .base = CAN_MCAN_DT_INST_MCAN_ADDR(n), \
235- .mram = (mem_addr_t)POINTER_TO_UINT(&nxp_lpc_mcan_mram_##n), \
236- .clock_dev = DEVICE_DT_GET(DT_INST_CLOCKS_CTLR(n)), \
237- .clock_subsys = (clock_control_subsys_t) \
238- DT_INST_CLOCKS_CELL(n, name), \
239- .irq_config_func = nxp_lpc_mcan_irq_config_##n, \
240- .pincfg = PINCTRL_DT_INST_DEV_CONFIG_GET(n), \
241- .reset = RESET_DT_SPEC_INST_GET(n), \
242- COND_CODE_1(IS_ENABLED(CONFIG_CAN_RX_TIMESTAMP), \
243- (.timestamp_prescaler = DT_INST_PROP(n, external_timestamp_counter_prescaler), \
244- .use_exteral_timestamp = DT_INST_PROP(n, use_external_timestamp_counter),), ()) \
245- }; \
246- \
247- static const struct can_mcan_config can_mcan_config_##n = \
248- CAN_MCAN_DT_CONFIG_INST_GET(n, &nxp_lpc_mcan_config_##n, \
249- &nxp_lpc_mcan_ops, \
250- &nxp_lpc_mcan_cbs_##n); \
251- \
252- static struct can_mcan_data can_mcan_data_##n = \
253- CAN_MCAN_DATA_INITIALIZER(NULL); \
254- \
255- CAN_DEVICE_DT_INST_DEFINE(n, nxp_lpc_mcan_init, NULL, \
256- &can_mcan_data_##n, \
257- &can_mcan_config_##n, \
258- POST_KERNEL, \
259- CONFIG_CAN_INIT_PRIORITY, \
260- &nxp_lpc_mcan_driver_api); \
261- \
262- static void nxp_lpc_mcan_irq_config_##n(const struct device *dev) \
263- { \
264- IRQ_CONNECT(DT_INST_IRQ_BY_NAME(n, int0, irq), \
265- DT_INST_IRQ_BY_NAME(n, int0, priority), \
266- can_mcan_line_0_isr, \
267- DEVICE_DT_INST_GET(n), 0); \
268- irq_enable(DT_INST_IRQ_BY_NAME(n, int0, irq)); \
269- \
270- IRQ_CONNECT(DT_INST_IRQ_BY_NAME(n, int1, irq), \
271- DT_INST_IRQ_BY_NAME(n, int1, priority), \
272- can_mcan_line_1_isr, \
273- DEVICE_DT_INST_GET(n), 0); \
274- irq_enable(DT_INST_IRQ_BY_NAME(n, int1, irq)); \
225+ #define NXP_LPC_MCAN_INIT (n ) \
226+ CAN_MCAN_DT_INST_BUILD_ASSERT_MRAM_CFG(n); \
227+ PINCTRL_DT_INST_DEFINE(n); \
228+ \
229+ static void nxp_lpc_mcan_irq_config_##n(const struct device *dev); \
230+ \
231+ CAN_MCAN_DT_INST_CALLBACKS_DEFINE(n, nxp_lpc_mcan_cbs_##n); \
232+ CAN_MCAN_DT_INST_MRAM_DEFINE(n, nxp_lpc_mcan_mram_##n); \
233+ \
234+ static const struct nxp_lpc_mcan_config nxp_lpc_mcan_config_##n = { \
235+ .base = CAN_MCAN_DT_INST_MCAN_ADDR(n), \
236+ .mram = (mem_addr_t)POINTER_TO_UINT(&nxp_lpc_mcan_mram_##n), \
237+ .clock_dev = DEVICE_DT_GET(DT_INST_CLOCKS_CTLR(n)), \
238+ .clock_subsys = (clock_control_subsys_t)DT_INST_CLOCKS_CELL(n, name), \
239+ .irq_config_func = nxp_lpc_mcan_irq_config_##n, \
240+ .pincfg = PINCTRL_DT_INST_DEV_CONFIG_GET(n), \
241+ .reset = RESET_DT_SPEC_INST_GET(n), \
242+ COND_CODE_1(IS_ENABLED(CONFIG_CAN_RX_TIMESTAMP), \
243+ (.timestamp_prescaler = DT_INST_PROP(n, external_timestamp_counter_prescaler), \
244+ .use_exteral_timestamp = DT_INST_PROP(n, use_external_timestamp_counter),), ()) }; \
245+ \
246+ static const struct can_mcan_config can_mcan_config_##n = CAN_MCAN_DT_CONFIG_INST_GET( \
247+ n, &nxp_lpc_mcan_config_##n, &nxp_lpc_mcan_ops, &nxp_lpc_mcan_cbs_##n); \
248+ \
249+ static struct can_mcan_data can_mcan_data_##n = CAN_MCAN_DATA_INITIALIZER(NULL); \
250+ \
251+ CAN_DEVICE_DT_INST_DEFINE(n, nxp_lpc_mcan_init, NULL, &can_mcan_data_##n, \
252+ &can_mcan_config_##n, POST_KERNEL, CONFIG_CAN_INIT_PRIORITY, \
253+ &nxp_lpc_mcan_driver_api); \
254+ \
255+ static void nxp_lpc_mcan_irq_config_##n(const struct device *dev) \
256+ { \
257+ IRQ_CONNECT(DT_INST_IRQ_BY_NAME(n, int0, irq), \
258+ DT_INST_IRQ_BY_NAME(n, int0, priority), can_mcan_line_0_isr, \
259+ DEVICE_DT_INST_GET(n), 0); \
260+ irq_enable(DT_INST_IRQ_BY_NAME(n, int0, irq)); \
261+ \
262+ IRQ_CONNECT(DT_INST_IRQ_BY_NAME(n, int1, irq), \
263+ DT_INST_IRQ_BY_NAME(n, int1, priority), can_mcan_line_1_isr, \
264+ DEVICE_DT_INST_GET(n), 0); \
265+ irq_enable(DT_INST_IRQ_BY_NAME(n, int1, irq)); \
275266 }
276267
277268DT_INST_FOREACH_STATUS_OKAY (NXP_LPC_MCAN_INIT )
0 commit comments