summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-07-18 11:24:39 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-07-18 11:24:39 +0000
commit59be9024996eb24e2a661699033ff41819859585 (patch)
treeac0b0327d814ee1b4294365f41162c029b7d67e6 /c
parentresolved conflict (diff)
downloadrtems-59be9024996eb24e2a661699033ff41819859585.tar.bz2
mpc8249eamds support for Gigabit Ethernet works again
initialize PHY registers late enough, so that phy access is possible
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/powerpc/gen83xx/ChangeLog5
-rw-r--r--c/src/lib/libbsp/powerpc/gen83xx/network/network.c9
-rw-r--r--c/src/lib/libcpu/powerpc/ChangeLog5
-rw-r--r--c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c19
4 files changed, 27 insertions, 11 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog b/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog
index d030c18f2a..1f94955ddf 100644
--- a/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog
+++ b/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog
@@ -1,6 +1,11 @@
2008-07-18 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
* network/network.c:
+ mpc8249eamds support for Gigabit Ethernet works again
+
+2008-07-18 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
+
+ * network/network.c:
mpc8249eamds uses gmii mode
2008-07-17 Ralf Corsépius <ralf.corsepius@rtems.org>
diff --git a/c/src/lib/libbsp/powerpc/gen83xx/network/network.c b/c/src/lib/libbsp/powerpc/gen83xx/network/network.c
index fb4aecfd9e..90a50bec6a 100644
--- a/c/src/lib/libbsp/powerpc/gen83xx/network/network.c
+++ b/c/src/lib/libbsp/powerpc/gen83xx/network/network.c
@@ -80,9 +80,9 @@ int BSP_tsec_attach
if (unitNumber == 1) {
/*
* init system I/O configuration registers
- * to ensure proper pin functions for TSEC1_RX_ER and TSEC1_TX_ER
+ * to ensure proper pin functions
*/
- mpc83xx.syscon.sicrh = mpc83xx.syscon.sicrh & ~0x02800000;
+ mpc83xx.syscon.sicrh = mpc83xx.syscon.sicrh & ~0x1F800000;
/*
* init port registers (GPIO2DIR) for TSEC1
*/
@@ -91,6 +91,11 @@ int BSP_tsec_attach
}
if (unitNumber == 2) {
/*
+ * init system I/O configuration registers
+ * to ensure proper pin functions
+ */
+ mpc83xx.syscon.sicrh = mpc83xx.syscon.sicrh & ~0x007f8000;
+ /*
* init port registers (GPIO2DIR) for TSEC2
*/
mpc83xx.gpio[0].gpdir = ((mpc83xx.gpio[0].gpdir & ~0x000FFFFF)
diff --git a/c/src/lib/libcpu/powerpc/ChangeLog b/c/src/lib/libcpu/powerpc/ChangeLog
index 13b1884e80..bb87f7d748 100644
--- a/c/src/lib/libcpu/powerpc/ChangeLog
+++ b/c/src/lib/libcpu/powerpc/ChangeLog
@@ -1,3 +1,8 @@
+2008-07-18 Thomas Doerfler <thomas.doerfler@embedded-brains.de>
+
+ * mpc83xx/network/tsec.c:
+ initialize PHY registers late enough, so that phy access is possible
+
2008-07-17 Thomas Doerfler <thomas.doerfler@embedded-brains.de>
* rtems/powerpc/powerpc.h:
diff --git a/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c b/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c
index 32812114ab..c7b3169d56 100644
--- a/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c
+++ b/c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c
@@ -1503,6 +1503,16 @@ static void mpc83xx_tsec_init
sc->reg_ptr->rctrl &= ~M83xx_TSEC_RCTRL_PROM;
}
+#if defined(HSC_CM01)
+ /*
+ * for HSC CM01: we need to configure the PHY to use maximum skew adjust
+ */
+
+ mpc83xx_tsec_mdio_write(-1,sc,31,1);
+ mpc83xx_tsec_mdio_write(-1,sc,28,0xf000);
+ mpc83xx_tsec_mdio_write(-1,sc,31,0);
+#endif
+
/*
* init timer so the "watchdog function gets called periodically
*/
@@ -1954,15 +1964,6 @@ static int mpc83xx_tsec_driver_attach
ifp->if_snd.ifq_maxlen = ifqmaxlen;
}
-#if defined(HSC_CM01)
- /*
- * for HSC CM01: we need to configure the PHY to use maximum skew adjust
- */
-
- mpc83xx_tsec_mdio_write(-1,sc,31,1);
- mpc83xx_tsec_mdio_write(-1,sc,28,0xf000);
- mpc83xx_tsec_mdio_write(-1,sc,31,0);
-#endif
/*
* Attach the interface
*/