This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
Our system setup with the TLK10031 as shown below.
We want to operate TLK10031 at 10GBASE-KR mode. No optical module/cable.
The following is what I tried;
Now that I confirmed that FPGA side XAUI transceivers work in loopback mode, I disabled the loopback mode so that it can communicate with TLK10031 (Until now TLK10031's RESETN is kept at active low)
By reading the TLK10031 datasheet and different TI's E2E forum posts the following is done
Questions:
Thank you in advance for your time and support!
Hi Dhanasekaran,
Attached you will find a document with different procedures to initialize the TLK10232(Dual Channel) that is applicable for TLK10031 (Single Channel).
If these procedure does not work, please let us know to find out the cause of the issue.
0755.tlk10232_BringupProcedures_v2.pdf0638.tlk10232_BringupProcedures_v2.pdf
Best Regards,
Luis Omar Moran
High Speed Interface
SWAT Team
Hi Luis,
Appreciate your quick response. I have written to or read from all the registers as specified under the section “KR with Auto Negotiation, Link Training, FEC, with 156.25 MHz / 312.5 MHz Refclk” for 156.25 MHZ clock. But I have the following questions;
1. The register 30.150 does not exist in neither TLK10031 nor TLK10232. Is it supposed to be 1.150?
2. 30.36864 does not exist. Is it suppose to be 1.36864?
3. 30.36865 does not exist. Is it support to be 1.36865?
4. 30. .36869 does not exist. Is it suppose to be 1.36869?
5. Should 7.5.3.8 (page-94) of TLK10031 data sheet list the register address as 0x0008 instead of 0x0006?
When I was executing all the writes per the bring up procedure document, the XAUI RX lanes on FPGA side came up with sync and aligned signals asserted. But when I issued AN_RESTART, all those FPGA XAUI RX lanes went down. The auto negotiation also failed.
I followed all the writes up to restarting auto negotiation. But instead of initiating auto negotiation (Write 1’b1 to 7.0.9 AN_RESTART), I enabled low speed side shallow loopback (Write 1’b1 to 30.11.0). After that I issued (Write 16’b0008 to 30.14) to reset data path, just in case if this reset is needed. The RX XAUI lanes on FPGA were still in sync and aligned. But when I write a MAC frame with pay load of 66 bytes (total 80 bytes), I did not get anything back from TLK10031 even though the local shallow loopback mode bit reads ‘1’. What am I doing wrong?
I would ideally like to have the local shallow and deep loopback modes working before I work on the HS side.
NOTE : I have not written anything at 30.3 and 30.4 registers. I left them at their default values.
Appreciate your time and thanks for your support.
Hi Dhanasekaran,
Sorry for the delayed response. Please refer to the register map of the TLK10232 that is the same of TLK10031, in this document you will find all reserved registers to understand in a better way the bring up procedures. Even the TLK10031 is the same silicon just with a spin of the package.
If this this does not work, please perform a loopback test with PRBS to corroborate the correct behavior of the device.
Shallow loopback test (LS side):
1. Reset device (write a 1 to 0x1E.0000 bit 15 or assert RESET_N pin)
2. Make sure the reference clock selection (156.25 MHz or 312.5 MHz) is correct – this is done through register 0x1E.001D bit 12 (default is 156.25 MHz).
3. Select the LS_TEST_PATTERN and enable LS_TP_GEN_EN & LS_TP_VERIFY_EN
4. Issue a data path reset by writing 1b'1 0x1E.000E bit 3.
5. Verify LS_LN1_ERROR_COUNTER, LS_LN2_ERROR_COUNTER, LS_LN3_ERROR_COUNTER & LS_LN4_ERROR_COUNTER.
With this quick test we can discard a strange behavior in the LS side. If this test is without errors, please disable test pattern generation and verification and go ahead connected to the real input data.
As well, please poll out the registers when you detect errors to find out the cause of the issue. I would like to check CHANNEL_STATUS_1, LS_LNx_ERROR_COUNTER , LS_STATUS_1. Please send me the values of the registers when the device fails.
Best Regards,
Luis Omar Moran
High Speed Interface
SWAT Team