svn commit: r300188 - head/sys/dev/bwn
Adrian Chadd
adrian at FreeBSD.org
Thu May 19 04:28:51 UTC 2016
Author: adrian
Date: Thu May 19 04:28:49 2016
New Revision: 300188
URL: https://svnweb.freebsd.org/changeset/base/300188
Log:
[bwn] toggle the PHY clock during chip reset.
Tested:
* BCM4311, STA mode
* BCM4312, STA mode
* BCM4321, STA mode
* BCM4322, STA mde
Modified:
head/sys/dev/bwn/if_bwn.c
Modified: head/sys/dev/bwn/if_bwn.c
==============================================================================
--- head/sys/dev/bwn/if_bwn.c Thu May 19 04:23:54 2016 (r300187)
+++ head/sys/dev/bwn/if_bwn.c Thu May 19 04:28:49 2016 (r300188)
@@ -1359,13 +1359,15 @@ bwn_reset_core(struct bwn_mac *mac, int
/* Take PHY out of reset */
low = (siba_read_4(sc->sc_dev, SIBA_TGSLOW) | SIBA_TGSLOW_FGC) &
- ~BWN_TGSLOW_PHYRESET;
+ ~(BWN_TGSLOW_PHYRESET | BWN_TGSLOW_PHYCLOCK_ENABLE);
siba_write_4(sc->sc_dev, SIBA_TGSLOW, low);
siba_read_4(sc->sc_dev, SIBA_TGSLOW);
- DELAY(1000);
- siba_write_4(sc->sc_dev, SIBA_TGSLOW, low & ~SIBA_TGSLOW_FGC);
+ DELAY(2000);
+ low &= ~SIBA_TGSLOW_FGC;
+ low |= BWN_TGSLOW_PHYCLOCK_ENABLE;
+ siba_write_4(sc->sc_dev, SIBA_TGSLOW, low);
siba_read_4(sc->sc_dev, SIBA_TGSLOW);
- DELAY(1000);
+ DELAY(2000);
if (mac->mac_phy.switch_analog != NULL)
mac->mac_phy.switch_analog(mac, 1);
More information about the svn-src-all
mailing list