• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : linux2.6.29的SPI求救 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 8904
精华: 0
发帖: 54
金钱: 400 两
威望: 155 点
贡献值: 0 点
综合积分: 108 分
注册时间: 2009-09-10
最后登录: 2017-09-13
楼主  发表于: 2009-11-10 17:04

 linux2.6.29的SPI求救

参考论坛里的2.6.24的来驱动2.6.29的SPI没有成功,主要是s3c2410_spi_info结构怎么用?有的文章说它的bus_num和spi_board_info的bus_num一样就可以,但是这样做以后,仍然不起作用,有把2.6.29里SPI使用起来的吗?请帮帮忙,谢谢。
级别: 侠客
UID: 8904
精华: 0
发帖: 54
金钱: 400 两
威望: 155 点
贡献值: 0 点
综合积分: 108 分
注册时间: 2009-09-10
最后登录: 2017-09-13
1楼  发表于: 2009-11-11 11:51
自己顶一下,希望有人帮忙啊。
级别: 新手上路
UID: 10025
精华: 0
发帖: 3
金钱: 30 两
威望: 15 点
贡献值: 0 点
综合积分: 6 分
注册时间: 2009-10-22
最后登录: 2011-06-01
2楼  发表于: 2009-11-21 16:11
同样期待...
级别: 新手上路
UID: 4206
精华: 0
发帖: 9
金钱: 60 两
威望: 26 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2009-03-03
最后登录: 2011-09-14
3楼  发表于: 2009-11-22 11:02
我也期待!
级别: 新手上路
UID: 10025
精华: 0
发帖: 3
金钱: 30 两
威望: 15 点
贡献值: 0 点
综合积分: 6 分
注册时间: 2009-10-22
最后登录: 2011-06-01
4楼  发表于: 2009-11-30 18:07
自己搞定了
arch/arm/mach-s3c2440/mach-mini2440.c文件:
添加
static struct spi_board_info s3c2410_spi0_board[] = {
        [0] = {
                 .modalias = "spidev",
                .bus_num        = 0,  
                .chip_select        = 0,
                .irq = IRQ_EINT9,
                .max_speed_hz         = 500*1000,
        },
};

static struct s3c2410_spi_info s3c2410_spi0_platdata = {
        .pin_cs = S3C2410_GPB1,
        .num_cs = 1,
        .bus_num = 0,
};
mini2440_devices数组中添加
&s3c_device_spi0
mini2440_machine_init函数中添加
s3c_device_spi0.dev.platform_data= &s3c2410_spi0_platdata;
spi_register_board_info(s3c2410_spi0_board, ARRAY_SIZE(s3c2410_spi0_board));

说明:
spi_register_board_info函数将spi_board_info结构体信息添加到内核board_list链表中,在加载s3c2410-spi模块时依次调用关系是:s3c24xx_spi_probe-->spi_bitbang_start-->spi_register_master-->scan_boardinfo,在scan_boardinfo时遍历整个board_list链表,根据bus_num找到我们添加进去的spi_board_info。
[ 此帖被wbweb在2009-11-30 18:14重新编辑 ]
级别: 侠客
UID: 5706
精华: 0
发帖: 119
金钱: 780 两
威望: 406 点
贡献值: 0 点
综合积分: 238 分
注册时间: 2009-05-05
最后登录: 2011-05-22
5楼  发表于: 2010-01-15 17:17
顶。。。。学习。。正要用呢。。
级别: 侠客
UID: 6642
精华: 0
发帖: 60
金钱: 335 两
威望: 113 点
贡献值: 0 点
综合积分: 120 分
注册时间: 2009-06-10
最后登录: 2018-10-14
6楼  发表于: 2010-03-22 19:32
spi口程序该怎样读写呢,用read和write行么
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
7楼  发表于: 2010-03-22 21:50
引用第6楼mingjian于2010-03-22 19:32发表的  :
spi口程序该怎样读写呢,用read和write行么

通常情况下,SPI驱动不是给User Space的应用程序用的,而是提供接口给内核中的其他驱动使用。
但内核的SPI层提供了一个spidev,可以将SPI controller模拟成一个普通的字符设备供应用程序使用,具体用法看内核源代码目录下的Documentation/spi/spidev。
关于内核SPI层的更多信息,看Documentation/spi/下的文档
"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: 29618
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-10-01
最后登录: 2010-11-17
8楼  发表于: 2010-11-03 19:08
一切都设置通过,编译make zImage时,出现S3C2410_GPB1未定义的情况,是怎么回事呢?片选不对呀
级别: 新手上路
UID: 10377
精华: 0
发帖: 23
金钱: 175 两
威望: 65 点
贡献值: 0 点
综合积分: 46 分
注册时间: 2009-11-02
最后登录: 2010-12-20
9楼  发表于: 2010-11-25 16:25
楼主,我是2.6.32,按照你的操作移植SPI驱动,但运行LINUX时,发现DEV目录下没有对应的设备文件,这是怎么回事哦?谢谢!
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go