免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7178 | 回复: 17
打印 上一主题 下一主题

无法生成spi设备 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-08 17:35 |只看该作者 |倒序浏览
本帖最后由 thzhr2009 于 2013-07-08 19:15 编辑

内核版本:2.6.21
cpu:s3c2416
代码修改过程如下:
在/arch/arm/mach-s3c2416/mach-s3c2416.c中增加spi_board_info及spi_board_info:
static struct spi_board_info s3c2416_spi0_board[] = {
        [0] = {
                //.modalias = "PN512",
                .modalias = "s3c2416-spi",
                .bus_num        = 0,
                .chip_select        = 0,
                //.irq = IRQ_SPI0 , //中断号暂时不知
                .max_speed_hz         = 500*1000,
        },
};
static struct s3c2410_spi_info s3c2416_spi0_platdata = {
        .pin_cs = S3C2410_GPL13,
         .board_info = &s3c2416_spi0_board[0],
};
在platform_device中增加此设备:
static struct platform_device *smdk2416_devices[] __initdata = {
       
        //&s3c_device_wdt,
        &s3c_device_i2c,
        &s3c_device_lcd,
        &s3c_device_rtc,
        &s3c_device_adc,
        &s3c_device_iis,
        &s3c_device_usbgadget,
        &s3c_device_usb,
        //&s3c_device_hsmmc0, //mmc0 未启用 ,已用作ic卡
        &s3c_device_hsmmc1,
        //&s3c_device_smc911x
        &s3c_device_dm9000,
        &s3c_device_spi0,
};
最后在smdk2416_machine_init中注册:
static void __init smdk2416_machine_init(void)
{
        /* SROM init for NFS */
        smdk2416_cs89x0_set();

        hsspi_set_gpio();

        smdk_machine_init();

        s3c_device_spi0.dev.platform_data= &s3c2416_spi0_platdata;
        spi_register_board_info(s3c2416_spi0_board, ARRAY_SIZE(s3c2416_spi0_board));
}
驱动程序直接使用内核自带的SPI驱动/driver/spi/hspi-s3c2416.c,编译成ko加载。
现在问题是加载驱动后/dev目录下无spi设备,/sys/bus/spi/devices/及/sys/bus/spi/drivers/文件下也为空。
请问问题在哪?
网上查了下,在make menuconfig时需要加入spi基础驱动spi_bitbang,这个以ko形式加入了。还需加入"User mode SPI device driver support",但为何我的内核menuconfig时没有这一选项呢,不知道问题出在哪。
请高手指教。多谢

论坛徽章:
0
2 [报告]
发表于 2013-07-08 20:03 |只看该作者
实在不行,把.ko放到文件系统中,然后在/etc/profile加一句insmod *.ko自动加载

论坛徽章:
0
3 [报告]
发表于 2013-07-08 20:07 |只看该作者
我现在调试时通过nfs挂载,将..ko考到文件系统中再insmod

论坛徽章:
0
4 [报告]
发表于 2013-07-08 20:52 |只看该作者
回复 3# thzhr2009
这样不能达到你的要求吗


   

论坛徽章:
0
5 [报告]
发表于 2013-07-08 21:05 |只看该作者
回复 3# thzhr2009

你是说/sys下没有是吧
我之前是用misc驱动写的没有platform,不是太清楚
不过你说要spi-bitbang,那你可以把它单独编译加载
或轨矩一点就看看Kconfig和Makefile的依赖关系


   

论坛徽章:
0
6 [报告]
发表于 2013-07-08 21:15 |只看该作者
spi-bitbang已经是单独加载成功,貌似我这里没有spidev.ko,有网友说需要该文件,不知道是否该原因引起。
有没有做过的朋友说下

论坛徽章:
0
7 [报告]
发表于 2013-07-09 14:02 |只看该作者
在板子/sys/devices/platform/中有看到设备s3c2410-spi.0,这个应该就是我注册的设备。我是菜鸟,请教下此文件下设备如何操作。
比如我现在想验证SPI的读写功能。

论坛徽章:
0
8 [报告]
发表于 2013-07-09 14:34 |只看该作者
回复 7# thzhr2009


我这几天正在写关于设备模型
你可一看看我的blog,有关于/sys下的文件的应用

http://blog.csdn.net/xxxxxlllllxl

论坛徽章:
0
9 [报告]
发表于 2013-07-09 16:15 |只看该作者
但/sys/bus/spi/devices/及/sys/bus/spi/drivers/文件下都为空,是否说明我的设备没有注册成功。

论坛徽章:
0
10 [报告]
发表于 2013-07-09 17:09 |只看该作者
现在主要的需求是测试SPI读写是否正常,请问如何测试,2.6.21也不到SPI测试程序,好像高点版本有。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP