News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TEBF0808 SFP I2C pin to PS connection question

Started by adamdunc, April 01, 2017, 11:27:50 PM

Previous topic - Next topic

adamdunc

Hi,

I am trying to get the SFP interface working on Vivado 2016.4 starting from the Trenz 2016.4 reference design using the methodology from the recently release XAPP1305 from Xilinx.

http://www.wiki.xilinx.com/PS+and+PL+based+Ethernet+in+Zynq+MPSoC

I can verify through ILA that my PCS/PMA core is seeing auto-negotiation requests from my SFP module (GLC-T), but I am not able to get a link up and running as of yet. I noticed that the Xilinx XAPP1305 reference design ZCU102 board has their SFP I2C pins connected to I2C switch and then connected to the processor core I2C MIO pins. Can you tell me if the TEBF0808 SFP I2C pins are connected to the PS MIO pins? I can trace TEBF0808 SFP I2C pins to a similar I2C switch but then they go to a LCMX02 CPLD and I can't verify their connection back to a PS MIO pin.

Can you tell me which PS MIO signals are connected to the TEBF0808 SFP I2C pins. Are there any other configuration changes in the PS that I need to make in order to get the SFP I2C interface functional?

Thanks,
Adam

JH


adamdunc

John,

Thanks. I can see SFP_SCL and SFP_SDA connected to U16 on page 21. I don't see a direct connection though between the U16 I2C_SCL and I2C_SDA to the Zynq. It looks like I2C_SCL and I2C_SDA connect  to the CPLD U39. Can you verify that these I2C pins are connected to PS-I2C0?

Are there any settings I need to set in Vivado or anywhere else I need to make in order to make that the SFP I2C interface is accessible by the PS?

Thanks,
Adam 

JH

Hi,

if you use our reference design with the TEBF0808 settings, yes.
2C_SCL and I2C_SDA goes to B2B J3-102, 104 -> On TE0808 Schematic -> MIO38,39.
You can also check with your PS settings.

You must also configure TCA9548ARGER (U16) to the correct I2C bus.

br
John

amdis2004

Hello dear John,

I faced the same issue as you discussed earlier in this post, however mine is a little different, I wanna use the SFP connector just for its transceivers and drive them with Aurora IP core with vivado, and connect two boards together as Master/Slave.

--My platform is, TEBF0808 carrier board, and the module is TE0808 (xczu9eg) and I used design reference files in the download section on your website for vivado 2016.3.

However, I could not realize how to configure the correct I2C bus as you mentioned in the last post here? Isn't this okay when I put the I2C configuration as you post in design reference files in system-top.dts file in device-tree? as here -> https://wiki.trenz-electronic.de/display/PD/TE0808+StarterKit

could you please shed a light on this? is this possible to use SFP connector just as transceivers?

JH

Hi,
at first for U+ Zynq use newer Reference Design. Xilinx has implemented a lot of changes. 16.3 was on the beginning of U+ Zynq with a lot of bugs.

Newest one is 19.2. We have also IBERT Design available:

https://wiki.trenz-electronic.de/display/PD/TE0808+IBERT

FSBL source code location is described here:
https://wiki.trenz-electronic.de/display/PD/TE0808+IBERT#TE0808IBERT-Application
--> all our files are marked as TE_*

br
John

amdis2004

Dear John, Hi again and thanks for your quick support,

Actually we've been limited by our design because we have some IPCore that can not be updated and also we use TE0808-ES1 module which either is not supported by Vivado. that's why we use 2016.3 Vivado design suite.

So if I understood well you suggest changing the FSBL files? is that correct?


JH

Hi,
we have some older designs also for 16.3 which includes also FSBL template (can be load as local repository into SDK or you overwrite soure code of the default FSBL in your SDK project):
https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Modules_and_Module_Carriers/5.2x7.6/TE0808/Reference_Design/2016.3
https://wiki.trenz-electronic.de/display/PD/SDK+Projects#SDKProjects-CreateSDKProjectfromVivado
But I can't give much more support for this old design.

QuoteIPCore that can not be updated
Licence restrictions?

QuoteTE0808-ES1 module which either is not supported by Vivado
ES is supported up to 17.4 --> In the longer term,  you should switch to production release. ES has a lot of Xilinx erratas, it was rather for early access instead for long term usage .

br
John

amdis2004

Hello again,

to clarify more, we use this project on another board with the same ZynqUltrascale+ part number and it works, so at this point we sure that our platform is with some incompatibility or misconfiguration, I guess there are some issues for TEBF0808-03 (the carrier board) which I think is not related to Vivado software or ZynqUltrascale+ chip.

Anyway, thanks for your quick support and help.


JH

Hello,
Quotewe use this project on another board with the same ZynqUltrascale+ part number and it works
can you tell me the exact part number (package, speed grade...)? Also ES?  What's with timing of your PL design? 

https://shop.trenz-electronic.de/en/Download/?path=Trenz_Electronic/Modules_and_Module_Carriers/5.2x7.6/5.2x7.6_Carriers/TEBF0808/REV04/Documents

QuoteI guess there are some issues for TEBF0808-03 (the carrier board) which I think is not related to Vivado software or ZynqUltrascale+ chip
Changes which we have done between REV03 and REV04 are listed on the last page of the  schematics:
https://shop.trenz-electronic.de/en/Download/?path=Trenz_Electronic/Modules_and_Module_Carriers/5.2x7.6/5.2x7.6_Carriers/TEBF0808/REV04/Documents

Of course, not everything is always correct and not everything will be considered the first time. Also modules are not suitable for all applications, every connector influence signal quality...we also changed CPLD Firmware more the one time during the time (https://wiki.trenz-electronic.de/display/PD/TEBF0808+CPLD#TEBF0808CPLD-RevisionChanges).

But ES was only for Early Access and Xilinx has changed a lot of things for production release. So it was only recommendation from me to switch to a production release and newer vivado version.


To your original question, which I had never answered:
We never add driver to our design for "TCA9548ARGER (U16)" from the carrier. I2C configuration of SFP is in the most cases not need (the most optical cable didn't use control signals). The easiest way to test is, that you use a short passive SFP  copper  cable at first.

In case you use active optical cable, they are enable with current CPLD Firmware (SFPx_TX_DIS is low) and also with older one which shipped after  first quarter of 2017.

br
John


amdis2004

Hello Dear John,
Sorry for the late reply,

The problem was incorrect config in system-top.dtsi of I2C switch, I copied the correct one from wiki page and now GTH over SFP is working.

Thanks for your support

JH

Hi,
QuoteSorry for the late reply,
No Problem.

Thanks for posting the solution.

br
John