diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2014-07-08 09:11:08 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-07-15 15:51:39 -0400 |
commit | 162bee1a3e5714abd9a429d85c64830bacaca682 (patch) | |
tree | ec5fa8f9a154ff3f54723b7cf1896d99d5025636 /drivers/net/wireless/b43/phy_n.c | |
parent | 40c68f20e63c9cd589ebfcf672ef912452967caf (diff) |
b43: N-PHY: init and channel switching of radio 0x2057 rev 9
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_n.c')
-rw-r--r-- | drivers/net/wireless/b43/phy_n.c | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c index 44349f5b99c6..479cda88ca5e 100644 --- a/drivers/net/wireless/b43/phy_n.c +++ b/drivers/net/wireless/b43/phy_n.c | |||
@@ -746,10 +746,55 @@ static void b43_radio_2057_setup(struct b43_wldev *dev, | |||
746 | b43_radio_write(dev, R2057_RFPLL_LOOPFILTER_C2, 0x8); | 746 | b43_radio_write(dev, R2057_RFPLL_LOOPFILTER_C2, 0x8); |
747 | } | 747 | } |
748 | break; | 748 | break; |
749 | case 9: /* e.g. PHY rev 16 */ | ||
750 | b43_radio_write(dev, R2057_LOGEN_PTAT_RESETS, 0x20); | ||
751 | b43_radio_write(dev, R2057_VCOBUF_IDACS, 0x18); | ||
752 | if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) { | ||
753 | b43_radio_write(dev, R2057_LOGEN_PTAT_RESETS, 0x38); | ||
754 | b43_radio_write(dev, R2057_VCOBUF_IDACS, 0x0f); | ||
755 | |||
756 | if (b43_is_40mhz(dev)) { | ||
757 | /* TODO */ | ||
758 | } else { | ||
759 | b43_radio_write(dev, | ||
760 | R2057_PAD_BIAS_FILTER_BWS_CORE0, | ||
761 | 0x3c); | ||
762 | b43_radio_write(dev, | ||
763 | R2057_PAD_BIAS_FILTER_BWS_CORE1, | ||
764 | 0x3c); | ||
765 | } | ||
766 | } | ||
767 | break; | ||
749 | /* TODO */ | 768 | /* TODO */ |
750 | } | 769 | } |
751 | 770 | ||
752 | /* TODO */ | 771 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) { |
772 | u16 txmix2g_tune_boost_pu = 0; | ||
773 | u16 pad2g_tune_pus = 0; | ||
774 | |||
775 | if (b43_nphy_ipa(dev)) { | ||
776 | switch (phy->radio_rev) { | ||
777 | case 9: | ||
778 | txmix2g_tune_boost_pu = 0x0041; | ||
779 | /* TODO */ | ||
780 | break; | ||
781 | } | ||
782 | /* TODO */ | ||
783 | } | ||
784 | |||
785 | if (txmix2g_tune_boost_pu) | ||
786 | b43_radio_write(dev, R2057_TXMIX2G_TUNE_BOOST_PU_CORE0, | ||
787 | txmix2g_tune_boost_pu); | ||
788 | if (pad2g_tune_pus) | ||
789 | b43_radio_write(dev, R2057_PAD2G_TUNE_PUS_CORE0, | ||
790 | pad2g_tune_pus); | ||
791 | if (txmix2g_tune_boost_pu) | ||
792 | b43_radio_write(dev, R2057_TXMIX2G_TUNE_BOOST_PU_CORE1, | ||
793 | txmix2g_tune_boost_pu); | ||
794 | if (pad2g_tune_pus) | ||
795 | b43_radio_write(dev, R2057_PAD2G_TUNE_PUS_CORE1, | ||
796 | pad2g_tune_pus); | ||
797 | } | ||
753 | 798 | ||
754 | usleep_range(50, 100); | 799 | usleep_range(50, 100); |
755 | 800 | ||