aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorIdo Reis <idor@ti.com>2012-04-22 13:45:52 -0400
committerLuciano Coelho <coelho@ti.com>2012-06-07 11:10:52 -0400
commit73395a79df00c3e0101bd7a0229dbbcc065b606a (patch)
tree8554dd79e3160f20f92a8d278bde9456a06c70ae /drivers
parent4085f641e704b1ff1a60f62756f49281a181f707 (diff)
wl18xx: support PG2 version of the chip
PG2 has a unique chip id. It supports similar HW quirks. Signed-off-by: Ido Reis <idor@ti.com> Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ti/wl18xx/main.c12
-rw-r--r--drivers/net/wireless/ti/wl18xx/reg.h1
2 files changed, 12 insertions, 1 deletions
diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c
index e030b1297a2b..57b4a1089d0d 100644
--- a/drivers/net/wireless/ti/wl18xx/main.c
+++ b/drivers/net/wireless/ti/wl18xx/main.c
@@ -588,6 +588,17 @@ static int wl18xx_identify_chip(struct wl1271 *wl)
588 int ret = 0; 588 int ret = 0;
589 589
590 switch (wl->chip.id) { 590 switch (wl->chip.id) {
591 case CHIP_ID_185x_PG20:
592 wl1271_debug(DEBUG_BOOT, "chip id 0x%x (185x PG20)",
593 wl->chip.id);
594 wl->sr_fw_name = WL18XX_FW_NAME;
595 /* wl18xx uses the same firmware for PLT */
596 wl->plt_fw_name = WL18XX_FW_NAME;
597 wl->quirks |= WLCORE_QUIRK_NO_ELP |
598 WLCORE_QUIRK_FWLOG_NOT_IMPLEMENTED |
599 WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN;
600
601 break;
591 case CHIP_ID_185x_PG10: 602 case CHIP_ID_185x_PG10:
592 wl1271_debug(DEBUG_BOOT, "chip id 0x%x (185x PG10)", 603 wl1271_debug(DEBUG_BOOT, "chip id 0x%x (185x PG10)",
593 wl->chip.id); 604 wl->chip.id);
@@ -602,7 +613,6 @@ static int wl18xx_identify_chip(struct wl1271 *wl)
602 /* PG 1.0 has some problems with MCS_13, so disable it */ 613 /* PG 1.0 has some problems with MCS_13, so disable it */
603 wl->ht_cap[IEEE80211_BAND_2GHZ].mcs.rx_mask[1] &= ~BIT(5); 614 wl->ht_cap[IEEE80211_BAND_2GHZ].mcs.rx_mask[1] &= ~BIT(5);
604 615
605 /* TODO: need to blocksize alignment for RX/TX separately? */
606 break; 616 break;
607 default: 617 default:
608 wl1271_warning("unsupported chip id: 0x%x", wl->chip.id); 618 wl1271_warning("unsupported chip id: 0x%x", wl->chip.id);
diff --git a/drivers/net/wireless/ti/wl18xx/reg.h b/drivers/net/wireless/ti/wl18xx/reg.h
index 43863d35feb2..e81f60913e88 100644
--- a/drivers/net/wireless/ti/wl18xx/reg.h
+++ b/drivers/net/wireless/ti/wl18xx/reg.h
@@ -140,6 +140,7 @@
140#define WL18XX_FW_STATUS_ADDR 0x50F8 140#define WL18XX_FW_STATUS_ADDR 0x50F8
141 141
142#define CHIP_ID_185x_PG10 (0x06030101) 142#define CHIP_ID_185x_PG10 (0x06030101)
143#define CHIP_ID_185x_PG20 (0x06030111)
143 144
144/* 145/*
145 * Host Command Interrupt. Setting this bit masks 146 * Host Command Interrupt. Setting this bit masks