diff options
author | Ido Reis <idor@ti.com> | 2012-04-22 13:45:52 -0400 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2012-06-07 11:10:52 -0400 |
commit | 73395a79df00c3e0101bd7a0229dbbcc065b606a (patch) | |
tree | 8554dd79e3160f20f92a8d278bde9456a06c70ae /drivers | |
parent | 4085f641e704b1ff1a60f62756f49281a181f707 (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.c | 12 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wl18xx/reg.h | 1 |
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 |