Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

b43: N-PHY: Implement MAC PHY clock set

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Gábor Stefanik and committed by
John W. Linville
d2730b2a e723ef30

+13 -1
+12 -1
drivers/net/wireless/b43/phy_n.c
··· 3074 3074 return b43_nphy_rev2_cal_rx_iq(dev, target, type, debug); 3075 3075 } 3076 3076 3077 + /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/MacPhyClkSet */ 3078 + static void b43_nphy_mac_phy_clock_set(struct b43_wldev *dev, bool on) 3079 + { 3080 + u32 tmslow = ssb_read32(dev->dev, SSB_TMSLOW); 3081 + if (on) 3082 + tmslow |= SSB_TMSLOW_PHYCLK; 3083 + else 3084 + tmslow &= ~SSB_TMSLOW_PHYCLK; 3085 + ssb_write32(dev->dev, SSB_TMSLOW, tmslow); 3086 + } 3087 + 3077 3088 /* 3078 3089 * Init N-PHY 3079 3090 * http://bcm-v4.sipsolutions.net/802.11/PHY/Init/N ··· 3185 3174 b43_phy_write(dev, B43_NPHY_BBCFG, tmp & ~B43_NPHY_BBCFG_RSTCCA); 3186 3175 b43_nphy_bmac_clock_fgc(dev, 0); 3187 3176 3188 - /* TODO N PHY MAC PHY Clock Set with argument 1 */ 3177 + b43_nphy_mac_phy_clock_set(dev, true); 3189 3178 3190 3179 b43_nphy_pa_override(dev, false); 3191 3180 b43_nphy_force_rf_sequence(dev, B43_RFSEQ_RX2TX);
+1
include/linux/ssb/ssb_regs.h
··· 97 97 #define SSB_TMSLOW_RESET 0x00000001 /* Reset */ 98 98 #define SSB_TMSLOW_REJECT_22 0x00000002 /* Reject (Backplane rev 2.2) */ 99 99 #define SSB_TMSLOW_REJECT_23 0x00000004 /* Reject (Backplane rev 2.3) */ 100 + #define SSB_TMSLOW_PHYCLK 0x00000010 /* MAC PHY Clock Control Enable */ 100 101 #define SSB_TMSLOW_CLOCK 0x00010000 /* Clock Enable */ 101 102 #define SSB_TMSLOW_FGC 0x00020000 /* Force Gated Clocks On */ 102 103 #define SSB_TMSLOW_PE 0x40000000 /* Power Management Enable */