搜索
bottom↓
回复: 2

mini2440 spi驱动移植

[复制链接]

出0入0汤圆

发表于 2011-12-27 19:25:09 | 显示全部楼层 |阅读模式
各位朋友最近在做spi接口的wifi驱动的移植;
平台环境:
目标板内核:linux-2.6.32.2
硬件平台:mini2440

在注_册wifi驱动时首先要保证spi接口能用,我的wifi驱动直接调用的是内核的spi接口,但是在注_册spi接口初始化的时候出现问题,
从机wifi模块收到的数据都是0xff,正常的应该是0x58才对,现在不知道问题是什么引起的。应为我的2440没有现成spi驱动,所以需要
先移植spi驱动到2440上,下面是我将移植的过程贴一下请大侠们看看是不是移植出现了问题:

首先修改arch/arm/mach-s3c2440/mach-mini2440.c文件
在include头文件代码行之后增加如下代码
#include <linux/spi/spi.h>
#include <mach/spi.h>

static struct spi_board_info s3c2410_spi0_board[] = {
        [0] = {
                 .modalias = "rsi_wlan",  //这是我驱动的名字
                .bus_num        = 0,  
                .chip_select        = 0,
                .irq = IRQ_SPI0,           //这个地方我不是很清楚是怎么确定使用哪个中断号的,我给设置成spi0的中断号,有朋友知道的可以说说
                .max_speed_hz         = 500*1000,
        },
};

static struct s3c2410_spi_info s3c2410_spi0_platdata = {
        .pin_cs = S3C2410_GPG(2),
        .num_cs = 1,       //这个看了好多资料都是设为1,但都没有说为什么,难道是cs的个数
        .bus_num = 0,   
};



然后在函数__initmini2440_machine_init的开头增加下列代码


s3c_device_spi0.dev.platform_data=&s3c2410_spi0_platdata;

spi_register_board_info(s3c2410_spi0_board,ARRAY_SIZE(s3c2410_spi0_board));



在mini2440_devices数组的最后中添加

&s3c_device_spi0,

以上是参考网上的一篇文章修改的,现在也能正确的调用驱动的probe函数。文章里还做了下面的修改,我不知道为什么所以下面的修改我还没有做。下面我也把
这部分贴出来了,有理解的朋友可以指点一下。谢谢

2.修改drivers/spi/spi_s3c24xx.c文件
在文件开头增加下列代码


#include <mach/regs-gpio.h>



在s3c24xx_spi_initialsetup函数结尾增加下列代码

// add by shiguang

s3c2410_gpio_cfgpin(hw->pdata->pin_cs,S3C2410_GPIO_OUTPUT);    //这个地方好像是配置片选作为输出的
下面三行就不明白是什么意思,而且0x8B、0x8C、0x8D这是代表什么
s3c2410_gpio_cfgpin(0x8B, S3C2410_GPIO_SFN2);

s3c2410_gpio_cfgpin(0x8C, S3C2410_GPIO_SFN2);

s3c2410_gpio_cfgpin(0x8D, S3C2410_GPIO_SFN2);

我的spi移植就改了这些,不知道做过的朋友是否能给点建议呢。是否修改的有问题呢
http://blog.csdn.net/forch/article/details/6837268这是参考的文章

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2011-12-27 20:27:48 | 显示全部楼层
wifi是88w8686模块么?

出0入0汤圆

 楼主| 发表于 2011-12-28 10:00:35 | 显示全部楼层
回复【1楼】ljt80158015
-----------------------------------------------------------------------

不是8686的wifi,你有8686的spi接口的wifi移植吗回复【1楼】ljt80158015
wifi是88w8686模块么?
-----------------------------------------------------------------------

不是8686的wifi,你有8686的spi接口的wifi移植吗
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 01:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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