Commit c6f278d6 authored by Philippe Gerum's avatar Philippe Gerum Committed by Jan Kiszka

drivers/can: flexcan: rebase on mainline v4.14.58

Usable with latest Flexcan controller revisions available from recent
i.MX series. The older driver would break when initializing the chip
(FIFO activation), e.g.:

[  957.052272] rtcan0: real bitrate 1000000, sampling point 75.0%
[  957.058325] rtcan0: writing ctrl=0x011a2003
[  957.062670] rtcan0: flexcan_set_bit_time: mcr=0x5980000f ctrl=0x011a2003
[  957.069403] rtcan0: flexcan_chip_start: writing mcr=0x79a2020f
[  957.069421] rtcan0: flexcan_chip_start: writing ctrl=0x011aac53
[  957.075359] Unhandled fault: imprecise external abort (0x1c06) at 0xaec71a2c
[  957.088371] pgd = cae8c000
[  957.091106] [aec71a2c] *pgd=9d843835, *pte=ba49d75f, *ppte=ba49dc7f
[  957.097447] Internal error: : 1c06 [#1] SMP ARM
[  957.108324] CPU: 1 PID: 843 Comm: rtcanconfig Not tainted 4.14.34 #1
[  957.115391] Hardware name: Freescale i.MX7 Dual (Device Tree)
[  957.121155] I-pipe domain: Linux
[  957.124404] task: caee1900 task.stack: ca5d0000
[  957.128968] PC is at flexcan_chip_start+0x180/0x34c
[  957.133869] LR is at flexcan_chip_start+0x178/0x34c

As a bonus, the latest work arounds addressing silicon bugs are now
included (e.g. use of timestamp-based offloading when the FIFO
ordering does not match the time of arrival).
Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
parent 8cf9ebf2
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment