Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-7]: src/sys/dev/mii Pull up following revision(s) (requested by j...



details:   https://anonhg.NetBSD.org/src/rev/7e8d0d73cf35
branches:  netbsd-7
changeset: 799263:7e8d0d73cf35
user:      snj <snj%NetBSD.org@localhost>
date:      Thu Apr 30 19:15:10 2015 +0000

description:
Pull up following revision(s) (requested by jmcneill in ticket #722):
        sys/dev/mii/rgephy.c: revision 1.39
        sys/dev/mii/rgephyreg.h: revision 1.8
when resetting RTL8211F, make sure to disable manual MDI mode

diffstat:

 sys/dev/mii/rgephy.c    |  13 ++++++++++---
 sys/dev/mii/rgephyreg.h |   5 ++++-
 2 files changed, 14 insertions(+), 4 deletions(-)

diffs (60 lines):

diff -r f6c4a24150e9 -r 7e8d0d73cf35 sys/dev/mii/rgephy.c
--- a/sys/dev/mii/rgephy.c      Thu Apr 30 14:02:09 2015 +0000
+++ b/sys/dev/mii/rgephy.c      Thu Apr 30 19:15:10 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rgephy.c,v 1.35.4.2 2015/03/21 16:58:31 snj Exp $      */
+/*     $NetBSD: rgephy.c,v 1.35.4.3 2015/04/30 19:15:10 snj Exp $      */
 
 /*
  * Copyright (c) 2003
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rgephy.c,v 1.35.4.2 2015/03/21 16:58:31 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rgephy.c,v 1.35.4.3 2015/04/30 19:15:10 snj Exp $");
 
 
 /*
@@ -619,7 +619,7 @@
 static void
 rgephy_reset(struct mii_softc *sc)
 {
-       uint16_t ssr;
+       uint16_t ssr, phycr1;
 
        mii_phy_reset(sc);
        DELAY(1000);
@@ -634,6 +634,13 @@
                        ssr &= ~RGEPHY_SSR_ALDPS;
                        PHY_WRITE(sc, RGEPHY_MII_SSR, ssr);
                }
+       } else if (sc->mii_mpd_rev == 6) {
+               /* RTL8211F */
+               phycr1 = PHY_READ(sc, RGEPHY_MII_PHYCR1);
+               if ((phycr1 & RGEPHY_PHYCR1_MDI_MMCE) != 0) {
+                       phycr1 &= ~RGEPHY_PHYCR1_MDI_MMCE;
+                       PHY_WRITE(sc, RGEPHY_MII_PHYCR1, phycr1);
+               }
        } else {
                PHY_WRITE(sc, 0x1F, 0x0000);
                PHY_WRITE(sc, 0x0e, 0x0000);
diff -r f6c4a24150e9 -r 7e8d0d73cf35 sys/dev/mii/rgephyreg.h
--- a/sys/dev/mii/rgephyreg.h   Thu Apr 30 14:02:09 2015 +0000
+++ b/sys/dev/mii/rgephyreg.h   Thu Apr 30 19:15:10 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rgephyreg.h,v 1.6.34.1 2015/03/21 16:58:31 snj Exp $   */
+/*     $NetBSD: rgephyreg.h,v 1.6.34.2 2015/04/30 19:15:10 snj Exp $   */
 
 /*
  * Copyright (c) 2003
@@ -56,6 +56,9 @@
 #define        RGEPHY_SSR_JABBER       0x0001  /* Jabber */
 
 /* RTL8211F */
+#define RGEPHY_MII_PHYCR1      0x18    /* PHY Specific control register 1 */
+#define RGEPHY_PHYCR1_MDI_MMCE __BIT(9)
+
 #define RGEPHY_MII_PHYSR       0x1a    /* PHY Specific status register */
 #define RGEPHY_PHYSR_ALDPS     __BIT(14)
 #define RGEPHY_PHYSR_MDI_PLUG  __BIT(13)



Home | Main Index | Thread Index | Old Index