Other Parts Discussed in Thread: TLK10034
I wonder if you could provide any help with an issue we're having using the TLK10031 to perform XAUI to XFI (10GBase-R) translation/converstion as per section 8.1 in the datasheet (-see Figure 8-1 page 123).
We have had some success in that we have the TLK10031 performing XAUI to XFI translation from a XAUI port on a MVL (Marvell) 6390X (10G) switch to a MVL 3310 PHY. However XFI to XAUI is not working. To get things to work in the TX direction :
ARM --> RGMII --> MVL 6390X --> XAUI -->(LS) TLK10031(HS) -> XFI -> MVL 3310 10G PHY -> SFP+ --> SM FIbre --> SFP+ --> 10G NIC --> Linux PC
we've configured the TLK10031 to operate in 10GBASE-R mode (ANEG disabled, Link training disabled). To do this we have configured the following register settings in the TLK10031 using Clause 45 MDIO :
metnet60_cl45++ w c 0x1e 0x0000 0x8610 # 1. Reset Device
metnet60_cl45++ w c 0x07 0x0000 0x2000 # 3. Disable ANEG
metnet60_cl45++ w c 0x01 0x0096 0x0000 # 4. Disable Link Training
metnet60_cl45++ w c 0x1e 0x8020 0x03ff # 5. KR training settings
metnet60_cl45++ w c 0x1e 0x000e 0x0008 # 7. Issue Data path reset
These setting are based on the following TI forum post :
Resetting ANEG and disabling link training is detailed in the datasheet, but I cannot find an explanation of what register 0x8020 does, and why we need to write 0x3ff to it!
Also, to investigate why RX is not working (XFI -> XAUI), we've used a 10G NIC card in a Linux PC to generate ARP requests (arping) , and configured the TLK10031 in Deep Remote Loopback like so:
<--(LS) TLK10031 (HS)<--- XFI <-- MVL 3310 10G PHY <--- SFP+ <--- SM FIbre <--- SFP+ <--- 10G NIC <--- Linux PC.
|
|
| Deep Remote Loopback - see Figure 5-6 in TLK10034 datasheet.
|
|
-->(LS) TLK10031 (HS)---> XFI --> MVL 3310 10G PHY ---> SFP+ ---> SM FIbre ---> SFP+ ---> 10G NIC ---> Linux PC.
This passes fine - the Linux PC sees a duplicate of the ARP. However, if
I extend the test to perform a loopback on the Switch port like so :
<--MVL 6390X XAUI <--(LS) TLK10031 (HS)<--- XFI <-- MVL 3310 10G PHY
<--- SFP+ <--- SM FIbre <--- SFP+ <--- 10G NIC <--- Linux PC.
|
|
| Marvell 10G Switch XAUI loopback
|
|
--> MVL 6390X XAUI-->(LS) TLK10031 (HS)---> XFI --> MVL 3310 10G PHY
---> SFP+ ---> SM FIbre ---> SFP+ ---> 10G NIC ---> Linux PC.
The ARP gets lost - indicating that it's not getting looped back.
Furthermore, when I look at the disagnostics on the XAUI port of the
6390X switch, I see that all lanes are synchronised and that the Link is
up. Furthermore, the PCS appears to be sending IDLE symbols, but not
receiving them.
Could it be that with the above register writes we are only disabling
ANEG and/OR link training on the RX diff pairs, but not the TX pairs.
Regards