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);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to