summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/phy_lcn.c
diff options
context:
space:
mode:
authorRafał Miłecki2011-09-16 12:34:03 +0200
committerJohn W. Linville2011-09-19 22:10:13 +0200
commitbbb5574224168ef62c8549535c0d0a99e989ecf3 (patch)
treeadee62f8eacdffa048e6df4207c75132a13a9650 /drivers/net/wireless/b43/phy_lcn.c
parentb43: LCN-PHY: init TX power control (diff)
downloadkernel-qcow2-linux-bbb5574224168ef62c8549535c0d0a99e989ecf3.tar.gz
kernel-qcow2-linux-bbb5574224168ef62c8549535c0d0a99e989ecf3.tar.xz
kernel-qcow2-linux-bbb5574224168ef62c8549535c0d0a99e989ecf3.zip
b43: LCN-PHY: add more init tweaks
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/phy_lcn.c')
-rw-r--r--drivers/net/wireless/b43/phy_lcn.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/drivers/net/wireless/b43/phy_lcn.c b/drivers/net/wireless/b43/phy_lcn.c
index 8810bc99d28c..3ac235770863 100644
--- a/drivers/net/wireless/b43/phy_lcn.c
+++ b/drivers/net/wireless/b43/phy_lcn.c
@@ -307,12 +307,30 @@ static void b43_phy_lcn_bu_tweaks(struct b43_wldev *dev)
b43_phy_write(dev, 0x7d6, 0x0902);
- /* TODO: more ops */
+ b43_phy_maskset(dev, 0x429, ~0xf, 0x9);
+ b43_phy_maskset(dev, 0x429, ~(0x3f << 4), 0xe << 4);
if (dev->phy.rev == 1) {
- /* TODO: more ops */
+ b43_phy_maskset(dev, 0x423, ~0xff, 0x46);
+ b43_phy_maskset(dev, 0x411, ~0xff, 1);
+ b43_phy_set(dev, 0x434, 0xff); /* FIXME: update to wl */
+
+ /* TODO: wl operates on PHY 0x416, brcmsmac is outdated here */
+
+ b43_phy_maskset(dev, 0x656, ~0xf, 2);
+ b43_phy_set(dev, 0x44d, 4);
+
+ b43_radio_set(dev, 0x0f7, 0x4);
+ b43_radio_mask(dev, 0x0f1, ~0x3);
+ b43_radio_maskset(dev, 0x0f2, ~0xf8, 0x90);
+ b43_radio_maskset(dev, 0x0f3, ~0x3, 0x2);
+ b43_radio_maskset(dev, 0x0f3, ~0xf0, 0xa0);
+
+ b43_radio_set(dev, 0x11f, 0x2);
b43_phy_lcn_clear_tx_power_offsets(dev);
+
+ /* TODO: something more? */
}
}