CAN Driver#

Overview#

The NVIDIA DRIVE series System on a Chip (SoC) integrates four Controller Area Network (CAN) controllers for automotive applications. These are based on the Bosch Time-Triggered Controller Area Network (MTTCAN). On Orin, among these four CAN controllers, two CAN controllers are from Orin CCPLEX exported as the instances of SocketCAN at the Linux system level, and the other two are from a dedicated hardware IP of Functional Safety Island (FSI)in Orin SoC. While on Thor chip, all four CAN controllers are in FSI interfaces of FSI CAN are not visible on Linux systems. Combined with the CAN controllers from a safety MCU (AURIX TC397X B-Step), a total of six CAN controllers are available on the NVIDIA DRIVE AGX Orin Developer Kit (P3710/P3960). A simplified block diagram of CAN interfaces in NVIDIA DRIVE AGX Orin Developer Kit available at Figure 1-2 in DRIVE AGX Product Brief

Linux TegraCAN#

Note

Linux TegraCAN is applicable to Orin only.

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 implements MTTCAN SocketCAN driver in Linux kernel to provide two SocketCAN interfaces, CAN0 and CAN1, TegraCAN controls CCPLEX CAN controller directly through CPU without IVC involvements The SocketCAN interface is similar to network interfaces in Linux kernel. SocketCAN documentation is available in Linux kernel documentation online at:

${NV_WORKSPACE}/drive-linux/kernel/source/oss_src/kernel/Documentation/devicetree/bindings/net/can/

For information about TegraCAN limitations, refer to the NVIDIA DriveOS 7.0 Release Notes.

FSI CAN#

The NVIDIA DriveOS Linux SDK releases a demo reference version of FSI binary . The functionality of FSI features ,including CAN, is limited. To integrate and build fully functional FSI stacks, including CAN, on the NVIDIA DRIVE AGX Orin platform, contact NVIDIA representatives and refer to the “FSI Integration Guide” topic in the NVIDIA DriveOS Linux SDK Developer Guide.

AURIX CAN#

A close box AURIX AFW FW is released with the NVIDIA DriveOS Linux SDK. The details of CAN commands supported in AURIX AFW FW are in Using the MCU Console in the MCU Reference Guide.