3524|1

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

无线驱动 gspi接口 8686 [复制链接]

各位老大好:我使用的模组型号是USI的WM-G-MR-09,模组使用的芯片是Marvell 8686. 我自己在移植到freescale mx31上时候,读不出wifi模块的id,但是我使用FPGA去模拟SPI时序的时候是可以读取到ID的,chip id =0x0b, 当我使用arm连续的读写ID寄存器(0x0002)的时候,出现这样的波形,各位老大帮忙看一下,有什么问题吗?,
图中的黄线是ARM输出mosi,  绿色是clk   蓝色是片选 ss0,
图见下面链接
[url=http://linux.chinaunix.net/bbs/viewthread.php?tid=1144658&extra=page%3D1][/url]
http://linux.chinaunix.net/bbs/viewthread.php?tid=1144658&extra=page%3D1

我的程序是这样的
int gspi_read_data_direct(gspi_card_rec_p cardp,
   u8 *data, u16 reg, u16 size)
{
int      ret;

gspihost_info_p gspiinfop;
ENTER();
if(!cardp) {
  ret = -EINVAL;
  goto error;
}
gspiinfop = cardp->ctrlr;
if((ret = gspi_acquire_io(gspiinfop)) != GSPI_OK){
  GSPI_DEBUG("gspi_acquire_io failed\n");
  goto error;
}
   GSPI_DEBUG("gspi_acquire_io ok\n");

gpio_set_low(WIFI_CS);
mcbsp_set_transmitter();
mcbsp_set_receiver();
    ///CPU model
    {
        int i;
GSPI_DEBUG("begin to read\n");
        ///Process the data
        {
            u16 *dat = (u16 *) rx;//定义的临时数组
            //u16 c;
            
            wmb();
            spi_write16(reg);     //写寄存器地址
            spi_read16(dat);
     //udelay(10);
     dat++;
     for (i = 0; i < size; i++) {
                spi2_write16(0); //  dummy clk  或者是激活读时钟
                udelay(10);
                spi2_read16(dat);    // 读取数据
  udelay(10);
                dat++;
             }

             GSPI_DEBUG("end to read %x\n",*dat);
         }
        rmb();
         
    }
gspiinfop -> d.dma_rxack = 0;

mcbsp_reset_receiver();
mcbsp_reset_transmitter();
  gpio_set_high(WIFI_CS);
memcpy(data,rx + (dummy_clk + 1) * 2,    //把读到的前2个字节丢掉
   (2*size - (dummy_clk + 1) * 2) );

gspi_release_io(gspiinfop);
ret = 0;
error: LEAVE();
return ret;
}
这个是读取寄存器的函数;各位老大有调试过的 指导一下 给点意见

最新回复

一楼大哥你好;     我现在准备移植该WIFI芯片,到FREESCALE I.MX35平台上,不知道如何开始,请大哥指教! 我的EMAIL:chenf@maxtek.net.cn 谢谢!  详情 回复 发表于 2009-11-18 11:03
点赞 关注
 

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
一楼大哥你好;
    我现在准备移植该WIFI芯片,到FREESCALE I.MX35平台上,不知道如何开始,请大哥指教!

我的EMAIL:chenf@maxtek.net.cn

谢谢!
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表