Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
16 years ago

Cyclone III ethernet - use marvell

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
No RepliesBe the first to reply