The MCP2515 is already supported in the current kernel (2.6.34).
You have to modify the board-overo.c in the kernel source where you define GPIO for interrupts and which SPI you use.
You also have to change the kernel configuration to include CAN support and remove ADS7846 touchscreen (it does use SPI1 which I guess you will be using)
Include socketcan-utils-test in your build (will give you some userland tools like candump and cangen)

When all that is done you only have to run the command:
ip link set can0 up type can bitrate 250000
to bring the CAN interface up

Remember to use a board without touchscreen (like the TOBI)!
Remember to insert level translators between the MCP and Overo 5 <-> 1.8V!

You can find more info here:
or if you are interested I can send you a patch file.


2010/7/30 dtran11 <>

I would like to interface my Overo Earth to a external CAN controller
(MCP2515) from Microchip. To be more
efficient, I was going to write the interface in Kernel space rather than
userspace. I will need to use SPI and
some GPIO pins for interrupts. I have no experience with writing device
drivers and would like some guidance
from the community: sample code, books, or anything will help a lot.

Thank you.
View this message in context:
Sent from the Gumstix mailing list archive at

The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
gumstix-users mailing list