@@ -26,7 +26,7 @@ LOG_MODULE_REGISTER(can_stm32, CONFIG_CAN_LOG_LEVEL);
2626
2727#define CAN_STM32_NUM_FILTER_BANKS (14)
2828#define CAN_STM32_MAX_FILTER_ID \
29- (CONFIG_CAN_MAX_EXT_ID_FILTER + CONFIG_CAN_MAX_STD_ID_FILTER * 2)
29+ (CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER + CONFIG_CAN_STM32_BXCAN_MAX_STD_ID_FILTER * 2)
3030
3131#define CAN_STM32_FIRX_STD_IDE_POS (3U)
3232#define CAN_STM32_FIRX_STD_RTR_POS (4U)
@@ -37,7 +37,7 @@ LOG_MODULE_REGISTER(can_stm32, CONFIG_CAN_LOG_LEVEL);
3737#define CAN_STM32_FIRX_EXT_STD_ID_POS (21U)
3838#define CAN_STM32_FIRX_EXT_EXT_ID_POS (3U)
3939
40- #if (CONFIG_CAN_MAX_STD_ID_FILTER + CONFIG_CAN_MAX_EXT_ID_FILTER * 2 ) > \
40+ #if (CONFIG_CAN_STM32_BXCAN_MAX_STD_ID_FILTER + CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER * 2 ) > \
4141 (CAN_STM32_NUM_FILTER_BANKS * 2 )
4242#error Number of configured filters exceeds available filter bank slots.
4343#endif
@@ -54,10 +54,10 @@ struct can_stm32_data {
5454 struct can_stm32_mailbox mb0 ;
5555 struct can_stm32_mailbox mb1 ;
5656 struct can_stm32_mailbox mb2 ;
57- can_rx_callback_t rx_cb_std [CONFIG_CAN_MAX_STD_ID_FILTER ];
58- can_rx_callback_t rx_cb_ext [CONFIG_CAN_MAX_EXT_ID_FILTER ];
59- void * cb_arg_std [CONFIG_CAN_MAX_STD_ID_FILTER ];
60- void * cb_arg_ext [CONFIG_CAN_MAX_EXT_ID_FILTER ];
57+ can_rx_callback_t rx_cb_std [CONFIG_CAN_STM32_BXCAN_MAX_STD_ID_FILTER ];
58+ can_rx_callback_t rx_cb_ext [CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ];
59+ void * cb_arg_std [CONFIG_CAN_STM32_BXCAN_MAX_STD_ID_FILTER ];
60+ void * cb_arg_ext [CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ];
6161 enum can_state state ;
6262};
6363
@@ -130,11 +130,11 @@ static inline void can_stm32_rx_isr_handler(const struct device *dev)
130130
131131 can_stm32_rx_fifo_pop (mbox , & frame );
132132
133- if (filter_id < CONFIG_CAN_MAX_EXT_ID_FILTER ) {
133+ if (filter_id < CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ) {
134134 callback = data -> rx_cb_ext [filter_id ];
135135 cb_arg = data -> cb_arg_ext [filter_id ];
136136 } else if (filter_id < CAN_STM32_MAX_FILTER_ID ) {
137- index = filter_id - CONFIG_CAN_MAX_EXT_ID_FILTER ;
137+ index = filter_id - CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ;
138138 callback = data -> rx_cb_std [index ];
139139 cb_arg = data -> cb_arg_std [index ];
140140 }
@@ -586,9 +586,9 @@ static int can_stm32_get_max_filters(const struct device *dev, bool ide)
586586 ARG_UNUSED (dev );
587587
588588 if (ide ) {
589- return CONFIG_CAN_MAX_EXT_ID_FILTER ;
589+ return CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ;
590590 } else {
591- return CONFIG_CAN_MAX_STD_ID_FILTER ;
591+ return CONFIG_CAN_STM32_BXCAN_MAX_STD_ID_FILTER ;
592592 }
593593}
594594
@@ -643,15 +643,15 @@ static int can_stm32_init(const struct device *dev)
643643 return ret ;
644644 }
645645
646- /* configure scale of filter banks < CONFIG_CAN_MAX_EXT_ID_FILTER for ext ids */
646+ /* configure scale of filter banks < CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER for ext ids */
647647 /* We have to have set filters after initializing master CAN */
648648 if (cfg -> can == cfg -> master_can ) {
649649 cfg -> master_can -> FMR |= CAN_FMR_FINIT ;
650- cfg -> master_can -> FS1R |= ((1U << CONFIG_CAN_MAX_EXT_ID_FILTER ) - 1 );
650+ cfg -> master_can -> FS1R |= ((1U << CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ) - 1 );
651651
652652#if DT_NUM_INST_STATUS_OKAY (DT_DRV_COMPAT ) > 1
653653 /* reserve ext_id filters on slave CAN device */
654- cfg -> master_can -> FS1R |= ((1U << CONFIG_CAN_MAX_EXT_ID_FILTER ) - 1 )
654+ cfg -> master_can -> FS1R |= ((1U << CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ) - 1 )
655655 << CAN_STM32_NUM_FILTER_BANKS ;
656656#endif /* DT_NUM_INST_STATUS_OKAY(DT_DRV_COMPAT) > 1 */
657657
@@ -863,7 +863,7 @@ static void can_stm32_set_filter_bank(int filter_id, CAN_FilterRegister_TypeDef
863863 filter_reg -> FR1 = id ;
864864 filter_reg -> FR2 = mask ;
865865 } else {
866- if ((filter_id - CONFIG_CAN_MAX_EXT_ID_FILTER ) % 2 == 0 ) {
866+ if ((filter_id - CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ) % 2 == 0 ) {
867867 /* even std filter id: first 1/2 bank */
868868 filter_reg -> FR1 = id | (mask << 16 );
869869 } else {
@@ -919,7 +919,7 @@ static inline int can_stm32_set_filter(const struct device *dev, const struct ca
919919 }
920920
921921 if ((filter -> flags & CAN_FILTER_IDE ) != 0 ) {
922- for (int i = 0 ; i < CONFIG_CAN_MAX_EXT_ID_FILTER ; i ++ ) {
922+ for (int i = 0 ; i < CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ; i ++ ) {
923923 if (data -> rx_cb_ext [i ] == NULL ) {
924924 id = can_stm32_filter_to_ext_id (filter );
925925 mask = can_stm32_filter_to_ext_mask (filter );
@@ -929,12 +929,13 @@ static inline int can_stm32_set_filter(const struct device *dev, const struct ca
929929 }
930930 }
931931 } else {
932- for (int i = 0 ; i < CONFIG_CAN_MAX_STD_ID_FILTER ; i ++ ) {
932+ for (int i = 0 ; i < CONFIG_CAN_STM32_BXCAN_MAX_STD_ID_FILTER ; i ++ ) {
933933 if (data -> rx_cb_std [i ] == NULL ) {
934934 id = can_stm32_filter_to_std_id (filter );
935935 mask = can_stm32_filter_to_std_mask (filter );
936- filter_id = CONFIG_CAN_MAX_EXT_ID_FILTER + i ;
937- bank_num = bank_offset + CONFIG_CAN_MAX_EXT_ID_FILTER + i / 2 ;
936+ filter_id = CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER + i ;
937+ bank_num = bank_offset + CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER +
938+ i / 2 ;
938939 break ;
939940 }
940941 }
@@ -965,7 +966,7 @@ static inline int can_stm32_set_filter(const struct device *dev, const struct ca
965966 * This driver uses masked mode for all filters (CAN_FM1R left at reset value
966967 * 0x00) in order to simplify mapping between filter match index from the FIFOs
967968 * and array index for the callbacks. All ext ID filters are stored in the
968- * banks below CONFIG_CAN_MAX_EXT_ID_FILTER , followed by the std ID filters,
969+ * banks below CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER , followed by the std ID filters,
969970 * which consume only 1/2 bank per filter.
970971 *
971972 * The more complicated list mode must be implemented if someone requires more
@@ -993,8 +994,9 @@ static int can_stm32_add_rx_filter(const struct device *dev, can_rx_callback_t c
993994 data -> rx_cb_ext [filter_id ] = cb ;
994995 data -> cb_arg_ext [filter_id ] = cb_arg ;
995996 } else {
996- data -> rx_cb_std [filter_id - CONFIG_CAN_MAX_EXT_ID_FILTER ] = cb ;
997- data -> cb_arg_std [filter_id - CONFIG_CAN_MAX_EXT_ID_FILTER ] = cb_arg ;
997+ data -> rx_cb_std [filter_id - CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ] = cb ;
998+ data -> cb_arg_std [filter_id - CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ] =
999+ cb_arg ;
9981000 }
9991001 }
10001002
@@ -1026,7 +1028,7 @@ static void can_stm32_remove_rx_filter(const struct device *dev, int filter_id)
10261028 bank_offset = CAN_STM32_NUM_FILTER_BANKS ;
10271029 }
10281030
1029- if (filter_id < CONFIG_CAN_MAX_EXT_ID_FILTER ) {
1031+ if (filter_id < CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ) {
10301032 ide = true;
10311033 bank_num = bank_offset + filter_id ;
10321034
@@ -1035,18 +1037,18 @@ static void can_stm32_remove_rx_filter(const struct device *dev, int filter_id)
10351037
10361038 bank_unused = true;
10371039 } else {
1038- int filter_index = filter_id - CONFIG_CAN_MAX_EXT_ID_FILTER ;
1040+ int filter_index = filter_id - CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ;
10391041
10401042 ide = false;
1041- bank_num = bank_offset + CONFIG_CAN_MAX_EXT_ID_FILTER +
1042- (filter_id - CONFIG_CAN_MAX_EXT_ID_FILTER ) / 2 ;
1043+ bank_num = bank_offset + CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER +
1044+ (filter_id - CONFIG_CAN_STM32_BXCAN_MAX_EXT_ID_FILTER ) / 2 ;
10431045
10441046 data -> rx_cb_std [filter_index ] = NULL ;
10451047 data -> cb_arg_std [filter_index ] = NULL ;
10461048
10471049 if (filter_index % 2 == 1 ) {
10481050 bank_unused = data -> rx_cb_std [filter_index - 1 ] == NULL ;
1049- } else if (filter_index + 1 < CONFIG_CAN_MAX_STD_ID_FILTER ) {
1051+ } else if (filter_index + 1 < CONFIG_CAN_STM32_BXCAN_MAX_STD_ID_FILTER ) {
10501052 bank_unused = data -> rx_cb_std [filter_index + 1 ] == NULL ;
10511053 } else {
10521054 bank_unused = true;
0 commit comments