Hi.
We are working with a custom carrier board for the Jetson Orin module. I am testing CAN communication by physically connecting the internal CAN channels with the on-board MCP2518FD SPI-to-CAN controllers. I am experiencing the following issue:
-
Transmission from the internal CAN to the on-board MCP2518FD is successful.
-
Transmission from the on-board MCP2518FD to the internal CAN fails.
-
When attempting to send from the on-board MCP2518FD’s interface, I receive a
write: no buffer space availableerror.
I have confirmed that the kernel successfully recognizes the mcp251xfd module via the dmesg and ip link show commands.
For the MCP251XFD configuration, I have modified the tegra234-p3737-0000.dtsi file located in the following path: Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/nv-platform
The contents of the modified .dtsi file are as follows:
tegra234-p3737-0000.dtsi.txt (4.0 KB)
=============================spi@3210000 part==================================
mcp251xfd_osc: mcp251xfd_osc {
compatible = “fixed-clock”;
#clock-cells = <0>;
clock-frequency = <40000000>; /* 40MHz */
clock-accuracy = <50>;
};
spi@3210000{ /* SPI1 in 40 pin conn */
status = "okay";
can@0 {
compatible = "microchip,mcp251xfd";
reg = <0>;
clocks = <&mcp251xfd_osc>;
spi-max-frequency = <5000000>;
interrupts-extended = <&gpio_aon TEGRA234_AON_GPIO(AA,7) IRQ_TYPE_LEVEL_LOW>;
status = "okay";
};
can@1 {
compatible = "microchip,mcp251xfd";
reg = <1>;
clocks = <&mcp251xfd_osc>;
spi-max-frequency = <5000000>;
interrupts-extended = <&gpio_aon TEGRA234_AON_GPIO(BB,0) IRQ_TYPE_LEVEL_LOW>;
status = "okay";
};
};
To check if it was a hardware problem, when I tested by installing an Orin Module used in another project, I confirmed that transmit/receive between the internal CAN and the MCP2518FD CAN works normally.
*This module is the Jetpack 5.1.2 version and was used in a project that configured the same circuit using an MCP2518FD chip on the same SPI1 channel.
Could you please help me determine the root cause of this issue? I am trying to understand if this is a problem with my Device Tree or Pinmux configuration, or if it might be a regression bug introduced with the updated mcp251xfd module in the newer L4T R36.x (Jetpack 6.x) release.
Thank you in advance for your time and assistance.
