UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
10,624 Views
Registered: ‎09-30-2011

Errata: VC709 SFP IIC Address

There is an odd siutation in which the Finisar and Xilinx documentation say different things and are both sort of right but 'sort of' is not good enough to get the device operating. 

 

In the VC709 User Guide, it states that "all SFP+ modules have the same address 0x50" and in the Finisar FCLF-8250/8251-3 product specification it states that the "1000Base-T physical layer IC can be accessed via the 2 wire serial bus at address ACh"

 

Confusing, yes?

 

In fact the truth is that the according to the Marvell 83E1111 data sheet, the first 2 bits of the 7 bit address of the device must be 1 and 0 and the rest are programmable by PHYADR[4:0]. A keen eye will note that the Xilinx-supplied value adheres to that rule but that the Finisar-supplied value does not. In fact the Finisar-supplied value has what appears to be an additional significant and unexpected 1 in the leftmost position. It turns out that (I presume) the good folks at Finisar tried to make your life easier by supplying complete 8 bit value you would likely use to write to the 83E1111 shifting the actual address to the left by 1 and setting the R/W bit to 0 for you.

 

The good folks at Xilinx provided the address with proper 7 bit orientation but the left the programmable part as zero.

 

So it appears that if you want to talk to the 83E1111 in the SFP via IIC, you must use the 7 bit address of 0x56 (not 0x50 and not 0xAC)

0 Kudos
6 Replies
Xilinx Employee
Xilinx Employee
10,488 Views
Registered: ‎08-01-2012

Re: Errata: VC709 SFP IIC Address

Moved the post to "Connectivity" forums board  to know relevant IP contributors opinion

________________________________________________

Please mark this post as an "Accept as solution" in case if it helped to resolve your query. So that it will help to other forum users to directly refer to the answer.

Give kudos to this post in case if you think the information is useful and reply oriented.

0 Kudos
10,450 Views
Registered: ‎01-08-2012

Re: Errata: VC709 SFP IIC Address


In the VC709 User Guide, it states that "all SFP+ modules have the same address 0x50"

 

It's not just the VC709 User Guide; that's the standard address for SFP+ modules, as defined by the SFP+ specification, SFF-8431.  Please note the following:

 

- There are actually two standard addresses for SFP/SFP+, and a module is expected to support both.

    One address is for a microcontroller (for control and dynamic status), the other is for an (EEP)ROM (for fixed information, e.g. serial number).

 

- The addresses are specified (in SFF-8431) in their shifted forms: A0h and A2h, which includes an appended zero bit.  You and I would know them better as 50 and 51 (hex).

 

The I2C standard and most I2C datasheets only describe the I2C address as a 7 bit binary number.  The first byte of an IIC transaction sends the 7 bit address and a 1 bit R/W flag, leading to two ways of turning the address into hex (one with the trailing bit and one without).  You will see both used in documentation, without any description of which method is being used.

Most of the documentation and software that I see uses the form without the trailing bit appended (i.e. 50 rather than A0).

 


In the VC709 User Guide, it states that "all SFP+ modules have the same address 0x50" and in the Finisar FCLF-8250/8251-3 product specification it states that the "1000Base-T physical layer IC can be accessed via the 2 wire serial bus at address ACh"

You're mixing the two types of address specification there.  AC is actually 56.

 

The Finisar FCLF-8250 family parts do not conform to that part of the SFP / SFP+ specifications and appear at address AC (shifted) or 56 (unshifted) rather than 50/51.  That's just the way it is, and you'll have to deal with it by writing your software so that it probes for the various addresses to determine which type of module has been plugged in.

 

 

Yes, I think it's fair to say that's confusing.

 

 

Allan

0 Kudos
10,443 Views
Registered: ‎01-08-2012

Re: Errata: VC709 SFP IIC Address

I'll clarify that last part about address probing.

 

The EEPROM at address 50 will describe the capabilities of the SFP plugin module.  The Finisar one has this EEPROM at the correct address, which means that your standard driver software will be able to read it and know its capabilities.

 

The driver does not need to do any sort of address scan on the I2C bus, it just needs to read the capabilities from address 50, and use this information to "special case" the address of the controller as 56 instead of 51.

 

 

We use similar parts in products here, and I don't remember that they caused much trouble.

 

Regards,

Allan

 

0 Kudos
10,419 Views
Registered: ‎09-30-2011

Re: Errata: VC709 SFP IIC Address

So I guess what you are saying is that the documentation is indeed, at best, unclear and actually unhelpful. So we agree.
0 Kudos
9,618 Views
Registered: ‎05-01-2009

Re: Errata: VC709 SFP IIC Address

I think you mean Finisar 8520, not Finisar 8250, correct? 

 

I have an 8520 module and it can be accessed at 0x50 and 0x56 which is probably why the xilinx reference design is not working if it is expecting the control to be at 0x51.

0 Kudos
9,572 Views
Registered: ‎01-08-2012

Re: Errata: VC709 SFP IIC Address

Yes, I meant Finisar FCMJ-8520.

 

Character transpostion typos are the bane of my online life.  I can typo faster than I can (proof)read.

0 Kudos