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

TE0803 custom carrier and Si5338A setup

Started by joseer, January 14, 2020, 11:17:17 AM

Previous topic - Next topic

joseer

Hi,

Working on a custom carrier  board for the TE0803, I realised that there's a I2C (PLL_SCL / PLL_SDA) associated to the Si5338A.

After reading here: https://wiki.trenz-electronic.de/display/PD/TE0803+TRM#TE0803TRM-ProgrammablePLLClockGenerator this: "Si5338A OTP ROM is not programmed by default at delivery, so it is customers responsibility to either configure Si5338A during FSBL or then use Silicon Labs programmer." I'd like to double check:

Is this I2C line needed/mandatory for booting with the FSBL? do I need to multiplex to the main I2C line (I2C_SCL/I2C_SDA) like is done in the TEBF0808?

Thanks in advance.



JH

Hi,

multiplexer is optional (depends  what you want to connect to the I2C bus), but you need the feedback from MIO (which you use for I2C ) back to the SI I2C Pins on the B2B
If you need SI5338 or not depends on your design (PS and PL). System can also boot without SI, in case this output clks are not used in the design.

br
John

joseer

#2
Hi John,

Thanks for your quick reply.

So, just to clarify, I do need to connect the  SI I2C pins to the PS MIO I2C for feedback, what type of feedback is needed? is it managed by the FSBL?

On the other hand, is the TEBF0808 booting with or without SI? (I can see that the output clocks are off by default)

JH

Hi,
SI5338 is not programmed.

You can boot TE080x with TEBF0808 with and without SI --> depends on the design which is running on the ZynqMP.
Our Starterkit reference design use the SI5338. This PLL will be programmed via FSBL on our Starterkit reference design:
https://wiki.trenz-electronic.de/display/PD/TE0808+StarterKit#TE0808StarterKit-Application
https://wiki.trenz-electronic.de/display/PD/TE08087+StarterKit#TE0807StarterKit-Application
https://wiki.trenz-electronic.de/display/PD/TE0803+StarterKit#TE0803StarterKit-Application

br
John

joseer

Hi,

I'm using the kit (TE0803 with TEBF0808) and for simplicity I'd like to port the current SW design to our new custom carrier + TE0803 , and use same FSBL and flow. So I guess I'll have to make sure the SI I2C lines are connected to the main I2C bus.

Thanks. 

JH

Hi,
our FSBL setup up also I2C mux. Either you add same IC mux also to your PCB or you must remove this line in the FSBL template (it's only one line in the code).
SI5338 is used for some GTR reference CLKs in our reference design. --> you can also change GTR REF CLKs to B2B IO input (if enough are available depends on your interface which you use with GTR). There are a lot of different ways possible...

PS: You can download the altium project of the TEBF0808 carrier from the TEBF0808 download page.

br
John

joseer

#6
Hi,

I'll finally connect the SI straight to the I2C bus (no mux), where only one device more is connected, so I'd have to remove that line from the code, by the way, have the next lines to be removed/commented in "te_xfsbl_hooks_te0803.c" file ?:

  // change I2C switch to get access to SI5345
  xil_printf("Configure Carrier I2C Switch 0x77\r\n");
  Status = iic_write8(0x77, 0x00,  0x10);    // Configure I2C Switch
  if (Status != XFSBL_SUCCESS) {
     xil_printf("Error: Configure TEBF0808 I2C Switch 0x77 for TE0803 SI5338 access\r\n");
     goto END;
  }


Regarding GTRs reference clocks, the only interfaces I'm using are USB3 and ethernet and please correct me if I'm wrong but after looking the TEBF0808 schematic and Altium design, the SI clocks are no necessary for these interfaces, right?

If the SI clocks are not used in my design, and I also comment/remove the next SI setup from FSBL:

  xil_printf("Configure TE0808 SI5338\r\n");
  Status = si5338_init(0x70);                      // Configure clocks
  if (Status != XFSBL_SUCCESS) {
     xil_printf("Error: Configure Si5338 CLK\r\n");
     goto END;
  }


would the TE0803 boot?


JH

Hi,
Quote
Regarding GTRs reference clocks, the only interfaces I'm using are USB3 and ethernet and please correct me if I'm wrong but after looking the TEBF0808 schematic and Altium design, the SI clocks are no necessary for these interfaces, right?
USB3 use GTR --> Check REF CLK in the design, I haven't in my mind but I think it was generated by SI in the reference design for starterkit.

Quotewould the TE0803 boot?
I didn't know your carrier... but if it's the same like TEBF0808, excepted I2C mux, I think yes.

br
John

joseer

Hi John,

Quote from: JH on January 14, 2020, 02:03:30 PM
Hi,USB3 use GTR --> Check REF CLK in the design, I haven't in my mind but I think it was generated by SI in the reference design for starterkit.

I've just reviewed the TEBF0808 schematic (USB pages) and I can't see any SI clock for USB3, all clocks (PHY and HUB IC's) seem to be generated by local oscillators, please could you confirm this?

Thanks.

JH

Hi,

USB3 is GTR Lane1.
Open your  Vivado with your design and see which GTR  REF CLK is used for USB3.
Starterkit use 100MHz from REF CLK2 for GTR Lane1 in PS IP (See CLK section of the PS IP) --> PS_MGTREFCLK2_*_505 --> Netname B505_CLK2_* --> AC cupled   netname CLK3_* --> it's SI5338 CLK3

br
John

joseer

Hi John,

Thanks for that, I've just checked it, the REF CLK2 clock is used internally in the TE0803 for the PS GTR USB lines, so I wouldn't have to take care of this at PCB design level only that the data lines USB3_TXUP_ and USB3_RXUP_ are routed right?.

I'll have only to keep SI FSBL SW setup and make sure starts the clock for USB3 GTR lines.

JH

2 of the GTR REF inputs goes also to B2B so you can change PS settings and connecz 100MHz oscillator there.
I would suggest to connect I2C feedback and also one 100MHz on your board for GTR so you has both options in the future.
br
John

joseer

#12
Hi John,

Thanks for your time and help,

Yes, I'll make sure to connect the SI I2C feedback to the main I2C bus.

Quote from: JH on January 15, 2020, 12:48:29 PM
.... also one 100MHz on your board for GTR so you has both options in the future.

Just to clarify, you mean connect one of the B2B GTR ref clocks to an oscillator on my custom board? to have the future possibility to generate 100MHz  instead using the SI?

JH

yes.
There are 4 GTR REF CLK inputs which can be multiplexed --> see Vivado Design. 2 can be sourced by carrier and 2 are sourced by SI5338. For protocolls like USB3, PCIe, DP fix frequencies are needed, you can generate these freq with SI or use external from carrier.
br
John