2 * Copyright (c) 2013 Espressif System.
4 * sdio stub code for RK
7 //#include <mach/gpio.h>
8 //#include <mach/iomux.h>
10 #define ESP8089_DRV_VERSION "2.20"
11 //extern int rk29sdk_wifi_power(int on); libing
12 extern int rockchip_wifi_power(int on);
13 //extern int rk29sdk_wifi_set_carddetect(int val); libing
14 extern int rockchip_wifi_set_carddetect(int val);
15 //extern int esp_sdio_init(void);
16 //extern void esp_sdio_exit(void) ;
18 extern int rk29sdk_wifi_power(int on);
19 extern int rk29sdk_wifi_set_carddetect(int val);
22 int rockchip_wifi_init_module_esp8089(void)
25 return esp_sdio_init();
28 void rockchip_wifi_exit_module_esp8089(void)
34 void sif_platform_rescan_card(unsigned insert)
36 //rk29sdk_wifi_set_carddetect(insert); libing
37 rockchip_wifi_set_carddetect(insert);
40 void sif_platform_reset_target(void)
42 if(sif_get_bt_config() == 1 && sif_get_retry_config() == 0){
43 if(sif_get_rst_config() == 1){
44 //TODO, use gpio to reset target
46 // iomux_set(GPIO3_D2);
47 // gpio_request(RK30_PIN3_PD2, "esp8089-sdio-wifi");
50 // gpio_direction_output(RK30_PIN3_PD2, 0);
52 // gpio_direction_output(RK30_PIN3_PD2, 1);
55 //rk29sdk_wifi_set_carddetect(0);
56 //rk29sdk_wifi_power(0); //libing
57 rockchip_wifi_power(0);
58 //rk29sdk_wifi_power(1); //libing
59 rockchip_wifi_power(1);
60 //rk29sdk_wifi_set_carddetect(1);
64 void sif_platform_target_poweroff(void)
66 printk("=======================================================\n");
67 printk("==== Dislaunching Wi-Fi driver! (Powered by Rockchip) ====\n");
68 printk("=======================================================\n");
69 printk("Espressif ESP8089 SDIO WiFi driver (Powered by Rockchip,Ver %s) init.\n", ESP8089_DRV_VERSION);
71 //rk29sdk_wifi_set_carddetect(0);
72 if(sif_get_bt_config() != 1)
73 //rk29sdk_wifi_power(0); libing
74 rockchip_wifi_power(0);
77 void sif_platform_target_poweron(void)
79 printk("=======================================================\n");
80 printk("==== Launching Wi-Fi driver! (Powered by Rockchip) ====\n");
81 printk("=======================================================\n");
82 printk("Espressif ESP8089 SDIO WiFi driver (Powered by Rockchip,Ver %s) init.\n", ESP8089_DRV_VERSION);
84 if(sif_get_bt_config() == 1){
85 sif_platform_reset_target();
88 //rk29sdk_wifi_power(1); libing
89 rockchip_wifi_power(1);
90 //rk29sdk_wifi_set_carddetect(1);
93 void sif_platform_target_speed(int high_speed)
97 void sif_platform_check_r1_ready(struct esp_pub *epub)
102 #ifdef ESP_ACK_INTERRUPT
103 //extern void sdmmc_ack_interrupt(struct mmc_host *mmc); libing
105 void sif_platform_ack_interrupt(struct esp_pub *epub)
107 struct esp_sdio_ctrl *sctrl = NULL;
108 struct sdio_func *func = NULL;
110 // ASSERT(epub != NULL);
111 sctrl = (struct esp_sdio_ctrl *)epub->sif;
113 // ASSERT(func != NULL);
115 //sdmmc_ack_interrupt(func->card->host);libing
118 #endif //ESP_ACK_INTERRUPT
119 EXPORT_SYMBOL(rockchip_wifi_init_module_esp8089);
120 EXPORT_SYMBOL(rockchip_wifi_exit_module_esp8089);
122 //module_init(esp_sdio_init);
123 //module_exit(esp_sdio_exit);