1 /* Copyright (c) 2008 -2014 Espressif System.
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 as
5 * published by the Free Software Foundation.
8 * sdio stub code for RK
11 //#include <mach/gpio.h>
12 //#include <mach/iomux.h>
14 #define ESP8089_DRV_VERSION "2.25"
15 //extern int rk29sdk_wifi_power(int on); libing
16 extern int rockchip_wifi_power(int on);
17 //extern int rk29sdk_wifi_set_carddetect(int val); libing
18 extern int rockchip_wifi_set_carddetect(int val);
19 //extern int esp_sdio_init(void);
20 //extern void esp_sdio_exit(void) ;
22 extern int rk29sdk_wifi_power(int on);
23 extern int rk29sdk_wifi_set_carddetect(int val);
25 void sif_platform_rescan_card(unsigned insert)
27 //rk29sdk_wifi_set_carddetect(insert); libing
28 rockchip_wifi_set_carddetect(insert);
31 void sif_platform_reset_target(void)
33 if(sif_get_bt_config() == 1 && sif_get_retry_config() == 0){
34 if(sif_get_rst_config() == 1){
35 //TODO, use gpio to reset target
37 // iomux_set(GPIO3_D2);
38 // gpio_request(RK30_PIN3_PD2, "esp8089-sdio-wifi");
41 // gpio_direction_output(RK30_PIN3_PD2, 0);
43 // gpio_direction_output(RK30_PIN3_PD2, 1);
46 //rk29sdk_wifi_set_carddetect(0);
47 //rk29sdk_wifi_power(0); //libing
48 rockchip_wifi_power(0);
49 //rk29sdk_wifi_power(1); //libing
50 rockchip_wifi_power(1);
51 //rk29sdk_wifi_set_carddetect(1);
55 void sif_platform_target_poweroff(void)
57 printk("=======================================================\n");
58 printk("==== Dislaunching Wi-Fi driver! (Powered by Rockchip) ====\n");
59 printk("=======================================================\n");
60 printk("Espressif ESP8089 SDIO WiFi driver (Powered by Rockchip, Ver2.25(03/10/2015),Drv: %s) exit.\n", ESP8089_DRV_VERSION);
62 //rk29sdk_wifi_set_carddetect(0);
63 if(sif_get_bt_config() != 1)
64 //rk29sdk_wifi_power(0); libing
65 rockchip_wifi_power(0);
68 void sif_platform_target_poweron(void)
70 printk("=======================================================\n");
71 printk("==== Launching Wi-Fi driver! (Powered by Rockchip) ====\n");
72 printk("=======================================================\n");
73 printk("Espressif ESP8089 SDIO WiFi driver (Powered by Rockchip, Ver2.25(03/10/2015),Drv: %s) init.\n", ESP8089_DRV_VERSION);
75 if(sif_get_bt_config() == 1){
76 sif_platform_reset_target();
79 //rk29sdk_wifi_power(1); libing
80 rockchip_wifi_power(1);
81 //rk29sdk_wifi_set_carddetect(1);
84 void sif_platform_target_speed(int high_speed)
88 void sif_platform_check_r1_ready(struct esp_pub *epub)
93 #ifdef ESP_ACK_INTERRUPT
94 //extern void sdmmc_ack_interrupt(struct mmc_host *mmc); libing
96 void sif_platform_ack_interrupt(struct esp_pub *epub)
98 struct esp_sdio_ctrl *sctrl = NULL;
99 struct sdio_func *func = NULL;
101 // ASSERT(epub != NULL);
102 sctrl = (struct esp_sdio_ctrl *)epub->sif;
104 // ASSERT(func != NULL);
106 //sdmmc_ack_interrupt(func->card->host);libing
109 #endif //ESP_ACK_INTERRUPT