Skip to content
  • Philippe Gerum's avatar
    drivers/can: flexcan: rebase on mainline v4.14.58 · c6f278d6
    Philippe Gerum authored and Jan Kiszka's avatar Jan Kiszka committed
    
    
    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: default avatarPhilippe Gerum <rpm@xenomai.org>
    Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
    c6f278d6