How to enable CAN2 and CAN3 on Jetson Thor?

Hello,

I downloaded the pinmux spreadsheet and configured it as shown in the reference image.
After clicking [Generate DT File], I obtained the following files: gpio.dtsi, padvoltage.dtsi, and pinmux.dtsi.

Could you please confirm whether I modified it correctly?

Thor-jetson thor_devkit-pinmux.dtsi.txt (92.2 KB)

Thor-jetson thor_devkit-padvoltage-default.dtsi.txt (2.1 KB)

Thor-jetson thor_devkit-gpio-default.dtsi.txt (3.4 KB)

According to the documentation:

  1. Copy the gpio.dtsi, padvoltage.dtsi, and pinmux.dtsi files to the <l4t_top>/bootloader/ directory.

  2. Rename the GPIO header file in pinmux.dtsi to the correct gpio.dtsi file name.

  3. After copying the files, ensure that you point these files to the new board.conf file that you created for your board.

However, I’m stuck at step 1. I cannot find the <l4t_top>/bootloader/ directory.
And I am having difficulty understanding step 2 & step 3.

Could you please explain in more detail what exactly I need to do in this step?

Hi,
<l4t_top> is Linux_for_Tegra folder. You should follow the steps(or use SDKManager) to download and extract the files:
Quick Start — NVIDIA Jetson Linux Developer Guide

And then copy the generated files to Linux_for_Tegra/bootloader

Do you use AGX Thor developer kit or your custom board? If you use custom board, would need to create board.conf for the board.

Hello @DaneLLL ,

Thank you for your response.

I have the AGX Thor developer kit.

I followed the quick-start guide.
I created the installation USB with the Jetson ISO image file on a USB stick.
With that USB stick, I installed the Jetson BSP on the AGX Thor developer kit.

After that, I ran the following commands:

sudo apt update
sudo apt install nvidia-jetpack

Is there something I might have missed?

Hi,
Please check 3.2 Can Header in
Jetson Download Center | NVIDIA Developer

If you use AGX Thor developer kit, you can use CAN0 and CAN1. CAN2 and CAN3 are not available.

@DaneLLL
I have reviewed the PDF.

Doesn’t that refer to the default configuration?

In my previous question, another moderator mentioned that it can be used by adjusting the pinmux spreadsheet.

And, When I enter the following command:

sudo ip link show

CAN0 through CAN3 are displayed.

Is that incorrect information?

Hi,
The answer is for custom board. You would need to follow design design guide to connect D59, F58, H61, B61 to CAN interfaces, and then can use pinmux spreadsheet to enable CAN function.

You cannot use CAN2 and CAN3 on AGX Thor developer kit due to hardware constraint.

@DaneLLL

Oh, really?

When I run ip link show, CAN2 and CAN3 are displayed.

On my Jetson Thor board, the labeling is as follows.

Am I absolutely unable to use CAN2 and CAN3..?

Hi,
This is no CAN2 CAN3 pin outs on developer kit. You are not able to connect to other devices.

@DaneLLL
Oh.. I understand.

Why do CAN2 and CAN3 appear in the output of ip link show?

When I run the following commands:

ip link set can2 up type can bitrate 500000 dbitrate 1000000 berr-reporting on fd on
ip link set can3 up type can bitrate 500000 dbitrate 1000000 berr-reporting on fd on

both interfaces change to the UP state.

Hi,
You successfully enable the function in software. So if you design a custom board with physical CAN2 and CAN3 interfaces, it is supposed to work fine.

@DaneLLL
If I design a custom board with physical CAN2 and CAN3 interfaces,
I can use them directly without adjusting the pinmux in the spreadsheet, right?

Is it absolutely impossible to change the pinouts of CAN2 and CAN3 on the AGX Thor developer kit board?

Hi,

No, you have to use pinmux spreadsheet to configure all pins fitting the custom board.

There are no physical CAN2 and CAN3 interfaces on AGX Thor developer kit.