Commit ea800e9a authored by Thomas Stranger's avatar Thomas Stranger Committed by Fabio Baltieri
Browse files

drivers: can: stm32: correct timing_max parameters

The timing_max parameters defined in the stm32 bxcan driver don't match the
register description in the reference manuals.
- sjw does have only 2 bits representing 1 to 4 tq.
- phase_seg1 and phase_seg2 max is one tq higher.

I have checked the following reference manuals and all match:
- RM0090: STM32F405, F415, F407, F417, F427, F437 AND F429
- RM0008: STM32F101, F102, F103, F105, F107 advanced arm-based mcus
- RM0351, RM0394: all STM32L4
- RM0091: all STM32F0 with CAN support

Signed-off-by: default avatarThomas Stranger <thomas.stranger@outlook.com>
(cherry picked from commit cec279b5)
parent 11a493c8
Loading
Loading
Loading
Loading
+3 −3
Changes for drivers/can/can_stm32.c: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -1067,10 +1067,10 @@ static const struct can_driver_api can_api_funcs = {
		.prescaler = 0x01
	},
	.timing_max = {
		.sjw = 0x07,
		.sjw = 0x04,
		.prop_seg = 0x00,
		.phase_seg1 = 0x0F,
		.phase_seg2 = 0x07,
		.phase_seg1 = 0x10,
		.phase_seg2 = 0x08,
		.prescaler = 0x400
	}
};