[AIO-3288C] kernel->support ap6212a wifi,compatible with the old version
This commit is contained in:
@ -62,7 +62,7 @@ DHDCFLAGS += -DCUSTOMER_HW -DDHD_OF_SUPPORT -DGET_CUSTOM_MAC_ENABLE
|
||||
#DHDCFLAGS += -DBCMWAPI_WPI -DBCMWAPI_WAI
|
||||
#endif
|
||||
|
||||
#DHDCFLAGS += -DBAND_AG
|
||||
DHDCFLAGS += -DBAND_AG
|
||||
|
||||
ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y)
|
||||
# add dhd_static_buf to kernel image build
|
||||
|
||||
@ -473,11 +473,13 @@ dhd_conf_set_fw_name_by_chip(dhd_pub_t *dhd, char *fw_path, char *nv_path)
|
||||
strcpy(&nv_path[j+1], "nvram_AP6210.txt");
|
||||
break;
|
||||
case BCM43430_CHIP_ID:
|
||||
if (chiprev == BCM43430A0_CHIP_REV)
|
||||
if (chiprev == BCM43430A0_CHIP_REV){
|
||||
strcpy(&nv_path[i+1], "nvram_ap6212.txt");
|
||||
strcpy(&fw_path[i+1], bcm43438a0_fw_name[fw_type]);
|
||||
else if (chiprev == BCM43430A1_CHIP_REV)
|
||||
} else if (chiprev == BCM43430A1_CHIP_REV){
|
||||
strcpy(&nv_path[j+1], "nvram_ap6212a.txt");
|
||||
strcpy(&fw_path[i+1], bcm43438a1_fw_name[fw_type]);
|
||||
strcpy(&nv_path[j+1], "nvram_ap6212.txt");
|
||||
}
|
||||
break;
|
||||
case BCM43340_CHIP_ID:
|
||||
if (chiprev == BCM43340B0_CHIP_REV)
|
||||
@ -497,10 +499,9 @@ dhd_conf_set_fw_name_by_chip(dhd_pub_t *dhd, char *fw_path, char *nv_path)
|
||||
strcpy(&fw_path[i+1], bcm4339a0_ag_fw_name[fw_type]);
|
||||
break;
|
||||
case BCM4345_CHIP_ID:
|
||||
case BCM43454_CHIP_ID:
|
||||
if (chiprev == BCM43455C0_CHIP_REV)
|
||||
strcpy(&fw_path[i+1], bcm43455c0_ag_fw_name[fw_type]);
|
||||
strcpy(&nv_path[j+1], "nvram_AP6255.txt");
|
||||
strcpy(&nv_path[j+1], "nvram_ap6255.txt");
|
||||
break;
|
||||
case BCM4339_CHIP_ID:
|
||||
if (chiprev == BCM4339A0_CHIP_REV)
|
||||
@ -520,11 +521,13 @@ dhd_conf_set_fw_name_by_chip(dhd_pub_t *dhd, char *fw_path, char *nv_path)
|
||||
case BCM4356_CHIP_ID:
|
||||
if (chiprev == BCM4356A2_CHIP_REV)
|
||||
strcpy(&fw_path[i+1], bcm4356a2_ag_fw_name[fw_type]);
|
||||
break;
|
||||
strcpy(&nv_path[j+1], "nvram_ap6356.txt");
|
||||
break;
|
||||
case BCM4371_CHIP_ID:
|
||||
if (chiprev == BCM4356A2_CHIP_REV)
|
||||
strcpy(&fw_path[i+1], bcm4356a2_ag_fw_name[fw_type]);
|
||||
break;
|
||||
strcpy(&nv_path[j+1], "nvram_ap6356.txt");
|
||||
break;
|
||||
#endif
|
||||
#ifdef BCMPCIE
|
||||
case BCM4356_CHIP_ID:
|
||||
|
||||
@ -715,7 +715,6 @@ dhdsdio_sr_cap(dhd_bus_t *bus)
|
||||
(bus->sih->chip == BCM4339_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM43349_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4345_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM43454_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4354_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4356_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4358_CHIP_ID) ||
|
||||
@ -737,7 +736,6 @@ dhdsdio_sr_cap(dhd_bus_t *bus)
|
||||
(bus->sih->chip == BCM4339_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM43349_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4345_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM43454_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4354_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4356_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4358_CHIP_ID) ||
|
||||
@ -751,7 +749,6 @@ dhdsdio_sr_cap(dhd_bus_t *bus)
|
||||
|
||||
if ((bus->sih->chip == BCM4350_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4345_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM43454_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4354_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4356_CHIP_ID) ||
|
||||
(bus->sih->chip == BCM4358_CHIP_ID) ||
|
||||
@ -6759,8 +6756,6 @@ dhdsdio_chipmatch(uint16 chipid)
|
||||
return TRUE;
|
||||
if (chipid == BCM4345_CHIP_ID)
|
||||
return TRUE;
|
||||
if (chipid == BCM43454_CHIP_ID)
|
||||
return TRUE;
|
||||
if (chipid == BCM4350_CHIP_ID)
|
||||
return TRUE;
|
||||
if (chipid == BCM4354_CHIP_ID)
|
||||
@ -7425,7 +7420,6 @@ dhdsdio_probe_attach(struct dhd_bus *bus, osl_t *osh, void *sdh, void *regsva,
|
||||
bus->dongle_ram_base = CR4_4360_RAM_BASE;
|
||||
break;
|
||||
case BCM4345_CHIP_ID:
|
||||
case BCM43454_CHIP_ID:
|
||||
bus->dongle_ram_base = (bus->sih->chiprev < 6) /* from 4345C0 */
|
||||
? CR4_4345_LT_C0_RAM_BASE : CR4_4345_GE_C0_RAM_BASE;
|
||||
break;
|
||||
|
||||
@ -365,7 +365,6 @@
|
||||
(CHIPID(chipid) == BCM43570_CHIP_ID) || \
|
||||
(CHIPID(chipid) == BCM4358_CHIP_ID)) /* 4350 variations */
|
||||
#define BCM4345_CHIP_ID 0x4345 /* 4345 chipcommon chipid */
|
||||
#define BCM43454_CHIP_ID 43454 /* 43454 chipcommon chipid */
|
||||
#define BCM43430_CHIP_ID 43430 /* 43430 chipcommon chipid */
|
||||
#define BCM4349_CHIP_ID 0x4349 /* 4349 chipcommon chipid */
|
||||
#define BCM4355_CHIP_ID 0x4355 /* 4355 chipcommon chipid */
|
||||
|
||||
@ -292,9 +292,8 @@ si_buscore_setup(si_info_t *sii, chipcregs_t *cc, uint bustype, uint32 savewin,
|
||||
/* for SDIO but downloaded on PCIE dev */
|
||||
if (cid == PCIE2_CORE_ID) {
|
||||
if ((CHIPID(sii->pub.chip) == BCM43602_CHIP_ID) ||
|
||||
((CHIPID(sii->pub.chip) == BCM4345_CHIP_ID ||
|
||||
CHIPID(sii->pub.chip) == BCM43454_CHIP_ID) &&
|
||||
CST4345_CHIPMODE_PCIE(sii->pub.chipst))) {
|
||||
((CHIPID(sii->pub.chip) == BCM4345_CHIP_ID) &&
|
||||
CST4345_CHIPMODE_PCIE(sii->pub.chipst))) {
|
||||
pcieidx = i;
|
||||
pcierev = crev;
|
||||
pcie = TRUE;
|
||||
@ -1414,7 +1413,6 @@ si_chip_hostif(si_t *sih)
|
||||
break;
|
||||
|
||||
case BCM4345_CHIP_ID:
|
||||
case BCM43454_CHIP_ID:
|
||||
if (CST4345_CHIPMODE_USB20D(sih->chipst) || CST4345_CHIPMODE_HSIC(sih->chipst))
|
||||
hosti = CHIP_HOSTIF_USBMODE;
|
||||
else if (CST4345_CHIPMODE_SDIOD(sih->chipst))
|
||||
@ -2819,7 +2817,6 @@ si_is_sprom_available(si_t *sih)
|
||||
!(sih->chipst & CST4324_SFLASH_MASK));
|
||||
case BCM4335_CHIP_ID:
|
||||
case BCM4345_CHIP_ID:
|
||||
case BCM43454_CHIP_ID:
|
||||
return ((sih->chipst & CST4335_SPROM_MASK) &&
|
||||
!(sih->chipst & CST4335_SFLASH_MASK));
|
||||
case BCM4349_CHIP_GRPID:
|
||||
|
||||
@ -57,6 +57,11 @@ if (chip == WIFI_AP6212) {
|
||||
sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_ap6212.txt");
|
||||
}
|
||||
|
||||
if (chip == WIFI_AP6212A) {
|
||||
sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_bcm43438a1.bin");
|
||||
sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_ap6212a.txt");
|
||||
}
|
||||
|
||||
if (chip == WIFI_AP6234) {
|
||||
sprintf(fw, "%s%s", ANDROID_FW_PATH, "fw_bcm43341b0_ag.bin");
|
||||
sprintf(nvram, "%s%s", ANDROID_FW_PATH, "nvram_AP6234.txt");
|
||||
|
||||
@ -41,7 +41,12 @@ static ssize_t wifi_chip_read(struct class *cls, struct class_attribute *attr, c
|
||||
count = sprintf(_buf, "%s", "AP6212");
|
||||
printk("Current WiFi chip is AP6212.\n");
|
||||
}
|
||||
|
||||
|
||||
if(type == WIFI_AP6212A) {
|
||||
count = sprintf(_buf, "%s", "AP6212A");
|
||||
printk("Current WiFi chip is AP6212A.\n");
|
||||
}
|
||||
|
||||
if(type == WIFI_AP6234) {
|
||||
count = sprintf(_buf, "%s", "AP6234");
|
||||
printk("Current WiFi chip is AP6234.\n");
|
||||
|
||||
@ -48,6 +48,7 @@ enum {
|
||||
WIFI_AP6181,
|
||||
WIFI_AP6210,
|
||||
WIFI_AP6212,
|
||||
WIFI_AP6212A,
|
||||
WIFI_AP6234,
|
||||
WIFI_AP6330,
|
||||
WIFI_AP6335,
|
||||
|
||||
@ -104,6 +104,8 @@ int get_wifi_chip_type(void)
|
||||
type = WIFI_AP6210;
|
||||
} else if (strcmp(wifi_chip_type_string, "ap6212") == 0) {
|
||||
type = WIFI_AP6212;
|
||||
} else if (strcmp(wifi_chip_type_string, "ap6212a") == 0) {
|
||||
type = WIFI_AP6212A;
|
||||
} else if (strcmp(wifi_chip_type_string, "rk901") == 0) {
|
||||
type = WIFI_RK901;
|
||||
} else if (strcmp(wifi_chip_type_string, "rk903") == 0) {
|
||||
|
||||
Reference in New Issue
Block a user