chipselect 0 already in use 这种问题的解决思路

最近给 V3S开发板 添加spi flash 芯片并从nor flash启动的时候出现了下面这种报错,

sun6i-spi 1c68000.spi: chipselect 0 already in use
spi_master spi0: spi_device register error /soc/spi@1c68000/xt25f128b@0
spi_master spi0: Failed to create SPI device for /soc/spi@1c68000/xt25f128b@0

如下图所示

sun8i-v3s-licheepi-zero.dts当中是配置了spi的设备树的 

刚开始以为是linux 内核代码出了问题,里面有bug,后来换了一个版本的内核源码,发现没有这个问题,确定硬件没有问题,并且给旧的源码更换了正常运行的内核的sun8i-v3s-licheepi-zero.dts,结果还是出现设备树文件 chipselect 0 already in use这个错误,于是钻研了很久,以为chipselect 0 该设备已经被占用,肯定是设备树出了问题,内核在启用驱动设备的过程中已经占用了chipselect 0

找到打印一下这个的地方

spi_master spi0: spi_device register error /soc/spi@1c68000/xt25f128b
spi_master spi0: Failed to create SPI device for /soc/spi@1c68000/xt25f128b

如下图

于是琢磨在这加打印看一下到底是哪个设备占用了 spi chipselect 0

打印没有加成功,加上有别的事情这个问题就先挂着了 。

后来因为是加网卡设备的时候找到了sun8i-v3s.dtsi这个文件

 打开这个文件发现里面别有洞天,里面也有spi0设备树,原来这是在头文件里配置设备树

发现里面有设备树小节点,将其注释

make clean 之后make 再烧录内核和设备树

chipselect 0 already in use这个打印已经消失,取而代之的是如下打印

成功挂载spi flash ,并进行了分区,折腾我三个星期多的问题得到了解决,总算可以进行下一步了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值