本帖最后由 Linux 于 2017-4-21 14:20 编辑
Wifi和can/RFID共用问题
硬件: 有这问题的硬件版本是精英版V3.2,全能版V3.5
软件: 本次修改使用的是android4.4.4源码,android4.0的源码中无法修改wifi的驱动
硬件修改: ①精英版,将R27去掉(这是一个0欧姆电阻),在R28上焊上0欧姆电阻;
②全能版,将R97去掉(这是一个0欧姆电阻),在R98上焊上0欧姆电阻;
软件修改:在内核源码中打开 arch/arm/mach-exynos/mach-itop4412.c文件 1. rst = EXYNOS4_GPC1(1),//RK30SDK_WIFI_GPIO_RESET_N,//RK30_PIN3_PD0, //MUST set to pin num in target system
修改为: // .rst = EXYNOS4_GPC1(1),//RK30SDK_WIFI_GPIO_RESET_N,//RK30_PIN3_PD0, //MUST set to pin num in target system .rst = EXYNOS4_GPZ(5),
2. //MT66XX SYSRST if(gpio_request(EXYNOS4_GPC1(1), "GPC1_1")) { printk(KERN_ERR "failed to request GPC1_1 for MT6620 SYSRST control\n");
} 修改为: //MT66XX SYSRST // if(gpio_request(EXYNOS4_GPC1(1), "GPC1_1")) // { // printk(KERN_ERR "failed to request GPC1_1 for MT6620 SYSRST control\n");
// }
if(gpio_request(EXYNOS4_GPZ(5), "WIFI_PWDN")) { printk(KERN_ERR "failed to request GPC1_1 for MT6620 SYSRST control\n");
}
3. s3c_gpio_cfgpin(EXYNOS4_GPC1(0), S3C_GPIO_OUTPUT); s3c_gpio_cfgpin(EXYNOS4_GPC1(1), S3C_GPIO_OUTPUT);
gpio_direction_output(EXYNOS4_GPC1(0), 0); gpio_direction_output(EXYNOS4_GPC1(1), 0);
gpio_free(EXYNOS4_GPC1(0)); gpio_free(EXYNOS4_GPC1(1));
修改为: s3c_gpio_cfgpin(EXYNOS4_GPC1(0), S3C_GPIO_OUTPUT); s3c_gpio_cfgpin(EXYNOS4_GPZ(5), S3C_GPIO_OUTPUT);
gpio_direction_output(EXYNOS4_GPC1(0), 0); gpio_direction_output(EXYNOS4_GPZ(5), 0);
gpio_free(EXYNOS4_GPC1(0)); gpio_free(EXYNOS4_GPZ(5));
修改完之后,make clean一下,然后重新编译内核和android。这样就会解决wifi和can不能共用或者wifi和RFID不能共用的问题。
|