Hello,I need to connect two PCIe development board via the Ethernet Marvell PHYs (88E1111) in order to validate an UDP solution (I'm using the TSE core). The thing is, Auto-Negociation between the two PHYs cannot complete, whereas it works fine connecting the two boards to an Ethernet switch. The link speed as to be 1000 Mbps. For programming the PHYs, here are the steps I'm performing: 1 - write 0x1A00 to PHY_0 register 9 (Manual Master, advertise 1000BASE-T full duplex) write 0x1200 to PHY_1 register 9 (Manual Slave, advertise 1000BASE-T full duplex) 2 - write 0x1340 to PHY_0 and PHY_1 register 0 (1000 Mbps, full duplex, enable Auto-Negociation, restart Auto-Negociation) 3 - Wait for Auto-Negociation to complete by checking the bit 5 of the status register (register 1). This bit is actually never asserted by either of the two PHYs. Is it possible to directly connect the two Marvell PHYs? Is there a way to skip Auto-Negociation for a 1000 Mbps solution? Thanks a lot Florian
The only way to connect two links directly together is with a crossover. You can either use a crossover cable, or for the Marvell PHY, you can manually enable the crossover within the PHY. I can't remember which register this is inside the PHY. I'll have to look for it tomorrow. If you go back in time (say Quartus 7.1) you may find the old MAC driver which I think would enable the crossover in the PHY automatically if it couldn't negotiate.Jake
Thanks Jake it works better now!I set the register 16 (PHY specific Control Register) such that it "enables automatic crossover for all modes" in both PHYs, and the autonegiocation could complete. Thank you very much, Florian
can you please answer this simple question Marvel Alaska 88e1111 is software programmable? or hardware programmable only by changing low high states on its pin?
Hi everyone,I am establishing ethernet connection between my PC and my custom board. I have fixed my PC for 100mbps & Full Duplex. I am using TSE & Marvell 88E1111 at my custom board side. Auto-negotiation in TSE is enabled. When TSE auto-negotiate with my PC, 100mbps & half duplex connection is established. I want to establish a connection of 100mbps & full duplex. How to turn-off auto-negotiation in TSE and establishing a connection of 100mpbs & Full Duplex
Please do not multipost your question.The auto-negotiation is done by the PHY chip, not the TSE IP. You can control the negotiation process through the PHY chip's MDIO registers. Negotiating a half duplex link is rather odd though... If you connect your PC to another one, does it negotiate a full duplex? Did you try to change the cable? The PHY chip should negotiate a full duplex link by default, if the other side supports it.
I have fixed my PC for 100mbps & Full Duplex.I checked changing ethernet cable and PC. When I connect to hub and auto-negotiation is enable 100mbps & Full duplex connection is established. But when I connect my custom board directly to PC via cross ethernet cable, 100mbps & Half duplex is established. I wish to have 100mbps & Full duplex connection establishment for my project. I want to disable auto-negotiation on my custom-board to avoid any uncertainity. I am using Triple-speed Ethernet MAC, Marvell 88E1111 Phy on my custom board.
Then you should be able to disable autonegotiation and force a certain mode by using the MDIO registers 0 and 4. But you will also have to disable autonegotiation on the PC and set its mode manually
@DaixiwenThanks for the reply. I fixed my PC manually for 100mbps & Full Duplex mode. Now I have to fix 100mbps & Full Duplex mode on my custom board. Where can I find MDIO registers 0 and 4 ? How can I change MDIO registers 0 and 4 ? waiting for reply
Have a look at the Triple Speed Ethernet user manual, there is a register range that can be used to access the MDIO registers.You will need to tap into the driver, to access those registers after the PHY has been properly detected. The easiest is probably to go into the Marvel specific code and configure the registers there. The 88E1111 datasheet isn't publicly available, unfortunately, but the MDIO registers 0-7 are standard, so you can pick the datasheet of any other PHY chip to get a description of those registers.
@DaixiwenI am still unable to disable auto-negotiation. Please tell me how to do disable auto-negotiation and hot to set a particular mode of communication. (http://www.alteraforum.com/forum/member.php?u=4443)
Hi! I see this post for my question, and I find it interesting. I want connect two TSE-PHY MICREL-Ethernet Ports on my custom card each other. I used a cross cable. PROBLEM IS that PHYs never goes up If i close both Ethernet ports.
Instead, If I connect one or other to PC NIC , it works fine (I send and transmit frames from PC to TSE and vice-versa) (100 Mbps, Auto MDI/MDI-X default enabled)
Why PHYs connected togheter are always LINK OFF?????
There is another manouvre to do to wakeup TSE-PHY???
Thanks to everyone knows this question!