]> err.no Git - linux-2.6/commitdiff
[PATCH] bcm43xx: Do boardflags workarounds for specific boards.
authorMichael Buesch <mbuesch@freenet.de>
Wed, 15 Mar 2006 15:31:45 +0000 (16:31 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 27 Mar 2006 16:19:39 +0000 (11:19 -0500)
Signed-off-by: Michael Buesch <mbuesch@freenet.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/bcm43xx/bcm43xx.h
drivers/net/wireless/bcm43xx/bcm43xx_main.c

index a358646ad3ebe4c3bc34e9858e1c381eff92abad..8820012b4b3aac13d6aa256461710751557af6a5 100644 (file)
 #define BCM43xx_BFL_AFTERBURNER                0x0200 /* supports Afterburner mode */
 #define BCM43xx_BFL_NOPCI              0x0400 /* leaves PCI floating */
 #define BCM43xx_BFL_FEM                        0x0800 /* supports the Front End Module */
+#define BCM43xx_BFL_EXTLNA             0x1000 /* has an external LNA */
+#define BCM43xx_BFL_HGPA               0x2000 /* had high gain PA */
+#define BCM43xx_BFL_BTCMOD             0x4000 /* BFL_BTCOEXIST is given in alternate GPIOs */
+#define BCM43xx_BFL_ALTIQ              0x8000 /* alternate I/Q settings */
 
 /* GPIO register offset, in both ChipCommon and PCI core. */
 #define BCM43xx_GPIO_CONTROL           0x6c
index cc8efe74f535d3c6887828c733f99d63364444a6..e26507b11f022bcd0cdd8a8d24b6a242f1143575 100644 (file)
@@ -910,6 +910,15 @@ static int bcm43xx_sprom_extract(struct bcm43xx_private *bcm)
        if (value == 0xFFFF)
                value = 0x0000;
        bcm->sprom.boardflags = value;
+       /* boardflags workarounds */
+       if (bcm->board_vendor == PCI_VENDOR_ID_DELL &&
+           bcm->chip_id == 0x4301 &&
+           bcm->board_revision == 0x74)
+               bcm->sprom.boardflags |= BCM43xx_BFL_BTCOEXIST;
+       if (bcm->board_vendor == PCI_VENDOR_ID_APPLE &&
+           bcm->board_type == 0x4E &&
+           bcm->board_revision > 0x40)
+               bcm->sprom.boardflags |= BCM43xx_BFL_PACTRL;
 
        /* antenna gain */
        value = sprom[BCM43xx_SPROM_ANTENNA_GAIN];