Merge tag 'lsk-v4.4-16.06-android'
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rkwifi / rk_wifi_config.c
1 /* rk_wifi_config.c
2  *
3  * RKWIFI driver version.
4  *
5  * Define the firmware and nvram path
6  *
7  * Define default Country Code
8  *
9  * gwl @ Rockchip
10  */
11 #include <linux/module.h>
12 #include <linux/kernel.h>
13 #include <linux/rfkill-wlan.h>
14
15 /* 
16  * Set Firmware Path
17  */
18  
19 #define ANDROID_FW_PATH "/system/etc/firmware/"
20
21 extern int get_wifi_chip_type(void);
22 int rkwifi_set_firmware(char *fw, char *nvram)
23 {
24     int chip = get_wifi_chip_type();
25     
26 if (chip == WIFI_RK903) {
27         sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_RK903b2.bin");
28         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_RK903_26M.cal");
29 }
30
31 if (chip == WIFI_RK901) {
32         sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_RK901.bin");
33         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_RK901.txt");
34 }
35
36 #ifdef CONFIG_BCM4330
37         sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_bcm4330.bin");
38 #ifdef CONFIG_RK_CHECK_UACCESS
39     sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_4330_oob.txt");
40 #else
41         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_4330.txt");
42 #endif
43 #endif
44
45 if (chip == WIFI_AP6181) {
46     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_RK901.bin");
47         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_AP6181.txt");
48 }
49
50 if (chip == WIFI_AP6210) {
51     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_RK901.bin");
52         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_AP6210.txt");
53 }
54
55 if (chip == WIFI_AP6212) {
56     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_bcm43438a0.bin");
57         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_ap6212.txt");
58 }
59
60 if (chip == WIFI_AP6234) {
61     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_bcm43341b0_ag.bin");
62         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_AP6234.txt");
63 }
64
65 if (chip == WIFI_AP6441) {
66     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_bcm43341b0_ag.bin");
67         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_AP6441.txt");
68 }
69
70 if (chip == WIFI_AP6335) {
71     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_bcm4339a0_ag.bin");
72         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_AP6335.txt");
73 }
74
75 if (chip == WIFI_AP6354) {
76     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_bcm4354a1_ag.bin");
77         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_ap6354.txt");
78 }
79
80 if (chip == WIFI_AP6476) {
81     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_RK901.bin");
82         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_AP6476.txt");
83 }
84
85 if (chip == WIFI_AP6493) {
86     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_RK903.bin");
87         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_AP6493.txt");
88 }
89
90 if (chip == WIFI_AP6330) {
91     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_RK903_ag.bin");
92         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_AP6330.txt");
93 }
94
95 #ifdef CONFIG_GB86302I
96     sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_RK903_ag.bin");
97         sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_GB86302I.txt");
98 #endif
99         return 0;
100 }
101
102 EXPORT_SYMBOL(rkwifi_set_firmware);