Enabling CAN0 (Disabling I2C2) on the BeagleBone Black in the 3.8 kernel/device tree.


Using the old 3.2 kernel it was fairly straight forward to modify the am335x board file, disable I2C2, reconfigure the pin mux for the I2C2 pins to function as CAN0, also configure the mux settings for CAN1, and then bring up both CAN devices (I’m using a BeagleBone ‘White’ without any capes).

I’m looking at upgrading to the BBB, and it looks fairly straightforward to modify and recompile the ‘arm335x-bone-common.dtsi’ file to enable CAN1 (as outlined here: http://www.aero-box.co.uk/beaglebone-black#TOC-Enable-CANbus-device). I’m just wondering if anyone can confirm that it is just as easy to disable I2C2 and bring up CAN0? My perhaps entirely groundless concern is that the settings for the cape-eeprom pins for I2C2 are somehow hardcoded somewhere else in the 3.8 kernel (that I have not yet begun using), thus requiring some further code changes in order to be enabled - or locked out in some other way.

I’m keen to move to the BBB and have already ordered one, I’m just keen to hit the ground running when it arrives and so would greatly appreciate if anyone could allay this worry for me.

Andrew Glen.