summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2009-08-24 05:00:07 +0000
committeralfred <alfred@FreeBSD.org>2009-08-24 05:00:07 +0000
commit6e5cab46627ee575948097c960a7ac4a82272fb0 (patch)
tree640b1497aba4b26974a53024cf46a5e8c50f543e /sys/dev/usb
parentd60feafc030e3cad292897c52e52a4749eda3578 (diff)
downloadFreeBSD-src-6e5cab46627ee575948097c960a7ac4a82272fb0.zip
FreeBSD-src-6e5cab46627ee575948097c960a7ac4a82272fb0.tar.gz
We used force all of the GPIO pins low first and then
enable the ones we want. This has been changed to better match the ADMtek's reference design to avoid setting the power-down configuration line of the PHY at the same time it is reset. Submitted by: John Hood via hps
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/net/if_aue.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/dev/usb/net/if_aue.c b/sys/dev/usb/net/if_aue.c
index 142780f..1a2ce70 100644
--- a/sys/dev/usb/net/if_aue.c
+++ b/sys/dev/usb/net/if_aue.c
@@ -484,7 +484,7 @@ aue_miibus_writereg(device_t dev, int phy, int reg, int data)
}
if (i == AUE_TIMEOUT)
- device_printf(sc->sc_ue.ue_dev, "MII read timed out\n");
+ device_printf(sc->sc_ue.ue_dev, "MII write timed out\n");
if (!locked)
AUE_UNLOCK(sc);
@@ -603,11 +603,14 @@ aue_reset(struct aue_softc *sc)
* to set the GPIO pins high so that the PHY(s) will
* be enabled.
*
- * Note: We force all of the GPIO pins low first, *then*
- * enable the ones we want.
+ * NOTE: We used to force all of the GPIO pins low first and then
+ * enable the ones we want. This has been changed to better
+ * match the ADMtek's reference design to avoid setting the
+ * power-down configuration line of the PHY at the same time
+ * it is reset.
*/
- aue_csr_write_1(sc, AUE_GPIO0, AUE_GPIO_OUT0|AUE_GPIO_SEL0);
- aue_csr_write_1(sc, AUE_GPIO0, AUE_GPIO_OUT0|AUE_GPIO_SEL0|AUE_GPIO_SEL1);
+ aue_csr_write_1(sc, AUE_GPIO0, AUE_GPIO_SEL0|AUE_GPIO_SEL1);
+ aue_csr_write_1(sc, AUE_GPIO0, AUE_GPIO_SEL0|AUE_GPIO_SEL1|AUE_GPIO_OUT0);
if (sc->sc_flags & AUE_FLAG_LSYS) {
/* Grrr. LinkSys has to be different from everyone else. */
OpenPOWER on IntegriCloud