AK3918EV200支持sdio wifi为一线模式(8189ftv模块为例)

本文详细介绍了在安凯SDK中,由于硬件接线与内核GPIO默认配置不匹配导致的问题及解决方法。通过修改特定文件内的配置,解决了因错误配置导致的系统频繁中断和高CPU占用率问题。同时,针对修改后仍存在的连接问题,提供了进一步的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  按照安凯sdk默认的配置,硬件接的是4线的,kernel\arch\arm\mach-ak39\mach-sky39e_ak3918e80pin_mnbd.c里面配置默认是一线的,那为什么需要重新修改gpio的配置呢?因为内核的gpio默认配置也是sdio四线的,D0,D1,D2,D3作为数据口了,加载驱动的时候,会导致系统不停的产生中断,top的时候cpu占用率是99%左右。所以只需要保留D0,D2至D3都需要配置成GPIO,我们下面提供如何修改的方式:

将kernel\arch\arm\mach-ak39\ak39-gpio.c里面的下面配置

#ifdef CONFIG_ARCH_SKY39EV2_AK3918E80PIN_COREBD
    {ePIN_AS_SDIO,       SHARE_CFG134, (1<<27), (1<<27), 0, 0, ((0xf<<22)|(0xf<<16)), ((0xa<<22)|(0xa<<16)), (0x3<<20), (0x3<<20)},
改成:

#ifdef CONFIG_ARCH_SKY39EV2_AK3918E80PIN_COREBD
    {ePIN_AS_SDIO,       SHARE_CFG134, (1<<27), (1<<27), 0, 0, ((0xf<<22)|(0xf<<16)), ((0x08<<22)|(0x00<<16)), (0x3<<20), (0x3<<20)},
 

重新编译内核,加载8189fs.ko即可正常运行了。

 

遇到问题:

按上述驱动正常,但是ap或者stion都连接不了,频率提高到30M已上也不行。

 

解决方式:

硬件需要D0,D1物理连接,D1还是改回sdio的复用功能,就可以正常工作了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值