Lines Matching full:timing
116 struct can_timing timing; member
137 const struct can_timing *timing) in mcux_flexcan_set_timing() argument
141 if (!timing) { in mcux_flexcan_set_timing()
149 data->timing = *timing; in mcux_flexcan_set_timing()
249 flexcan_timing_config_t timing; in mcux_flexcan_start() local
292 /* Delay this until start since setting the timing automatically exits freeze mode */ in mcux_flexcan_start()
293 timing.preDivider = data->timing.prescaler - 1U; in mcux_flexcan_start()
294 timing.rJumpwidth = data->timing.sjw - 1U; in mcux_flexcan_start()
295 timing.phaseSeg1 = data->timing.phase_seg1 - 1U; in mcux_flexcan_start()
296 timing.phaseSeg2 = data->timing.phase_seg2 - 1U; in mcux_flexcan_start()
297 timing.propSeg = data->timing.prop_seg - 1U; in mcux_flexcan_start()
298 FLEXCAN_SetTimingConfig(config->base, &timing); in mcux_flexcan_start()
302 timing.fpreDivider = data->timing_data.prescaler - 1U; in mcux_flexcan_start()
303 timing.frJumpwidth = data->timing_data.sjw - 1U; in mcux_flexcan_start()
304 timing.fphaseSeg1 = data->timing_data.phase_seg1 - 1U; in mcux_flexcan_start()
305 timing.fphaseSeg2 = data->timing_data.phase_seg2 - 1U; in mcux_flexcan_start()
306 timing.fpropSeg = data->timing_data.prop_seg; in mcux_flexcan_start()
307 FLEXCAN_SetFDTimingConfig(config->base, &timing); in mcux_flexcan_start()
1148 err = can_calc_timing(dev, &data->timing, config->common.bitrate, in mcux_flexcan_init()
1151 LOG_ERR("Can't find timing for given param"); in mcux_flexcan_init()
1155 data->timing.prescaler, data->timing.phase_seg1, in mcux_flexcan_init()
1156 data->timing.phase_seg2); in mcux_flexcan_init()
1159 /* Validate initial timing parameters */ in mcux_flexcan_init()
1160 err = can_set_timing(dev, &data->timing); in mcux_flexcan_init()
1162 LOG_ERR("failed to set timing (err %d)", err); in mcux_flexcan_init()
1172 LOG_ERR("Can't find timing for given param"); in mcux_flexcan_init()
1180 /* Validate initial data phase timing parameters */ in mcux_flexcan_init()
1183 LOG_ERR("failed to set data phase timing (err %d)", err); in mcux_flexcan_init()
1205 (1U + data->timing.prop_seg + data->timing.phase_seg1 + in mcux_flexcan_init()
1206 data->timing.phase_seg2) / data->timing.prescaler; in mcux_flexcan_init()
1222 flexcan_config.timingConfig.rJumpwidth = data->timing.sjw - 1U; in mcux_flexcan_init()
1223 flexcan_config.timingConfig.propSeg = data->timing.prop_seg - 1U; in mcux_flexcan_init()
1224 flexcan_config.timingConfig.phaseSeg1 = data->timing.phase_seg1 - 1U; in mcux_flexcan_init()
1225 flexcan_config.timingConfig.phaseSeg2 = data->timing.phase_seg2 - 1U; in mcux_flexcan_init()
1277 * FlexCAN timing limits are specified in the "FLEXCANx_CTRL1 field
1280 * Note that the values here are the "physical" timing limits, whereas
1320 * FlexCAN FD timing limits are specified in the "CAN Bit Timing
1321 * Register (CBT)" and "CAN FD Bit Timing Register" field description
1324 * Note that the values here are the "physical" timing limits, whereas