[U-Boot-Users] IBM/AMCC 440EP ethernet question
mgazic at earthlink.net
Wed Feb 16 06:09:52 CET 2005
I'm using a 440EP with MII mode selected, and a Broadcom AC101L phy.
Autonegotiation was failing, so as an experiment, I tried replacing the
start of autonegotiation in 440gx_enet.c, with setting the speed
manually. I did a miiphy_write to PHY_BMCR (the control register) with
0x8100 (which should specify 10mbps, full duplex). The miiphy_write
returns 0 which means it doesn't think it failed, but when I look at
the value in the control register as spit out by miiphy_dump, it is
still 0x3000 (which is 100mbps and half-duplex), which is the same value
I always see there.
I don't think this is just a U-boot problem because I can duplicate
what's happening using just a Abatron BDI2000. When I write a
0x81002400 into the EMAC_STACR register (which should set the control
register of the phy to 0x8100), and then write a 0x00001400 into
EMAC_STACR (which should request a read of the same register), and then
look at the EMAC_STACR register in the debugger, it has the same 0x3000
as I see in U-Boot. It seems likely to me though that if anyone has
gotten the 440EP to work with MII in U-Boot, then they might be able to
shed some light on what is going wrong for me.
Any advice is appreciated,
More information about the U-Boot