b43: LP-PHY: Update B2062 radio init with recent spec changes
authorGábor Stefanik <netrolller.3d@gmail.com>
Sun, 16 Aug 2009 18:08:13 +0000 (20:08 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 20 Aug 2009 15:35:57 +0000 (11:35 -0400)
The spec for initializing the B2062 radio have changed recently,
update the code to match the changes.

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/phy_lp.c

index 4553e40..faca56f 100644 (file)
@@ -537,10 +537,15 @@ static void lpphy_2062_init(struct b43_wldev *dev)
        b43_radio_write(dev, B2062_N_TX_CTL3, 0);
        b43_radio_write(dev, B2062_N_TX_CTL4, 0);
        b43_radio_write(dev, B2062_N_TX_CTL5, 0);
        b43_radio_write(dev, B2062_N_TX_CTL3, 0);
        b43_radio_write(dev, B2062_N_TX_CTL4, 0);
        b43_radio_write(dev, B2062_N_TX_CTL5, 0);
+       b43_radio_write(dev, B2062_N_TX_CTL6, 0);
        b43_radio_write(dev, B2062_N_PDN_CTL0, 0x40);
        b43_radio_write(dev, B2062_N_PDN_CTL0, 0);
        b43_radio_write(dev, B2062_N_CALIB_TS, 0x10);
        b43_radio_write(dev, B2062_N_CALIB_TS, 0);
        b43_radio_write(dev, B2062_N_PDN_CTL0, 0x40);
        b43_radio_write(dev, B2062_N_PDN_CTL0, 0);
        b43_radio_write(dev, B2062_N_CALIB_TS, 0x10);
        b43_radio_write(dev, B2062_N_CALIB_TS, 0);
+       if (dev->phy.rev > 0) {
+               b43_radio_write(dev, B2062_S_BG_CTL1,
+                       (b43_radio_read(dev, B2062_N_COMM2) >> 1) | 0x80);
+       }
        if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
                b43_radio_set(dev, B2062_N_TSSI_CTL0, 0x1);
        else
        if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
                b43_radio_set(dev, B2062_N_TSSI_CTL0, 0x1);
        else