主题 : spi片选问题 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 8904
精华: 0
发帖: 54
金钱: 400 两
威望: 155 点
综合积分: 108 分
注册时间: 2009-09-10
最后登录: 2017-09-13
楼主  发表于: 2009-11-26 09:32

 spi片选问题

我在2.6.29中驱动spi,在devs.c文件中加入以下代码:
static struct s3c2410_spi_info s3c2410_spi0_platdata = {
                    .pin_cs = S3C2410_GPH0,
                    .num_cs = 1,
};

然后在platform_device 中填加.platform_data = &s3c2410_spi0_data,
下载编译好的内核到板子上,提示说failed to get gpio for cs
但是当设置.pin_cs为s3c2410_gpg2或是某个数字时,没有问题,而我的板子上的片选是gph0,追踪代码是request_gpio失败,是什么原因呢?请各位高手指教一下,谢谢了。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2009-11-26 11:40
有人已经request过这个GPIO了?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 8904
精华: 0
发帖: 54
金钱: 400 两
威望: 155 点
综合积分: 108 分
注册时间: 2009-09-10
最后登录: 2017-09-13
2楼  发表于: 2009-11-26 16:18

 回 1楼(kasim) 的帖子

我找了很久,应该没有地方用过这个gph0。
跟踪代码,是下面出现错误:
在gpio_request()函数(drivers/gpio)中:
desc = &gpio_desc[gpio];
chip = desc->chip;
这里的chip返回的是NULL。
经过多次实验,当pin_cs在S3C2410_GPG9以下时,是可以注册的,是不是跟gpio-core.h中的s3c_gpiolib_getchip有关啊?请帮忙看看,找找原因,谢谢了。