diff options
author | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2008-07-18 11:24:39 +0000 |
---|---|---|
committer | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2008-07-18 11:24:39 +0000 |
commit | 59be9024996eb24e2a661699033ff41819859585 (patch) | |
tree | ac0b0327d814ee1b4294365f41162c029b7d67e6 | |
parent | resolved conflict (diff) | |
download | rtems-59be9024996eb24e2a661699033ff41819859585.tar.bz2 |
mpc8249eamds support for Gigabit Ethernet works again
initialize PHY registers late enough, so that phy access is possible
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen83xx/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen83xx/network/network.c | 9 | ||||
-rw-r--r-- | c/src/lib/libcpu/powerpc/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libcpu/powerpc/mpc83xx/network/tsec.c | 19 |
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 */ |