我目前正试图通过使用MCP2515在96Boards Hikey开发板上运行CAN总线接口,MCP2515已经通过SPI连接到Hikey板上的低速连接器。
据我所知,为了实现这一点,需要对设备树文件进行一些细微的修改。但是,我没有能够将MCP2515识别为SPI设备,或者将can0接口显示在Linux中。
我对设备树的任何相关内容都是新手,因此尝试改变这两个帖子中的方法:
http://www.96boards.org/forums/topic/get-can-bus-working-on-db410c-via-mcp2515/
https://github.com/raspberrypi/firmware/issues/371
目前,我的设备树文件如下所示:
#include "hikey-gpio.dtsi"
/{
aliases {
spi_0 = &spi_0 ;
};
clocks{
clk16m: oscillator {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <16000000>; //16MHz
};
};
soc{
spi_0: spi@f7106000 {
#address-cells = <1>;
#size-cells = <0>;
can0: mcp2515@0 {
compatible = "microchip,mcp2515";
reg = <0>;
clocks = <&clk16m>;
interrupt-parent = <&gpio2>;
interrupts = <0 0x2>;
spi-max-frequency = <10000000>; //10 MHz
};
};
};
};
我不完全确定我是否正确设置了中断引脚。我使用的中断引脚是低速连接器上的引脚23,GPIO2_0。
如果有经验丰富的人可以看看并告诉我这段代码可能出现什么问题,我们将不胜感激!如果我的问题太具体,请告诉我是否有任何我能够或应该更清楚的事情。