1
Hi, all - could use a hand from PHY experts
We are bringing up a new board with a TLK105 PHY. We are successfully using MDIO to talk to it with Uboot drivers, but it will not establish link.
We have found that it continually oscillates the bit:
MDI-X mode as reported by the Auto-Negotiation state machine:
1 = MDI pairs swapped (Receive on TPTD pair, Transmit on TPRD pair)
0 = MDI pairs normal (Receive on TRD pair, Transmit on TPTD pair)
This bit will be affected by the settings of the AMDIX_EN and FORCE_MDIX bits in the PHYCR
register. When MDIX is enabled, but not forced, this bit will update dynamically as the Auto-MDIX
algorithm swaps between MDI and MDI-X configurations.
and sets the corresponding interrupt. We have tried setting the Fast Auto, Link Loss Recover, and Robust options in the CR1 reg but no help.
This effect stops if we clear the Auto-MDIX enable bit in the PHYCR, but that doesn't help establish link. Also, the Force option in PHYCR doesn't help.
It also tells us there is an Inverted Polarity and sets that interrupt as well, whenever we plug the other end of the cable into a receiving end. This clears on a reset.
WThe effect is the same when we reverse the polarity of the lines in our cable.
What is the proper init procedure for this chip that will allow it to work correctly?
Reg dump:
U-Boot > mdio read FEC 0x0
0 - 0x3100
U-Boot > mdio read FEC 0x1
1 - 0x7849
U-Boot > mdio read FEC 0x2
2 - 0x2000
U-Boot > mdio read FEC 0x3
3 - 0xa211
U-Boot > mdio read FEC 0x4
4 - 0x1e1
U-Boot > mdio read FEC 0x5
5 - 0x0
U-Boot > mdio read FEC 0x6
6 - 0x4
U-Boot > mdio read FEC 0x7
7 - 0x2001
U-Boot > mdio read FEC 0x8
8 - 0x0
U-Boot > mdio read FEC 0x9
9 - 0x7cf0
U-Boot > mdio read FEC 0xa
10 - 0x104
U-Boot > mdio read FEC 0xb
11 - 0x0
U-Boot > mdio read FEC 0xc
12 - 0x0
U-Boot > mdio read FEC 0xf
15 - 0x0
U-Boot > mdio read FEC 0x10
16 - 0x5002
U-Boot > mdio read FEC 0x11
17 - 0x109
U-Boot > mdio read FEC 0x12
18 - 0x0
U-Boot > mdio read FEC 0x13
19 - 0xa00
U-Boot > mdio read FEC 0x14
20 - 0x0
U-Boot > mdio read FEC 0x15
21 - 0x0
U-Boot > mdio read FEC 0x16
22 - 0x100
U-Boot > mdio read FEC 0x17
23 - 0x21
U-Boot > mdio read FEC 0x18
24 - 0x400
U-Boot > mdio read FEC 0x19
25 - 0x8001
U-Boot > mdio read FEC 0x1a
26 - 0x10
U-Boot > mdio read FEC 0x1b
27 - 0x7d
Regards,
TS