Hello,
I am trying to accomplish a socketCAN based interface on “ip link show” using 4 MCP2518 Modules and run 4 CAN buses on Nvidia Orin Nano. I am using Nvidia issued devboard without any mods.
Some info regarding project :
- goal is control 16 motors via 4 can buses.
- Added a custom PCB Board to Nvidia Orin Nano 40 pin header.
- Custom PCB Contains 4 MCP2518FD for making 4 CAN Buses from Nvidia Orin Nano 40 pin header using 2 SPI uses CS0 and CS1 and utilizing 4 buses.
- SocketCan/CAN Interface is required for cpp application to run on Nvidia Orin.
- Currently only CAN 0 (built-in CAN controller) shows up in ip link show.
- The expectation or goal is for “ip link show” to show 4 more can (SPI to CAN )interfaces in addition to CAN 0 which is built in controller on Nvidia Orin Nano Dev Board.
- Downloaded & Flashed nvidia Jetson L4T 36.4(version matching my current NVIDIA orin) public sources.tbz2
- MCP2518 Custom PCB Crystal is 20 Mhz right now.
- Current ISR Pins on PCB (Please see attached screenshot) to recieve GPIO inputs.
- Built the MCP2518 Module and then attached.
- Having a hard time making final changes for enabling GPIO/Interrupt for SPI.
Attached screenshot shows these files
Board-Wired.jpg : picture of custom pcb
Board-TopDown.jpg : picture of custom pcb
mcp2518fd-overlay-try21.txt : overlay - able to add mcp node, but not without errors.
‘Module Attached.png’ : shows module attached to kernel
‘interrupt pins from mcp2518.png’ : 4 interrupt pins for 4 controllers
‘output when attaching module.png’ : grep output of dmesg when mcp2518fs module is loaded/probed.
live-running-dts-with-overlay-applied.txt : current DTS on kernel showing overlay changes were applied.
The process I am following for applying the device tree changes are
-convert the dts file to dtbo file
dtc -O dtb -o mcp2518fd-overlay.dtbo -@ mcp2518fd-overlay.dts
- copy to boot
sudo cp mcp2518fd-overlay.dtbo /boot
-configure to load at boot
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n “MCP2518FD CAN Controllers”
- update ifntramfs and reboot
sudo update-initramfs -u
I am hoping if someone can guide me why is my overlay file producing errors and how do i enable these GPIO/Interrupt pins? is it also via overlay file??