WiFi 칩을 리셋 해 주는 GPIO입니다.
WIFI_1v8_WKUPn <-> XEINT21(GPX2_5) GPIO에 연결이 되어 있습니다.
static void __init mango_wifi_bt_init(void) { int err; printk("CRZ %s ----- Wifi init \n",__func__);
err=gpio_request(EXYNOS4212_GPM4(4), "WIFI_EN"); if (err) printk(KERN_ERR "1---------failed to request EXYNOS4_GPM4[4] for WiFi Power Down\n"); gpio_direction_output(EXYNOS4212_GPM4(4),1); s3c_gpio_cfgpin(EXYNOS4212_GPM4(4),S3C_GPIO_SFN(1)); s3c_gpio_setpull(EXYNOS4212_GPM4(4), S3C_GPIO_PULL_UP); s5p_gpio_set_drvstr(EXYNOS4212_GPM4(4),S5P_GPIO_DRVSTR_LV4);// crazyboy i2c SDA driver strength max gpio_set_value(EXYNOS4212_GPM4(4),0);//crazyboy 130820 gpio_free(EXYNOS4212_GPM4(4)); mdelay(10); //crazyboys 20160121 err=gpio_request_one(EXYNOS4_GPX2(5), GPIOF_OUT_INIT_LOW, "WIFI_RESET"); s3c_gpio_setpull(EXYNOS4_GPX2(5), S3C_GPIO_PULL_NONE); s5p_gpio_set_drvstr(EXYNOS4_GPX2(5),S5P_GPIO_DRVSTR_LV4);// crazyboy i2c SCL driver strength max if (err) printk(KERN_ERR "failed to request EXYNOS4_GPM4[5] for WiFi reset \n"); mdelay(10); gpio_set_value(EXYNOS4_GPX2(5),1); mdelay(100); gpio_set_value(EXYNOS4_GPX2(5),0);
gpio_free(EXYNOS4_GPX2(5));
} |
내용