FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
5918 Discussions

Cyclone III ethernet - use marvell

Altera_Forum
Honored Contributor II
1,043 Views

Hello,  

 

I'm a newbie in this forum 

 

I'm trying to made ethernet connection in cyclone III with the devices : 

EP3C120, with physical ethernet marvel 88E1111 and I use software eCos 1.0.8 lwip packages and controller greth  

I got physical base address is 0x80000900 

 

But there is problem with the hardware, it happens when I try to make initialization device greth.  

I try to write register mdio with function write_mii with 0x8000. then register mdio has shown 0x8000. but I try to  

read register mdio with read_mii, the mdio.data register has shown 0xFFFF.  

 

this the part of code I used it when the error is happen : 

write_mii(gi->phyaddr, 0, 0x8000, gi->regs); /* write 0x8000 to reg mdio to reset physical marvell */ 

 

/* this is the cause the infinite loop happen */ 

while ( (tmp=read_mii(gi->phyaddr,0, gi->regs)) & 0x8000) ; /* read reg mdio when the physical not busy */ 

 

then I use signal tap to look why the register mdio shown 0xFFFF. Its because after write_mii function is executed, the  

physical marvell has activity write register mdio, and it happens several times. and mdio.busy has shown '1'. it means 

physical always write to register mdio. 

 

I try to turn off the infinite loop in read_mii function, but it is not solve the problem. when I try to ping my board, it is unreacable  

 

I don't know this solution for this problem, can anybody help me ? 

Is there anyone who have datasheet 88E1111 Marvell ?, I found this datasheet only for the people who have access login in the www.marvell.com

 

regards
0 Kudos
0 Replies
Reply