RE: [beagleboard] Configure CAN0 with buildroot

I’ve only used CAN1 since the I2C for Cape ID isn’t something I wanted to lose.

The Beagle that was running with the CAN cape had its SD card die so I lost the configuration information. But this site here does a pretty good job of explaining what is needed.

https://www.beyondlogic.org/adding-can-to-the-beaglebone-black/

I did not see the same information as the web page when I looked at dmesg.

debian@beaglebone:/dev$ dmesg | grep -i can

[ 0.851243] CAN device driver interface

[ 0.975646] can: controller area network core (rev 20170425 abi 9)

[ 0.982999] PM: Cannot get wkup_m3_ipc handle

debian@beaglebone:/dev$

I’ve got a cape from Logic Supply on this beagle but it’s not found at the moment on this new 4.14 installation. Following the web page…

debian@beaglebone:/dev$ config-pin p9.24 can

P9_24 pinmux file not found!

Pin has no cape: P9_24

Ever since $SLOTs concept was trashed on the Beagles the Logic Supply user manual for the CBB Cape is useless for installing the device but I’ve included the dts in case that will help.

At the moment I have no idea how to even ask the Beagle if it has seen the cape installed. I can see it’s connected physically. I put the beagles into their kennel last summer and before that they spent more than a year in isolation. Now they are out again and I’m working through Derek Molloy’s book so at some point I’m sure the cape will be seen.

My other Beagle may well have worked with the CAN cape at one point but it doesn’t have the cape installed.

debian@ebb:~$ dmesg | grep -i can

[ 1.015868] CAN device driver interface

[ 1.017132] c_can_platform 481cc000.can: c_can_platform device registered (regs=fa1cc000, irq=42)

[ 1.018405] c_can_platform 481d0000.can: c_can_platform device registered (regs=fa1d0000, irq=43)

[ 1.160062] can: controller area network core (rev 20170425 abi 9)

[ 1.167640] PM: Cannot get wkup_m3_ipc handle

debian@ebb:~$ config-pin p9.24 can

debian@ebb:~$ config-pin p9.26 can

debian@ebb:~$ sudo /sbin/ip link set can1 up type can bitrate 250000

[sudo] password for debian:

debian@ebb:~$

This one doesn’t complain. Again, I’ve completely forgotten what I’ve done.

John

cape-CBB-Serial-r01.dts (3.1 KB)

Thank you for the reply and info John.

The solution provided (in the link as well) is using the debian distribution for the beaglebone, which has a ton of packages to assist with the configuration of the BBB. My buildroot image does not even have a package manager! It is less than 80MB in total size. I do not have access to modules and features such as cape_mgr, pin-config ect.

My understanding is that I have to edit the default device tree source file to enable the CAN device, which is the part I am not able to do.

Regards

Hi,

For if ever anyone runs into this problem, setting the following in the linux-menuconfig file fixes the problem (to load the can device):

CONFIG_CAN_C_CAN=y
CONFIG_CAN_C_CAN_PLATFORM=y

Cheers

Which OS version?

I am not sure what you mean with OS version? This is a buildroot OS with the Linux kernel version 4.19.63

Ah. So it doesn’t apply to Debian. Thanks

For Debian, it's enabled out of the box, just use config-pin to change
it from i2c to can..

If it doesn't work, report back with:

sudo /opt/scripts/tools/version.sh

Regards