Kernel->net:add AP6255 kernel support
This commit is contained in:
@ -14,25 +14,25 @@
|
||||
#include <dhd_config.h>
|
||||
#include <dhd_dbg.h>
|
||||
|
||||
/* message levels */
|
||||
/* message levels */
|
||||
#define CONFIG_ERROR_LEVEL 0x0001
|
||||
#define CONFIG_TRACE_LEVEL 0x0002
|
||||
|
||||
|
||||
uint config_msg_level = CONFIG_ERROR_LEVEL;
|
||||
|
||||
|
||||
#define CONFIG_ERROR(x) \
|
||||
do { \
|
||||
do { \
|
||||
if (config_msg_level & CONFIG_ERROR_LEVEL) { \
|
||||
printk(KERN_ERR "CONFIG-ERROR) "); \
|
||||
printk x; \
|
||||
} \
|
||||
} while (0)
|
||||
printk x; \
|
||||
} \
|
||||
} while (0)
|
||||
#define CONFIG_TRACE(x) \
|
||||
do { \
|
||||
do { \
|
||||
if (config_msg_level & CONFIG_TRACE_LEVEL) { \
|
||||
printk(KERN_ERR "CONFIG-TRACE) "); \
|
||||
printk x; \
|
||||
} \
|
||||
printk x; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define MAXSZ_BUF 1000
|
||||
@ -157,11 +157,11 @@ const static char *bcm4356a2_pcie_ag_fw_name[] = {
|
||||
};
|
||||
#endif
|
||||
|
||||
#define htod32(i) i
|
||||
#define htod16(i) i
|
||||
#define dtoh32(i) i
|
||||
#define dtoh16(i) i
|
||||
#define htodchanspec(i) i
|
||||
#define htod32(i) i
|
||||
#define htod16(i) i
|
||||
#define dtoh32(i) i
|
||||
#define dtoh16(i) i
|
||||
#define htodchanspec(i) i
|
||||
#define dtohchanspec(i) i
|
||||
|
||||
#ifdef BCMSDIO
|
||||
@ -497,8 +497,10 @@ 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");
|
||||
break;
|
||||
case BCM4339_CHIP_ID:
|
||||
if (chiprev == BCM4339A0_CHIP_REV)
|
||||
@ -675,10 +677,10 @@ dhd_conf_fix_country(dhd_pub_t *dhd)
|
||||
if (!(dhd && dhd->conf)) {
|
||||
return bcmerror;
|
||||
}
|
||||
|
||||
|
||||
memset(valid_chan_list, 0, sizeof(valid_chan_list));
|
||||
list = (wl_uint32_list_t *)(void *) valid_chan_list;
|
||||
list->count = htod32(WL_NUMCHANNELS);
|
||||
list = (wl_uint32_list_t *)(void *) valid_chan_list;
|
||||
list->count = htod32(WL_NUMCHANNELS);
|
||||
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_GET_VALID_CHANNELS, valid_chan_list, sizeof(valid_chan_list), FALSE, 0)) < 0) {
|
||||
CONFIG_ERROR(("%s: get channels failed with %d\n", __FUNCTION__, bcmerror));
|
||||
}
|
||||
@ -1282,8 +1284,8 @@ dhd_conf_read_log_level(dhd_pub_t *dhd, char *bufp, uint len)
|
||||
dhd_console_ms = (int)simple_strtol(pick, NULL, 0);
|
||||
printf("%s: dhd_console_ms = 0x%X\n", __FUNCTION__, dhd_console_ms);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
dhd_conf_read_wme_ac_params(dhd_pub_t *dhd, char *bufp, uint len)
|
||||
{
|
||||
@ -1649,7 +1651,7 @@ dhd_conf_read_config(dhd_pub_t *dhd, char *conf_path)
|
||||
/* Process log_level */
|
||||
dhd_conf_read_log_level(dhd, bufp, len);
|
||||
dhd_conf_read_roam_params(dhd, bufp, len);
|
||||
dhd_conf_read_wme_ac_params(dhd, bufp, len);
|
||||
dhd_conf_read_wme_ac_params(dhd, bufp, len);
|
||||
dhd_conf_read_fw_by_mac(dhd, bufp, len);
|
||||
dhd_conf_read_nv_by_mac(dhd, bufp, len);
|
||||
dhd_conf_read_nv_by_chip(dhd, bufp, len);
|
||||
@ -1826,7 +1828,7 @@ dhd_conf_read_config(dhd_pub_t *dhd, char *conf_path)
|
||||
len_val = process_config_vars(bufp, len, pick, "bus:txglom=");
|
||||
if (len_val) {
|
||||
conf->bus_txglom = (int)simple_strtol(pick, NULL, 10);
|
||||
printf("%s: bus:txglom = %d\n", __FUNCTION__, conf->bus_txglom);
|
||||
printf("%s: bus:txglom = %d\n", __FUNCTION__, conf->bus_txglom);
|
||||
}
|
||||
|
||||
/* Process ampdu_ba_wsize parameters */
|
||||
@ -2041,9 +2043,9 @@ dhd_conf_preinit(dhd_pub_t *dhd)
|
||||
conf->roam_delta[0] = 15;
|
||||
#endif
|
||||
conf->roam_delta[1] = WLC_BAND_ALL;
|
||||
#ifdef FULL_ROAMING_SCAN_PERIOD_60_SEC
|
||||
#ifdef FULL_ROAMING_SCAN_PERIOD_60_SEC
|
||||
conf->fullroamperiod = 60;
|
||||
#else /* FULL_ROAMING_SCAN_PERIOD_60_SEC */
|
||||
#else /* FULL_ROAMING_SCAN_PERIOD_60_SEC */
|
||||
conf->fullroamperiod = 120;
|
||||
#endif /* FULL_ROAMING_SCAN_PERIOD_60_SEC */
|
||||
#ifdef CUSTOM_KEEP_ALIVE_SETTING
|
||||
@ -2083,7 +2085,7 @@ dhd_conf_preinit(dhd_pub_t *dhd)
|
||||
if (conf->chip == BCM43430_CHIP_ID) {
|
||||
conf->bus_rxglom = FALSE;
|
||||
conf->use_rxchain = 0;
|
||||
}
|
||||
}
|
||||
if (conf->chip == BCM4339_CHIP_ID) {
|
||||
conf->txbf = 1;
|
||||
}
|
||||
|
||||
@ -715,6 +715,7 @@ 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) ||
|
||||
@ -736,6 +737,7 @@ 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) ||
|
||||
@ -749,6 +751,7 @@ 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) ||
|
||||
@ -6756,6 +6759,8 @@ 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)
|
||||
@ -7420,6 +7425,7 @@ 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,6 +365,7 @@
|
||||
(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,7 +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) == BCM4345_CHIP_ID ||
|
||||
CHIPID(sii->pub.chip) == BCM43454_CHIP_ID) &&
|
||||
CST4345_CHIPMODE_PCIE(sii->pub.chipst))) {
|
||||
pcieidx = i;
|
||||
pcierev = crev;
|
||||
@ -1413,6 +1414,7 @@ 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))
|
||||
@ -2817,6 +2819,7 @@ 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:
|
||||
|
||||
Reference in New Issue
Block a user