天嵌 ARM开发社区

 找回密码
 注册
查看: 3761|回复: 5

linux2.6.30.4下S3C2440的SPI移植问题

[复制链接]
nbhljw 发表于 2012-11-23 16:01:26 | 显示全部楼层 |阅读模式
本帖最后由 nbhljw 于 2012-11-29 15:41 编辑

做了个底板,用SPI外扩了CAN,片选信号是GPJ1,在mach里的配置:
static struct s3c2410_spi_info s3c2410_spi1_platdata = {
  .pin_cs = S3C2440_GPJ1,
  .num_cs = 1,  
  .bus_num = 1,
};
启动的时候报错:
s3c2410-spi s3c2410-spi.1: Failed to get gpio for cs
s3c2410-spi: probe of s3c2410-spi.1 failed with error -22
好像是pin_cs配置失败,请问该怎么解决啊?

换了一种实现方式,结帖。

亚瑟王 发表于 2012-11-24 10:43:55 | 显示全部楼层
SPI驱动建议自己重写,只需要完成简单读写就行了,你用系统自带的SPI驱动,那你的can芯片操作的部分就只能在应用程序部分写了哦。
随风而行 发表于 2012-11-24 12:38:05 | 显示全部楼层
我刚做完在2440上面用SPI0口扩展的CAN驱动,2440上面的SPI口有它自己的CS片选吧,SPI0是GPG2,SPI1是GPG3吧,你是用IO模拟的SPI还是用系统自带的SPI口?
 楼主| nbhljw 发表于 2012-11-24 12:41:33 | 显示全部楼层
亚瑟王 发表于 2012-11-24 10:43
SPI驱动建议自己重写,只需要完成简单读写就行了,你用系统自带的SPI驱动,那你的can芯片操作的部分就只能在 ...

谢谢亚瑟王大大指点。另外我是菜鸟初学,这个问题困扰了我两天了,想搞清楚,所以向你请教一下。我查到gpio_request的时候,在判断gpio_is_valid的时候认定这个管脚不合法,判断的时候使用0~MAX_INT来判断,我做了如下修改可还是不行,请问怎么才能让这个管脚合法?万分感谢!
//#define S3C_GPIO_END        (S3C2410_GPIO_BANKH + 32)
#define S3C_GPIO_END        (S3C2440_GPIO_BANKJ + 15)
亚瑟王 发表于 2012-11-24 14:18:11 | 显示全部楼层
nbhljw 发表于 2012-11-24 12:41
谢谢亚瑟王大大指点。另外我是菜鸟初学,这个问题困扰了我两天了,想搞清楚,所以向你请教一下。我查到gp ...

遇到管脚不合法,有可能是别的地方已经用了这个管脚了。
 楼主| nbhljw 发表于 2012-11-24 14:42:33 | 显示全部楼层
随风而行 发表于 2012-11-24 12:38
我刚做完在2440上面用SPI0口扩展的CAN驱动,2440上面的SPI口有它自己的CS片选吧,SPI0是GPG2,SPI1是GPG3吧 ...

用的是系统自带的SPI,你说的确实让我有点恍然大悟,菜鸟伤不起啊!弱弱问一下大神,能不能共享一下这个驱动,谢谢!nbhljw@yahoo.com.cn
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-22 20:08 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表