drivers: can: mcan: remove broken transmitter delay compensation support
Remove broken support for Transmitter Delay Compensation from the Bosch
M_CAN backend driver.
Even if this was enabled via Kconfig, the TDC bit in the DBTP register set
during driver initialization is overwritten in can_mcan_set_timing_data(),
turning TDC off.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
diff --git a/drivers/can/Kconfig.mcan b/drivers/can/Kconfig.mcan
index 83cf6ff..db09fc8 100644
--- a/drivers/can/Kconfig.mcan
+++ b/drivers/can/Kconfig.mcan
@@ -1,4 +1,4 @@
-# Bosch m_can configuration options
+# Bosch M_CAN configuration options
# Copyright (c) 2020 Alexander Wachter
# SPDX-License-Identifier: Apache-2.0
@@ -6,17 +6,4 @@
config CAN_MCAN
bool
help
- Enable Bosch m_can driver.
- This driver supports the Bosch m_can IP. This IP is built into the
- STM32G4, STM32G0, STM32H7, and the Microchip SAM controllers with
- CAN FD.
-
-if CAN_MCAN
-
-config CAN_DELAY_COMP
- bool "Transceiver delay compensation"
- default y
- help
- Enable the automatic transceiver delay compensation.
-
-endif #CAN_MCAN
+ Enable the Bosch M_CAN CAN IP module driver backend.
diff --git a/drivers/can/can_mcan.c b/drivers/can/can_mcan.c
index 2e33bda..5bfaffa 100644
--- a/drivers/can/can_mcan.c
+++ b/drivers/can/can_mcan.c
@@ -1427,32 +1427,6 @@
return err;
}
-#if defined(CONFIG_CAN_DELAY_COMP) && defined(CONFIG_CAN_FD_MODE)
- err = can_mcan_read_reg(dev, CAN_MCAN_DBTP, ®);
- if (err != 0) {
- return err;
- }
-
- reg |= CAN_MCAN_DBTP_TDC;
-
- err = can_mcan_write_reg(dev, CAN_MCAN_DBTP, reg);
- if (err != 0) {
- return err;
- }
-
- err = can_mcan_read_reg(dev, CAN_MCAN_TDCR, ®);
- if (err != 0) {
- return err;
- }
-
- reg |= FIELD_PREP(CAN_MCAN_TDCR_TDCO, config->tx_delay_comp_offset);
-
- err = can_mcan_write_reg(dev, CAN_MCAN_TDCR, reg);
- if (err != 0) {
- return err;
- }
-#endif /* defined(CONFIG_CAN_DELAY_COMP) && defined(CONFIG_CAN_FD_MODE) */
-
err = can_mcan_read_reg(dev, CAN_MCAN_GFC, ®);
if (err != 0) {
return err;
diff --git a/include/zephyr/drivers/can/can_mcan.h b/include/zephyr/drivers/can/can_mcan.h
index 8a4241a..25eeb43 100644
--- a/include/zephyr/drivers/can/can_mcan.h
+++ b/include/zephyr/drivers/can/can_mcan.h
@@ -1237,9 +1237,6 @@
uint16_t mram_elements[CAN_MCAN_MRAM_CFG_NUM_CELLS];
uint16_t mram_offsets[CAN_MCAN_MRAM_CFG_NUM_CELLS];
size_t mram_size;
-#ifdef CONFIG_CAN_FD_MODE
- uint8_t tx_delay_comp_offset;
-#endif
const void *custom;
};
@@ -1300,7 +1297,6 @@
.mram_elements = CAN_MCAN_DT_MRAM_ELEMENTS_GET(node_id), \
.mram_offsets = CAN_MCAN_DT_MRAM_OFFSETS_GET(node_id), \
.mram_size = CAN_MCAN_DT_MRAM_ELEMENTS_SIZE(node_id), \
- .tx_delay_comp_offset = DT_PROP(node_id, tx_delay_comp_offset), \
.custom = _custom, \
}
#else /* CONFIG_CAN_FD_MODE */