From 7fa6179f69995c0ec03ab2338f024d9f53cfcff4 Mon Sep 17 00:00:00 2001 From: Pin Loon Lee Date: Fri, 28 Jan 2022 20:51:35 +0800 Subject: [PATCH 1/3] drivers: can: mcan: add NUM_TX_EVENT_FIFO_ELEMENTS macro Replaced duplicate value of NUM_TX_BUF_ELEMENTS for tx_event_fifo. Signed-off-by: Pin Loon Lee --- drivers/can/can_mcan.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/can/can_mcan.h b/drivers/can/can_mcan.h index dd8cce64a1388..62b16c3f4da84 100644 --- a/drivers/can/can_mcan.h +++ b/drivers/can/can_mcan.h @@ -26,6 +26,8 @@ #define NUM_RX_FIFO0_ELEMENTS DT_PROP(MCAN_DT_PATH, rx_fifo0_elements) #define NUM_RX_FIFO1_ELEMENTS DT_PROP(MCAN_DT_PATH, rx_fifo0_elements) #define NUM_RX_BUF_ELEMENTS DT_PROP(MCAN_DT_PATH, rx_buffer_elements) +#define NUM_TX_EVENT_FIFO_ELEMENTS \ + DT_PROP(MCAN_DT_PATH, tx_event_fifo_elements) #define NUM_TX_BUF_ELEMENTS DT_PROP(MCAN_DT_PATH, tx_buffer_elements) #ifdef CONFIG_CAN_STM32FD @@ -161,7 +163,7 @@ struct can_mcan_msg_sram { volatile struct can_mcan_rx_fifo rx_fifo0[NUM_RX_FIFO0_ELEMENTS]; volatile struct can_mcan_rx_fifo rx_fifo1[NUM_RX_FIFO1_ELEMENTS]; volatile struct can_mcan_rx_fifo rx_buffer[NUM_RX_BUF_ELEMENTS]; - volatile struct can_mcan_tx_event_fifo tx_event_fifo[NUM_TX_BUF_ELEMENTS]; + volatile struct can_mcan_tx_event_fifo tx_event_fifo[NUM_TX_EVENT_FIFO_ELEMENTS]; volatile struct can_mcan_tx_buffer tx_buffer[NUM_TX_BUF_ELEMENTS]; } __packed __aligned(4); From e7478ef43dffa24f1c9c32a309857fcc38db44d6 Mon Sep 17 00:00:00 2001 From: Pin Loon Lee Date: Sun, 30 Jan 2022 11:29:43 +0800 Subject: [PATCH 2/3] dts: bindings: can: add tx-event-fifo-elements dts property To be used in DT_PROP(MCAN_DT_PATH, tx_event_fifo_elements) in can_mcan.h Signed-off-by: Pin Loon Lee --- dts/bindings/can/bosch,m-can-base.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dts/bindings/can/bosch,m-can-base.yaml b/dts/bindings/can/bosch,m-can-base.yaml index 44e0271ce3325..72c3ce138825a 100644 --- a/dts/bindings/can/bosch,m-can-base.yaml +++ b/dts/bindings/can/bosch,m-can-base.yaml @@ -23,6 +23,10 @@ properties: type: int required: true + tx-event-fifo-elements: + type: int + required: true + tx-buffer-elements: type: int required: true From 822b72e170cb76248fae7574254e3d56ed53ff46 Mon Sep 17 00:00:00 2001 From: Pin Loon Lee Date: Sun, 30 Jan 2022 11:34:49 +0800 Subject: [PATCH 3/3] dts: arm: add tx-event-fifo-elements in dtsi Use same value of tx-buffer-elements for tx-event-fifo-elements. Signed-off-by: Pin Loon Lee --- dts/arm/atmel/same70.dtsi | 1 + dts/arm/nxp/nxp_lpc55S1x_common.dtsi | 1 + dts/arm/st/g4/stm32g4.dtsi | 1 + dts/arm/st/h7/stm32h7.dtsi | 1 + 4 files changed, 4 insertions(+) diff --git a/dts/arm/atmel/same70.dtsi b/dts/arm/atmel/same70.dtsi index 3ffbe83466c65..1f8495950e277 100644 --- a/dts/arm/atmel/same70.dtsi +++ b/dts/arm/atmel/same70.dtsi @@ -457,6 +457,7 @@ rx-fifo1-elements = <3>; rx-buffer-elements = <0>; tx-buffer-elements = <1>; + tx-event-fifo-elements = <1>; can0: can@40030000 { compatible = "atmel,sam-can"; diff --git a/dts/arm/nxp/nxp_lpc55S1x_common.dtsi b/dts/arm/nxp/nxp_lpc55S1x_common.dtsi index 1f918307874da..e4072cccd6619 100644 --- a/dts/arm/nxp/nxp_lpc55S1x_common.dtsi +++ b/dts/arm/nxp/nxp_lpc55S1x_common.dtsi @@ -227,6 +227,7 @@ rx-fifo1-elements = <64>; rx-buffer-elements = <64>; tx-buffer-elements = <32>; + tx-event-fifo-elements = <32>; sjw = <1>; sample-point = <875>; sjw-data = <1>; diff --git a/dts/arm/st/g4/stm32g4.dtsi b/dts/arm/st/g4/stm32g4.dtsi index ce01f29fcd474..f7f63633a8c5f 100644 --- a/dts/arm/st/g4/stm32g4.dtsi +++ b/dts/arm/st/g4/stm32g4.dtsi @@ -358,6 +358,7 @@ rx-fifo1-elements = <3>; rx-buffer-elements = <0>; tx-buffer-elements = <3>; + tx-event-fifo-elements = <3>; can1: can@40006400 { compatible = "st,stm32-fdcan"; diff --git a/dts/arm/st/h7/stm32h7.dtsi b/dts/arm/st/h7/stm32h7.dtsi index 9e96cbd96f86c..22547dac8365e 100644 --- a/dts/arm/st/h7/stm32h7.dtsi +++ b/dts/arm/st/h7/stm32h7.dtsi @@ -451,6 +451,7 @@ rx-fifo1-elements = <3>; rx-buffer-elements = <3>; tx-buffer-elements = <3>; + tx-event-fifo-elements = <3>; can1: can@4000a000 { compatible = "st,stm32h7-fdcan";