Hello,
I have a custom board. I enabled flexcan1 and flexcan2 on iMX7. after trying to send and receive CAN message, I found that some of the data got missed. I have tried different Pad Control register setting and even updated CAN driver to linux kernel 4.20(I use linux- toradex branch toradex_4.9-2.3.x-imx which its CAN driver is old. ) but nothing has changed.
I tested both CAN buses with a baud rate of 1 Mbit/s and a baud rate of 800 Kbit/s. in 800 Kbit/s, one of the buses works fine. in 1 Mbit/s, both of buses miss the message in sending. link text
I send a dmesg log and my test code. you can use it like this
Thanks for the files. I tested your code and could not find any errors.
Regarding the dmesg log, I saw there is some misconfiguration regarding the devicetree. Could you have a look here to delete the IoMux errors.
I fixed the IoMux error according to the link you sent for me. but nothing about the CAN problem changed. you can download new dmesg log from link text
can you help me with this error? what is it? can it be the cause of my problem?
[ 0.178057] 30a00000.can supply xceiver not found, using dummy regulator
[ 0.178911] flexcan 30a00000.can: device registered (reg_base=f5a00000, irq=59)
[ 0.179065] 30a10000.can supply xceiver not found, using dummy regulator
[ 0.179796] flexcan 30a10000.can: device registered (reg_base=f5a10000, irq=60)