diff options
author | Wolfgang Grandegger <wg@grandegger.com> | 2012-10-10 15:10:42 -0400 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2012-10-23 12:43:17 -0400 |
commit | bb698ca41ba574b3066ebbc5766e5980ae0051ca (patch) | |
tree | 7553f89934f306b1f64e2d42cd1c35f7c857afe5 /drivers/net | |
parent | 37561f68bd527ec39076e32effdc7b1dcdfb17ea (diff) |
can: flexcan: disable bus error interrupts for the i.MX6q
This patch adds some Flexcan version info and removes the feature flag
FLEXCAN_HAS_BROKEN_ERR_STATE for the i.MX6Q. It also has the line [TR]WRN_INT
properly connected.
Cc: Hui Wang <jason77.wang@gmail.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
[mkl: convert to incremental patch]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers/net')
-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 c78ecfca1e45..a412bf6d73ef 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c | |||
@@ -144,9 +144,22 @@ | |||
144 | 144 | ||
145 | #define FLEXCAN_MB_CODE_MASK (0xf0ffffff) | 145 | #define FLEXCAN_MB_CODE_MASK (0xf0ffffff) |
146 | 146 | ||
147 | /* FLEXCAN hardware feature flags */ | 147 | /* |
148 | * FLEXCAN hardware feature flags | ||
149 | * | ||
150 | * Below is some version info we got: | ||
151 | * SOC Version IP-Version Glitch- [TR]WRN_INT | ||
152 | * Filter? connected? | ||
153 | * MX25 FlexCAN2 03.00.00.00 no no | ||
154 | * MX28 FlexCAN2 03.00.04.00 yes yes | ||
155 | * MX35 FlexCAN2 03.00.00.00 no no | ||
156 | * MX53 FlexCAN2 03.00.00.00 yes no | ||
157 | * MX6s FlexCAN3 10.00.12.00 yes yes | ||
158 | * | ||
159 | * Some SOCs do not have the RX_WARN & TX_WARN interrupt line connected. | ||
160 | */ | ||
148 | #define FLEXCAN_HAS_V10_FEATURES BIT(1) /* For core version >= 10 */ | 161 | #define FLEXCAN_HAS_V10_FEATURES BIT(1) /* For core version >= 10 */ |
149 | #define FLEXCAN_HAS_BROKEN_ERR_STATE BIT(2) /* Broken error state handling */ | 162 | #define FLEXCAN_HAS_BROKEN_ERR_STATE BIT(2) /* [TR]WRN_INT not connected */ |
150 | 163 | ||
151 | /* Structure of the message buffer */ | 164 | /* Structure of the message buffer */ |
152 | struct flexcan_mb { | 165 | struct flexcan_mb { |
@@ -205,7 +218,7 @@ static struct flexcan_devtype_data fsl_p1010_devtype_data = { | |||
205 | }; | 218 | }; |
206 | static struct flexcan_devtype_data fsl_imx28_devtype_data; | 219 | static struct flexcan_devtype_data fsl_imx28_devtype_data; |
207 | static struct flexcan_devtype_data fsl_imx6q_devtype_data = { | 220 | static struct flexcan_devtype_data fsl_imx6q_devtype_data = { |
208 | .features = FLEXCAN_HAS_V10_FEATURES | FLEXCAN_HAS_BROKEN_ERR_STATE, | 221 | .features = FLEXCAN_HAS_V10_FEATURES, |
209 | }; | 222 | }; |
210 | 223 | ||
211 | static const struct can_bittiming_const flexcan_bittiming_const = { | 224 | static const struct can_bittiming_const flexcan_bittiming_const = { |