I’m using Orin nano developer kit with Jetpack 6.2.1(Rel 36.4.4).

I want to use two CAN channels on the Orin nano. Since the Orin nano has only one native CAN controller, I am attempting to expand the interface by connecting a TCAN4550 (SPI-to-CAN) to SPI0 on the 40-pin expansion header.
MOSI (Pin19), MISO (Pin21), SCK (Pin23), CS0 (Pin24)
TCAN4550-nINT is connected GPIO01 (Pin29)
TCAN4550-RST is connected I2S0_DOUT (Pin40)
I confirmed that the tcan4550 driver is not included by default in the L4T distribution.
I downloaded the Jetson Linux kernel sources and enabled the tcan4x5x driver via menuconfig.
I defined the tcan4x5x and m_can in the defconfig.
Device tree was written with reference to the link below and I also modified gpio.dtsi and pinmux.dtsi.
my dts:
tegra234-p3768-0000+p3767-xxxx-nv-common.zip (2.1 KB)
gpio.dtsi:
tegra234-mb1-bct-gpio-p3767-dp-a03.zip (1.5 KB)
pinmux.dtsi:
tegra234-mb1-bct-pinmux-p3767-dp-a03.zip (4.7 KB)
I followed the kernel customization guide and successfully flashed the device using the “Super Configuration (SD card)” command.
After booting the orin nano, lsmod shows that both tcan4x5x and m_can modules are loaded. However, dmesg reports a probe failure for the device.
lsmod | grep -i tcan4x
![]()
dmesg | grep -i tcan4x

here dmesg full log.
dmesg.zip (17.8 KB)
I am also attaching the decompiled DTB file.
kernel_tegra234-p3768-0000+p3767-0005-nv-super.zip (37.6 KB)
I suspect my device tree configuration is incorrect. The topic I referred to was based on Jetpack 5.1.1.
I would appreciate some guidance on how to modify the device tree for version 6.2.1. Could you please advise on the correct way to define the TCAN4550 node in the device tree?
Thank you for your help.


