最近在rk3288 android5.1 上去支持can bus 芯片MCP2515, android5.1中内核的版本为3.10.79, 已经自带了mcp2515的驱动;
尝试使用,发现不能正常使用;
里面提到的是需要高版本的内核,于是我去linux kernel 的git上,发现在高版本的内核提交记录中,有对于mcp2515的支持更改记录,其中报错驱动的改动,还有dts文件中的相应的改动,参考这些记录,就能实现对于mcp2515的支持;
根据网友提供的帮助和这git上的改动参考,弄了一下,目前板子的can bus 芯片应该是能工作(具体还没去测试,但至少驱动通了,can0的节点出来了)
[ 0.791283] rockchip_spi_probe:num_cs=2,bus_num=2,irq=78,freq=45692308 ok
[ 0.791581] tun: Universal TUN/TAP device driver, 1.6
[ 0.791595] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 0.791734] CAN device driver interface
[ 0.791815] can probe enter
[ 0.801894] hw probe canctrl 0x87
[ 0.802313] can probe end
shell@rk3288:/ # busybox ifconfig -a
can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
NOARP MTU:16 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:59
以上一些记录,希望对于要调试mcp2515的朋友有帮助; 主要提及的一个地方就是需要更换高版本内核中的mcp2515对应的驱动;