Hi,Guys,
We produced 200 pcs board, 10 out of them occurred strange issue below.
Using altera cyclone V soc for design.
After power up, system enter uboot, tftp server located in PC, which is connected with my board through RJ45.
Information printed from serial port is below:
EBR> setenv ipaddr 10.235.111.246 ; setenv serverip 10.235.111.204
EBR> tftp $ra_buf fct_pcba_init.scr && source $ra_buf
Waiting for PHY auto negotiation to complete. done
ENET Speed is 100 Mbps - FULL duplex connection
mii0:1 is connected to mii0. Reconnecting to mii1
Waiting for PHY auto negotiation to complete done
ENET Speed is 100 Mbps - FULL duplex connection
Using mii1 device
TFTP from server 10.235.111.204; our IP address is 10.235.111.246
Filename ‘fct_pcba_init.scr’.
Load address: 0xa000000
Loading: T T T T T T T T T T
Retry count exceeded; starting again
Using mii0 device
TFTP from server 10.235.111.204; our IP address is 10.235.111.246
Filename ‘fct_pcba_init.scr’.
Load address: 0xa000000
Loading: #
194.3 KiB/s
done
Bytes transferred = 399 (18f hex)
Executing script at 0a000000
BEGIN fct_pcba_init
PASS
According to the printed information, failed board will firstly try mii1 (not always, but sometime) “TTTTT” time out, then when it switches back to mii0 it will successes quickly.
For the board without failure, the board will directly using mii0 device not mii1 and test pass. Could someone give some advice? Why failed board sometime try mii1 not mii0? is there sth. wrong with auto negotiation?
Thanks in advance.