I'm trying to enable flexCAN bus 1 on the 26 pin GPIO header on the HomeRun Hummingboard. The iMX6 version is Core Solo, part number MCIMX6S5DVM10AB. I've confirmed that this chip has 2 flexCAN buses, and I've confirmed that they can be accessed on pin 16 and 18 of the GPIO header. The pins are SD3_CMD (can be muxed to CAN TX) and SD3_CLK (can be muxed to CAN RX).
I have 2 CAN transceivers I can use. Both are working on other devices (an SH2 microcontroller, beaglebone black and raspberry pi) so I cam confident that they are set up correctly. The transceivers are TI SN65HVD1050 and Microchip MCP2551.
I'm using Yocto with kernel 3.14.14.
I changed 2 device tree dtsi files to enable CAN, according to this post and others:
After recompiling, I can send and recieve messages to and from the raspberry pi and beaglebone black, but on the same CAN netwwork, I can't send or recieve to/from the iMX6. I get an error in dmesg, leading me to believe that I have not set up device tree correctly:
dmesg | grep -i "can" [ 1.432240] vcan: Virtual CAN interface driver [ 1.436722] CAN device driver interface [ 1.440823] 2090000.flexcan supply xceiver not found, using dummy regulator [ 1.448778] flexcan 2090000.flexcan: device registered (reg_base=a0a18000, irq=142) [ 2.639349] can: controller area network core (rev 20120528 abi 9) [ 2.651219] can: raw protocol (rev 20120528) [ 2.655541] can: broadcast manager protocol (rev 20120528 t) [ 2.663294] can: netlink gateway (rev 20130117) max_hops=1 [ 2.775105] md: Scanned 0 and added 0 devices.
I'm not really sure what my next step in troubleshooting is, aside from hoping someone else has overcome a similar problem and can offer advice.