Hello,
I have a custom board with an iMx6UL running a kernel 4.14 (built with buildroot)
The FlexCAN driver (unmodified) is compiled and running.
When I test it with socketCAN tools (candump), CAN messages are correctly received.
However, I'd like to understand how the driver configures the FlexCAN module, specially how it manages reception FIFO.
1) Does it activate the HW Rx FIFO ? From my understanding, I think is is (with a deph of 6 messages).
2) Does it also manage a Software Rx FIFO?
I tried to use memtool to read the value of the FLEXCANx_MCR register to check the FlexCan configuration, but I get the following error:
# ./memtool -32 02090000 4
Reading 0x4 count starting at address 0x02090000Bus error
And dmesg gives the following log:
[ 7995.508046] Unhandled fault: external abort on non-linefetch (0x1008) at 0xb6f9c000
[ 7995.515777] pgd = cca08000
[ 7995.518530] [b6f9c000] *pgd=8df84835, *pte=02090303, *ppte=02090a33
Note: I can read registers from other modules (SPI
Regards,
Q. Does it activate the HW Rx FIFO ? From my understanding, I think is is (with a deph of 6 messages).
A. Yes.
Q. Does it also manage a Software Rx FIFO?
A. No.
The FlexCAN register area is locked from the User mode access.
Have a great day,
Artur
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------