CAN Driver

Linux releases support two instances of NVIDIA Tegra Controller Area Network (TegraCAN). The CAN controller for Tegra family devices is the Bosch MTTCAN controller IP.

TegraCAN provides two SocketCAN interfaces in the Linux kernel. The SocketCAN interface is similar to network interfaces in Linux kernel. SocketCAN documentation is available in Linux kernel documentation online at:

<top>/<kernel_sources>/documentation/networking/can.txt

For information about SocketCAN limitations, see the Release Notes.

There are two implementations of MTTCAN SocketCAN driver:

  • mttcan driver that controls CAN controller directly through CPU running Linux
  • mttcan-ivc that uses CAN driver services through IVC and implemented in SPE-FW. This driver can potentially be used by both SPE firmware and Linux.

The selection of either mttcan or mttcan-ivc is done through device tree solution. Ensure that both drivers for a given CAN controller are not simultaneously enabled through device tree.