3 * RKWIFI driver version.
5 * Define the firmware and nvram path
7 * Define default Country Code
11 #include <linux/module.h>
12 #include <linux/kernel.h>
13 #include <linux/rfkill-wlan.h>
19 #define ANDROID_FW_PATH "/system/etc/firmware/"
21 extern int get_wifi_chip_type(void);
22 int rkwifi_set_firmware(char *fw, char *nvram)
24 int chip = get_wifi_chip_type();
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");
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");
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");
41 sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_4330.txt");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
102 EXPORT_SYMBOL(rkwifi_set_firmware);