layerscape: add patches-5.4
[openwrt/staging/wigyori.git] / target / linux / layerscape / patches-5.4 / 802-can-0028-can-flexcan-Add-S32V234-support-to-FlexCAN-driver.patch
diff --git a/target/linux/layerscape/patches-5.4/802-can-0028-can-flexcan-Add-S32V234-support-to-FlexCAN-driver.patch b/target/linux/layerscape/patches-5.4/802-can-0028-can-flexcan-Add-S32V234-support-to-FlexCAN-driver.patch
new file mode 100644 (file)
index 0000000..0474969
--- /dev/null
@@ -0,0 +1,47 @@
+From 6a892e9147ff5b6a21a752326841869427068f01 Mon Sep 17 00:00:00 2001
+From: Chircu-Mare Bogdan-Petru <Bogdan.Chircu@freescale.com>
+Date: Tue, 3 Nov 2015 17:25:46 +0200
+Subject: [PATCH] can: flexcan: Add S32V234 support to FlexCAN driver
+
+The FlexCAN driver is compatible with the modules on S32V234 chips.
+
+Signed-off-by: Chircu-Mare Bogdan-Petru <Bogdan.Chircu@freescale.com>
+Signed-off-by: Dan Nica <dan.nica@nxp.com>
+Signed-off-by: Stefan-Gabriel Mirea <stefan-gabriel.mirea@nxp.com>
+Reviewed-by: Li Yang <leoyang.li@nxp.com>
+Reviewed-by: Joakim Zhang <qiangqing.zhang@nxp.com>
+Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
+---
+ drivers/net/can/flexcan.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/net/can/flexcan.c
++++ b/drivers/net/can/flexcan.c
+@@ -6,6 +6,7 @@
+ // Copyright (c) 2009 Sascha Hauer, Pengutronix
+ // Copyright (c) 2010-2017 Pengutronix, Marc Kleine-Budde <kernel@pengutronix.de>
+ // Copyright (c) 2014 David Jander, Protonic Holland
++// Copyright 2015, 2018 NXP
+ //
+ // Based on code originally by Andrey Volkov <avolkov@varma-el.com>
+@@ -385,6 +386,10 @@ static const struct flexcan_devtype_data
+               FLEXCAN_QUIRK_USE_OFF_TIMESTAMP,
+ };
++static struct flexcan_devtype_data fsl_s32v234_devtype_data = {
++      .quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_DISABLE_MECR,
++};
++
+ static const struct can_bittiming_const flexcan_bittiming_const = {
+       .name = DRV_NAME,
+       .tseg1_min = 4,
+@@ -1831,6 +1836,8 @@ static const struct of_device_id flexcan
+       { .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, },
+       { .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, },
+       { .compatible = "fsl,lx2160ar1-flexcan", .data = &fsl_lx2160a_r1_devtype_data, },
++      { .compatible = "fsl,s32v234-flexcan",
++        .data = &fsl_s32v234_devtype_data, },
+       { /* sentinel */ },
+ };
+ MODULE_DEVICE_TABLE(of, flexcan_of_match);