diff options
author | Michael Buesch <mbuesch@freenet.de> | 2006-03-15 10:31:45 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-03-27 11:19:39 -0500 |
commit | b3db5e553876c1743eefae5963aea431ec4d5ba6 (patch) | |
tree | 5bda353b8e8a696ccc93c2d7f3ebee668fa4d08d | |
parent | 4cf6f03e067d6d416f5c9219471daf64703afae4 (diff) |
[PATCH] bcm43xx: Do boardflags workarounds for specific boards.
Signed-off-by: Michael Buesch <mbuesch@freenet.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx.h | 4 | ||||
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx_main.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h b/drivers/net/wireless/bcm43xx/bcm43xx.h index a358646ad3eb..8820012b4b3a 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx.h +++ b/drivers/net/wireless/bcm43xx/bcm43xx.h | |||
@@ -120,6 +120,10 @@ | |||
120 | #define BCM43xx_BFL_AFTERBURNER 0x0200 /* supports Afterburner mode */ | 120 | #define BCM43xx_BFL_AFTERBURNER 0x0200 /* supports Afterburner mode */ |
121 | #define BCM43xx_BFL_NOPCI 0x0400 /* leaves PCI floating */ | 121 | #define BCM43xx_BFL_NOPCI 0x0400 /* leaves PCI floating */ |
122 | #define BCM43xx_BFL_FEM 0x0800 /* supports the Front End Module */ | 122 | #define BCM43xx_BFL_FEM 0x0800 /* supports the Front End Module */ |
123 | #define BCM43xx_BFL_EXTLNA 0x1000 /* has an external LNA */ | ||
124 | #define BCM43xx_BFL_HGPA 0x2000 /* had high gain PA */ | ||
125 | #define BCM43xx_BFL_BTCMOD 0x4000 /* BFL_BTCOEXIST is given in alternate GPIOs */ | ||
126 | #define BCM43xx_BFL_ALTIQ 0x8000 /* alternate I/Q settings */ | ||
123 | 127 | ||
124 | /* GPIO register offset, in both ChipCommon and PCI core. */ | 128 | /* GPIO register offset, in both ChipCommon and PCI core. */ |
125 | #define BCM43xx_GPIO_CONTROL 0x6c | 129 | #define BCM43xx_GPIO_CONTROL 0x6c |
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c index cc8efe74f535..e26507b11f02 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c | |||
@@ -910,6 +910,15 @@ static int bcm43xx_sprom_extract(struct bcm43xx_private *bcm) | |||
910 | if (value == 0xFFFF) | 910 | if (value == 0xFFFF) |
911 | value = 0x0000; | 911 | value = 0x0000; |
912 | bcm->sprom.boardflags = value; | 912 | bcm->sprom.boardflags = value; |
913 | /* boardflags workarounds */ | ||
914 | if (bcm->board_vendor == PCI_VENDOR_ID_DELL && | ||
915 | bcm->chip_id == 0x4301 && | ||
916 | bcm->board_revision == 0x74) | ||
917 | bcm->sprom.boardflags |= BCM43xx_BFL_BTCOEXIST; | ||
918 | if (bcm->board_vendor == PCI_VENDOR_ID_APPLE && | ||
919 | bcm->board_type == 0x4E && | ||
920 | bcm->board_revision > 0x40) | ||
921 | bcm->sprom.boardflags |= BCM43xx_BFL_PACTRL; | ||
913 | 922 | ||
914 | /* antenna gain */ | 923 | /* antenna gain */ |
915 | value = sprom[BCM43xx_SPROM_ANTENNA_GAIN]; | 924 | value = sprom[BCM43xx_SPROM_ANTENNA_GAIN]; |