can: tcan4x5x: fix bittiming const, use common bittiming from m_can driver
authorMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 15 Dec 2020 10:32:38 +0000 (11:32 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 7 Jan 2021 08:27:19 +0000 (09:27 +0100)
According to the TCAN4550 datasheet "SLLSF91 - DECEMBER 2018" the tcan4x5x has
the same bittiming constants as a m_can revision 3.2.x/3.3.0.

The tcan4x5x chip I'm using identifies itself as m_can revision 3.2.1, so
remove the tcan4x5x specific bittiming values and rely on the values in the
m_can driver, which are selected according to core revision.

Fixes: 5443c226ba91 ("can: tcan4x5x: Add tcan4x5x driver to the kernel")
Cc: Dan Murphy <dmurphy@ti.com>
Reviewed-by: Sean Nyekjaer <sean@geanix.com>
Link: https://lore.kernel.org/r/20201215103238.524029-3-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/m_can/tcan4x5x.c

index 24c737c..970f0e9 100644 (file)
@@ -131,30 +131,6 @@ static inline struct tcan4x5x_priv *cdev_to_priv(struct m_can_classdev *cdev)
 
 }
 
-static struct can_bittiming_const tcan4x5x_bittiming_const = {
-       .name = DEVICE_NAME,
-       .tseg1_min = 2,
-       .tseg1_max = 31,
-       .tseg2_min = 2,
-       .tseg2_max = 16,
-       .sjw_max = 16,
-       .brp_min = 1,
-       .brp_max = 32,
-       .brp_inc = 1,
-};
-
-static struct can_bittiming_const tcan4x5x_data_bittiming_const = {
-       .name = DEVICE_NAME,
-       .tseg1_min = 1,
-       .tseg1_max = 32,
-       .tseg2_min = 1,
-       .tseg2_max = 16,
-       .sjw_max = 16,
-       .brp_min = 1,
-       .brp_max = 32,
-       .brp_inc = 1,
-};
-
 static void tcan4x5x_check_wake(struct tcan4x5x_priv *priv)
 {
        int wake_state = 0;
@@ -469,8 +445,6 @@ static int tcan4x5x_can_probe(struct spi_device *spi)
        mcan_class->dev = &spi->dev;
        mcan_class->ops = &tcan4x5x_ops;
        mcan_class->is_peripheral = true;
-       mcan_class->bit_timing = &tcan4x5x_bittiming_const;
-       mcan_class->data_timing = &tcan4x5x_data_bittiming_const;
        mcan_class->net->irq = spi->irq;
 
        spi_set_drvdata(spi, priv);