西农 生成树配置_SPI配置方法

文档说明

本文档以SC826-CN-00(8953平台)为例,说明SPI配置方法。

确定SPI管脚

好,开始,我们现在打算开始配置SC826-CN-00模块的SPI6。

那么我们先看下模块的硬件手册:

aded8e19f476d8ca74fb601f569f918d.png

可以看到相应的管脚号是247~250,但硬件手册上的管脚号对于配置没啥意义。

先修改 kernel/msm-3.18/arch/arm/boot/dts/qcom/sc826-cn-00-evk/msm8953-pinctrl.dtsi

打开msm8953-pinctrl.dtsi,搜索“SPI” ,能够搜索到SPI3的相关配置。

e8f2b0b23f7d1011f623b1aa96d62554.png

很不幸,没有找到SPI6,只能自己动手添加了。

依葫芦画瓢,照着SPI3的配置复制一份。

c188e59b1644ac1a075bfae6c2f7b5ae.png

那么问题来了,pins所对应的gpio管脚怎么确定呢?

这个时候需要查询 GPIO MAP

a67449e2f5af0f422a405451276f4e96.png

上图红圈部分,标明了SPI6对应的管脚,OK,那我们就按照上图配置gpio管脚号。

0a390cbb8b1502bec378bb37d78d5f51.png

其他配置照着SPI3的配置照抄,更改相应的gpio号即可。

添加设备树节点

修改kernel/msm-3.18/arch/arm/boot/dts/qcom/sc826-cn-00-evk/msm8953.dtsi

打开msm8953.dtsi,搜索“SPI” ,能够搜索到SPI3的相关配置。同样的,SPI6的配置需要自己添加。

先增加一个SPI_6的名称。

89faffb480a19ca132c6c588a3f1236b.png

再照抄SPI3的配置:

d1fe1bf7e59c94e6c15c7c2c20b3a690.png

上图红线部分的值,需要查询相应文档。

该文档和SPI6配置有关的Table5-4见下图,SPI6对应BLSP6:

1e8cf618817278ced2e20020879ee8fd.png

对号入座,修改相应的配置值。修改后的SPI6配置如下:

6a6b5b7dc8663157b95fc1048337bcba.png

配置到这里,实际已经完成了底层有关SPI6的配置。但是还没有生成设备节点,执行:

$ adb shell

$ ls /sys/class/spi_master/

$ls /dev/spi*

是无法看到spi设备的。

要生成设备节点,还需要加载SPI驱动。

配置SPI驱动

设备树增加一个SPI外设(虚拟的,只是为了生成一个节点)

修改msm8953.dtsi,在spi_6的配置下增加如下一段

d46c2465b3b4b78f722663ff8fc4a3b9.png

另外修改下面三个文件,加载SPI驱动。

kernel/msm-3.18/arch/arm64/configs/msmcortex_defconfig

kernel/msm-3.18/arch/arm64/configs/msmcortex-perf_defconfig

kernel/msm-3.18/drivers/spi/spidev.c

修改记录见下面链接,/old文件夹为修改之前的文件,/new文件夹为修改之后的文件。

https://uploader.shimo.im/f/nSEUHIzameUm5FBq.rar?attname=SPI6%E9%85%8D%E7%BD%AE%E4%BF%AE%E6%94%B9.rar&download

重新编译make bootimage –j8,烧录boot.img,重新开机,可以看到SPI设备节点。

如本文所提到的文档无法获取,请联系有关部门。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值