Document

当你觉得迷茫的时候,那就多学习

linux AM335x嵌入式平台spi驱动调试

使用的是kernel4.4.12内核,已经不需要arch/arm/boot/dts/boar-XXX板级文件了,直接使用设备树注册板级文件

所以,在这需要修改的文件有 

 

1.arch/arm/boot/dts/am33xx.dtsi

2.arch/arm/boot/dts/am335x-ariio5702.dts

 

一、配置menuconfgi  使板子支持spi  配置如下

 

 

二、修改设备树

在  arch/arm/boot/dts/am33xx.dtsi  中增加索引

 

 

 

修改设备树  arch/arm/boot/dts/am335x-ariio5702.dts

按照自己的使用修改设备树 例如spi1

 

这里最主要就是pin脚的配置 spi_pins

spi1_pins: pinmux_spi1_pins {
       pinctrl-single,pins = <
       0x190 (PIN_INPUT_PULLUP | MUX_MODE3) /* spi1-sclk gpio3_14*/
  0x194 (PIN_INPUT_PULLUP | MUX_MODE3) /* spi1-do gpio3_15*/
  0x198 (PIN_INPUT_PULLUP | MUX_MODE3) /* spi1-di gpio3_16*/
  0x19c (PIN_INPUT_PULLUP | MUX_MODE3) /* spi1-cs0 gpio3_17*/
  >;
};

 

 

修改的compitable要和driver/spi/spidev.c 里面的设备树匹配列表一致  才可以保证匹配到

 

driver/spi/spidev.c

 

static const struct of_device_id spidev_dt_ids[] = {
  { .compatible = "rohm,dh2228fv" },
  { .compatible = "xxxx" },
  {},
};

 

然后编译内核  烧录镜像

在开发板中就可以查看到设备节点

 

接着 使用   kernel/Documentation/spi/spidev_test.c   测试spi  这里只需要把这个spidev_test.c 交叉编译即可

测试如下

 

spi_test -D /dev/spidev1.0 -s 48000000 -p "aaaaaa"

 

 

 

既可以看到测试结果 

到这里 spi驱动添加成功

 

参考  https://www.veryarm.com/15778.html

 

posted @ 2019-07-09 15:38  陈昌雄  阅读(1925)  评论(0编辑  收藏  举报
Document

联系方式

qq: 2224505189

微信: 1935442635

奖励博主