[U-Boot-Users] FEC problem on MPC5200 board (Men PP01)
Felipe Gil Castiñeira
xil at det.uvigo.es
Wed Jan 4 17:00:55 CET 2006
Hi everyone!
I am porting U-Boot to "Men mikro elektronik" PP01 module (MPC5200). The
FEC is integrated on the MPC5200 and the PHY is a LXT971ALE transceiver.
U-Boot boots and recognizes the Ethernet device (I can read the PHY
transceiver registers, change the LED status, etc.), but when I try to
ping a target the system freezes (and the Watchdog resets the board).
The behavior is just the same with tftp or bootp.
I am sure it is not a hardware problem, as I can transfer files (for
example u-boot.bin) from a computer to the same module using the
original monitor (MENMON).
>From the debugging information *it seems the code fails in the function
"mpc5xxx_fec_recv"*. Furthermore, analyzing the network with Ethereal I
can observe an ARP request generated by the PING and the corresponding
answer (at this moment the watchdog resets the board). If I ping a non
existent address the timer expires and I receive a "ping failed; host
192.168.1.25 is not alive" (Ethereal detects the ARP request, but of
course, there is not an ARP answer).
Any idea? Thanks in advance.
Best regards,
Felipe.
P.S.: I paste below the debugging info
*======================================================*
*Ping to a non existent address (No answer)*
*======================================================*
=> ping 192.168.1.22
Mii reg 0: 0x0000
Mii reg 1: 0x0000
Mii reg 2: 0x0000
Mii reg 3: 0x0000
Mii reg 4: 0x0000
Mii reg 5: 0x0000
Mii reg 6: 0x0000
Mii reg 7: 0x0000
Mii reg 8: 0x0000
Mii reg 16: 0x0000
Mii reg 17: 0x0000
Mii reg 18: 0x0000
Mii reg 19: 0x0000
Mii reg 20: 0x0000
Ethernet task stopped
mpc5xxx_fec_init... Begin
tfifo_status: 0x00010000
tfifo_alarm: 0x00000080
Mii reg 0: 0x1000
Mii reg 1: 0x782d
Mii reg 2: 0x0013
Mii reg 3: 0x78e2
Mii reg 4: 0x01e1
Mii reg 5: 0x41e1
Mii reg 6: 0x0007
Mii reg 7: 0x2001
Mii reg 8: 0x0000
Mii reg 16: 0x0084
Mii reg 17: 0x4780
Mii reg 18: 0x0000
Mii reg 19: 0x0000
Mii reg 20: 0x0422
mpc5xxx_fec_init... Done
Using FEC ETHERNET device
sending ARP for c0a80116
ARP broadcast 1
tbd status: 0x0000
tbd_scrub: fec->cleanTbdNum = 48, fec->usedTbdIndex = 0
Tx Buffer Descriptor ring (tbd) limpo
SDMA_TASK_ENABLE, fec->tbdIndex = 1
+
------------------------------------------------------------------------------------------------------------------------------------------2
tbd status: 0x0c00
tbd_scrub: fec->cleanTbdNum = 47, fec->usedTbdIndex = 0
SDMA_TASK_ENABLE, fec->tbdIndex = 2
+
------------------------------------------------------------------------------------------------------------------------------------------0
Mii reg 1: 0x782d
Mii reg 2: 0x0013
Mii reg 3: 0x78e2
Mii reg 4: 0x01e1
Mii reg 5: 0x41e1
Mii reg 6: 0x0007
Mii reg 7: 0x2001
Mii reg 8: 0x0000
Mii reg 16: 0x0084
Mii reg 17: 0x4780
Mii reg 18: 0x0000
Mii reg 19: 0x0000
Mii reg 20: 0x0422
Ethernet task stopped
ping failed; host 192.168.1.22 is not alive
=>
*======================================================*
*Ping to a existent address *
*======================================================*
=> ping 192.168.1.1
Mii reg 0: 0x1000
Mii reg 1: 0x782d
Mii reg 2: 0x0013
Mii reg 3: 0x78e2
Mii reg 4: 0x01e1
Mii reg 5: 0x41e1
Mii reg 6: 0x0007
Mii reg 7: 0x2001
Mii reg 8: 0x0000
Mii reg 16: 0x0084
Mii reg 17: 0x4780
Mii reg 18: 0x0000
Mii reg 19: 0x0000
Mii reg 20: 0x0422
Ethernet task stopped
mpc5xxx_fec_init... Begin
tfifo_status: 0x00010000
tfifo_alarm: 0x00000080
Mii reg 0: 0x1000
Mii reg 1: 0x782d
Mii reg 2: 0x0013
Mii reg 3: 0x78e2
Mii reg 4: 0x01e1
Mii reg 5: 0x41e1
Mii reg 6: 0x0007
Mii reg 7: 0x2001
Mii reg 8: 0x0000
Mii reg 16: 0x0084
Mii reg 17: 0x4780
Mii reg 18: 0x0000
Mii reg 19: 0x0000
Mii reg 20: 0x0422
mpc5xxx_fec_init... Done
Using FEC ETHERNET device
sending ARP for c0a80101
ARP broadcast 1
tbd status: 0x0000
tbd_scrub: fec->cleanTbdNum = 48, fec->usedTbdIndex = 0
Tx Buffer Descriptor ring (tbd) limpo
SDMA_TASK_ENABLE, fec->tbdIndex = 1
+ <<<----After the "+" the system hangs.
More information about the U-Boot
mailing list