This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TCAN4550: TCAN4x5x: CAN is not getting Initialised

Part Number: TCAN4550


Tool/software:

Hi,

Iam trying to test CAN-interface for iMX8M for L6.6.23, Iam using TCAN4x5x CAN driver (tcan4x5x-core.c).

CAN driver is not getting initialised properly,  Iam facing the below error prints,

[ 2.216245] can: controller area network core
[ 2.220636] NET: Registered PF_CAN protocol family

[ 2.225437] can: raw protocol
[ 2.228416] can: broadcast manager protocol
[ 2.232612] can: netlink gateway - max_hops=1
[ 2.732560] tcan4x5x spi1.0: Total size of mram config(2384) exceeds mram(2048)
[ 2.739919] tcan4x5x: probe of spi1.0 failed with error -22

But When I replace the TCAN4x5x CAN driver with previous bsp L6.1.36, CAN is getting Initialised properly,
What are the major changes done in the updated driver, How can this issue be resolved.

Regards,
Janani

  • Hi Janani,

    This is a device support forum and not a Linux support forum and our expertise is with the device configuration and physical layer properties and not with Linux.

    This driver has been upstreamed and is supported by the Linux community and you might get better support with a Linux support forum for the driver related issues.

    In order to initialize and configure the TCAN455x devices with this driver, the SPI drivers need to be working properly and meet the needs of the TCAN4550 SPI format requirements.  Many initialization errors are due to the SPI read/write format not matching the TCAN4550 requirements and a modification to the local SPI driver is needed.  You should verify the basic SPI Read/Write format is correct.

    The other issue I see from your post is the Total size of the MRAM configuration exceeds the 2048 byte limit.  You have not shared your MRAM config statement, but you will need to reduce the number of TX/RX buffer/FIFO elements, TX Event FIFO elements, SID/XID filter elements, etc. to fit within the MRAM space.  If your configuration exceeds 2048 bytes, then the memory will wrap around to the beginning and overwrite some of the other memory elements resulting in errors.

    I don't have any knowledge of or experience with "bsp L6.1.36 CAN" and can't address this question.

    If you have any device configuration questions relating to the register map, I am more than happy to help with those.

    Regards,

    Jonathan