diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2013-02-26 04:07:57 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-03-06 16:25:47 -0500 |
commit | 88cceab541f066b7f5d56a6d2da9ae2be4c3bb6c (patch) | |
tree | 8dd53cb52e9cdc9b80a4d6eea2a8eb4595a2890c | |
parent | c722839cc856cee5f7f1bb833a0f36c86d0bbe8f (diff) |
b43: define BCMA wireless specific PLLs
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/b43/b43.h | 6 | ||||
-rw-r--r-- | drivers/net/wireless/b43/main.c | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h index 10e288d470e7..fe4a77ee05c9 100644 --- a/drivers/net/wireless/b43/b43.h +++ b/drivers/net/wireless/b43/b43.h | |||
@@ -473,6 +473,12 @@ enum { | |||
473 | #define B43_MACCMD_CCA 0x00000008 /* Clear channel assessment */ | 473 | #define B43_MACCMD_CCA 0x00000008 /* Clear channel assessment */ |
474 | #define B43_MACCMD_BGNOISE 0x00000010 /* Background noise */ | 474 | #define B43_MACCMD_BGNOISE 0x00000010 /* Background noise */ |
475 | 475 | ||
476 | /* See BCMA_CLKCTLST_EXTRESREQ and BCMA_CLKCTLST_EXTRESST */ | ||
477 | #define B43_BCMA_CLKCTLST_80211_PLL_REQ 0x00000100 | ||
478 | #define B43_BCMA_CLKCTLST_PHY_PLL_REQ 0x00000200 | ||
479 | #define B43_BCMA_CLKCTLST_80211_PLL_ST 0x01000000 | ||
480 | #define B43_BCMA_CLKCTLST_PHY_PLL_ST 0x02000000 | ||
481 | |||
476 | /* BCMA 802.11 core specific IO Control (BCMA_IOCTL) flags */ | 482 | /* BCMA 802.11 core specific IO Control (BCMA_IOCTL) flags */ |
477 | #define B43_BCMA_IOCTL_PHY_CLKEN 0x00000004 /* PHY Clock Enable */ | 483 | #define B43_BCMA_IOCTL_PHY_CLKEN 0x00000004 /* PHY Clock Enable */ |
478 | #define B43_BCMA_IOCTL_PHY_RESET 0x00000008 /* PHY Reset */ | 484 | #define B43_BCMA_IOCTL_PHY_RESET 0x00000008 /* PHY Reset */ |
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 05682736e466..c4d0cc582555 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -1189,10 +1189,15 @@ static void b43_bcma_phy_reset(struct b43_wldev *dev) | |||
1189 | 1189 | ||
1190 | static void b43_bcma_wireless_core_reset(struct b43_wldev *dev, bool gmode) | 1190 | static void b43_bcma_wireless_core_reset(struct b43_wldev *dev, bool gmode) |
1191 | { | 1191 | { |
1192 | u32 req = B43_BCMA_CLKCTLST_80211_PLL_REQ | | ||
1193 | B43_BCMA_CLKCTLST_PHY_PLL_REQ; | ||
1194 | u32 status = B43_BCMA_CLKCTLST_80211_PLL_ST | | ||
1195 | B43_BCMA_CLKCTLST_PHY_PLL_ST; | ||
1196 | |||
1192 | b43_device_enable(dev, B43_BCMA_IOCTL_PHY_CLKEN); | 1197 | b43_device_enable(dev, B43_BCMA_IOCTL_PHY_CLKEN); |
1193 | bcma_core_set_clockmode(dev->dev->bdev, BCMA_CLKMODE_FAST); | 1198 | bcma_core_set_clockmode(dev->dev->bdev, BCMA_CLKMODE_FAST); |
1194 | b43_bcma_phy_reset(dev); | 1199 | b43_bcma_phy_reset(dev); |
1195 | bcma_core_pll_ctl(dev->dev->bdev, 0x300, 0x3000000, true); | 1200 | bcma_core_pll_ctl(dev->dev->bdev, req, status, true); |
1196 | } | 1201 | } |
1197 | #endif | 1202 | #endif |
1198 | 1203 | ||