Commit 2c19bb43 authored by Joakim Zhang's avatar Joakim Zhang Committed by Marc Kleine-Budde
Browse files

can: flexcan: add lx2160ar1 support



The Flexcan on lx2160ar1 supports CAN FD protocol.

Signed-off-by: default avatarJoakim Zhang <qiangqing.zhang@nxp.com>
Link: https://lore.kernel.org/r/20190712075926.7357-9-qiangqing.zhang@nxp.com


Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent 2a1993ea
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -216,6 +216,7 @@
 *   MX8QM FlexCAN3  03.00.23.00    yes       yes        no       no       yes          yes
 *   MX8QM FlexCAN3  03.00.23.00    yes       yes        no       no       yes          yes
 *   VF610 FlexCAN3  ?               no       yes        no      yes       yes?          no
 *   VF610 FlexCAN3  ?               no       yes        no      yes       yes?          no
 * LS1021A FlexCAN2  03.00.04.00     no       yes        no       no       yes           no
 * LS1021A FlexCAN2  03.00.04.00     no       yes        no       no       yes           no
 * LX2160A FlexCAN3  03.00.23.00     no       yes        no       no       yes          yes
 *
 *
 * Some SOCs do not have the RX_WARN & TX_WARN interrupt line connected.
 * Some SOCs do not have the RX_WARN & TX_WARN interrupt line connected.
 */
 */
@@ -387,6 +388,12 @@ static const struct flexcan_devtype_data fsl_ls1021a_r2_devtype_data = {
		FLEXCAN_QUIRK_USE_OFF_TIMESTAMP,
		FLEXCAN_QUIRK_USE_OFF_TIMESTAMP,
};
};


static const struct flexcan_devtype_data fsl_lx2160a_r1_devtype_data = {
	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
		FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_BROKEN_PERR_STATE |
		FLEXCAN_QUIRK_USE_OFF_TIMESTAMP | FLEXCAN_QUIRK_SUPPORT_FD,
};

static const struct can_bittiming_const flexcan_bittiming_const = {
static const struct can_bittiming_const flexcan_bittiming_const = {
	.name = DRV_NAME,
	.name = DRV_NAME,
	.tseg1_min = 4,
	.tseg1_min = 4,
@@ -1846,6 +1853,7 @@ static const struct of_device_id flexcan_of_match[] = {
	{ .compatible = "fsl,p1010-flexcan", .data = &fsl_p1010_devtype_data, },
	{ .compatible = "fsl,p1010-flexcan", .data = &fsl_p1010_devtype_data, },
	{ .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, },
	{ .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, },
	{ .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, },
	{ .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, },
	{ .compatible = "fsl,lx2160ar1-flexcan", .data = &fsl_lx2160a_r1_devtype_data, },
	{ /* sentinel */ },
	{ /* sentinel */ },
};
};
MODULE_DEVICE_TABLE(of, flexcan_of_match);
MODULE_DEVICE_TABLE(of, flexcan_of_match);