aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-4.14/809-flexcan-support-layerscape.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-4.14/809-flexcan-support-layerscape.patch')
-rw-r--r--target/linux/layerscape/patches-4.14/809-flexcan-support-layerscape.patch13
1 files changed, 7 insertions, 6 deletions
diff --git a/target/linux/layerscape/patches-4.14/809-flexcan-support-layerscape.patch b/target/linux/layerscape/patches-4.14/809-flexcan-support-layerscape.patch
index a52b8b5167..75a6d97adb 100644
--- a/target/linux/layerscape/patches-4.14/809-flexcan-support-layerscape.patch
+++ b/target/linux/layerscape/patches-4.14/809-flexcan-support-layerscape.patch
@@ -470,7 +470,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
/* On Vybrid, disable memory error detection interrupts
* and freeze mode.
-@@ -1011,16 +1028,16 @@ static int flexcan_chip_start(struct net
+@@ -1011,17 +1028,17 @@ static int flexcan_chip_start(struct net
* and Correction of Memory Errors" to write to
* MECR register
*/
@@ -485,6 +485,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
reg_mecr &= ~FLEXCAN_MECR_ECRWRDIS;
- flexcan_write(reg_mecr, &regs->mecr);
+ priv->write(reg_mecr, &regs->mecr);
+ reg_mecr |= FLEXCAN_MECR_ECCDIS;
reg_mecr &= ~(FLEXCAN_MECR_NCEFAFRZ | FLEXCAN_MECR_HANCEI_MSK |
FLEXCAN_MECR_FANCEI_MSK);
- flexcan_write(reg_mecr, &regs->mecr);
@@ -492,7 +493,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
}
err = flexcan_transceiver_enable(priv);
-@@ -1036,14 +1053,14 @@ static int flexcan_chip_start(struct net
+@@ -1037,14 +1054,14 @@ static int flexcan_chip_start(struct net
/* enable interrupts atomically */
disable_irq(dev->irq);
@@ -511,7 +512,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
return 0;
-@@ -1068,10 +1085,10 @@ static void flexcan_chip_stop(struct net
+@@ -1069,10 +1086,10 @@ static void flexcan_chip_stop(struct net
flexcan_chip_disable(priv);
/* Disable all interrupts */
@@ -526,7 +527,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
flexcan_transceiver_disable(priv);
priv->can.state = CAN_STATE_STOPPED;
-@@ -1186,26 +1203,26 @@ static int register_flexcandev(struct ne
+@@ -1187,26 +1204,26 @@ static int register_flexcandev(struct ne
err = flexcan_chip_disable(priv);
if (err)
goto out_disable_per;
@@ -558,7 +559,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
if (!(reg & FLEXCAN_MCR_FEN)) {
netdev_err(dev, "Could not enable RX FIFO, unsupported core\n");
err = -ENODEV;
-@@ -1233,8 +1250,12 @@ static void unregister_flexcandev(struct
+@@ -1234,8 +1251,12 @@ static void unregister_flexcandev(struct
static const struct of_device_id flexcan_of_match[] = {
{ .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, },
{ .compatible = "fsl,imx28-flexcan", .data = &fsl_imx28_devtype_data, },
@@ -571,7 +572,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, flexcan_of_match);
-@@ -1314,6 +1335,21 @@ static int flexcan_probe(struct platform
+@@ -1315,6 +1336,21 @@ static int flexcan_probe(struct platform
dev->flags |= IFF_ECHO;
priv = netdev_priv(dev);