CAN on DIMM-AM335 under Linux

DCAN

The DIMM-AM335x features two CAN interfaces d_can0 and d_can1. Both are accessible on the baseboard Verno.

d_can0 is connected to the D-SUB connector J15. d_can1 is connected to the pin header J20.

Each interface can be enabled separately by the kernel parameter d_can in U-Boot. The commands on U-Boot are the following.

setenv d_can 'value'
saveenv 

What value to set for the appropriate interface shows the table below.

 

d_can d_can0 d_can1 Remarks
0  
1 x default
2 x  
3 x x  

 

 

The driver interface complies with the SocketCAN interface. There is general documentation for SocketCAN available in the Linux kernel tree at https://www.kernel.org/doc/Documentation/networking/can.txt.

For basic testing you can use the canutils:

For example: d_can0

# Configuration(if you reconfig the bitrate, you have to stop the interface before)

canconfig can0 bitrate 100000 ctrlmode triple-sampling on

# Starting

canconfig can0 start

# Sending 8 data bytes ten times

cansend can0 -i 0x10 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 --loop=10

# Receiving on a configured and started can1

candump can1

# Stoping

canconfig can0 stop