diff options
Diffstat (limited to 'drivers/net/can/flexcan.c')
| -rw-r--r-- | drivers/net/can/flexcan.c | 19 | 
1 files changed, 16 insertions, 3 deletions
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index c78ecfca1e4..a412bf6d73e 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -144,9 +144,22 @@  #define FLEXCAN_MB_CODE_MASK		(0xf0ffffff) -/* FLEXCAN hardware feature flags */ +/* + * FLEXCAN hardware feature flags + * + * Below is some version info we got: + *    SOC   Version   IP-Version  Glitch-  [TR]WRN_INT + *                                Filter?   connected? + *   MX25  FlexCAN2  03.00.00.00     no         no + *   MX28  FlexCAN2  03.00.04.00    yes        yes + *   MX35  FlexCAN2  03.00.00.00     no         no + *   MX53  FlexCAN2  03.00.00.00    yes         no + *   MX6s  FlexCAN3  10.00.12.00    yes        yes + * + * Some SOCs do not have the RX_WARN & TX_WARN interrupt line connected. + */  #define FLEXCAN_HAS_V10_FEATURES	BIT(1) /* For core version >= 10 */ -#define FLEXCAN_HAS_BROKEN_ERR_STATE	BIT(2) /* Broken error state handling */ +#define FLEXCAN_HAS_BROKEN_ERR_STATE	BIT(2) /* [TR]WRN_INT not connected */  /* Structure of the message buffer */  struct flexcan_mb { @@ -205,7 +218,7 @@ static struct flexcan_devtype_data fsl_p1010_devtype_data = {  };  static struct flexcan_devtype_data fsl_imx28_devtype_data;  static struct flexcan_devtype_data fsl_imx6q_devtype_data = { -	.features = FLEXCAN_HAS_V10_FEATURES | FLEXCAN_HAS_BROKEN_ERR_STATE, +	.features = FLEXCAN_HAS_V10_FEATURES,  };  static const struct can_bittiming_const flexcan_bittiming_const = {  |