SFP of 1000Base-X and SFP of 100Base-FX Connecting with SGMII of LS1021A

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SFP of 1000Base-X and SFP of 100Base-FX Connecting with SGMII of LS1021A

4,186 Views
jamessun
Contributor I

 

The SerDes high speed "SerDes Receive Data" and "SerDes Transmit Data" ports work with 1000Base-X signals of SFP. So no PHY is needed between the SFP and the SGMII ports of the LS1021A. Please confirm.

 

Now if the same SFP cage is plugged in by a 100Base-FX SFP, can the high speed data lines from the SFP work with the SerDes port( SerDes Receive Data" and "SerDes Transmit Data") of the LS1021A? Is it necessary to place a PHY between the SFP and the SerDes ports of the LS1021A for this lower speed? If yes, please make recommendations.

 

Labels (1)
0 Kudos
7 Replies

2,545 Views
bpe
NXP Employee
NXP Employee

What LS1021A SerDes supports is SGMII, which is by definition an interface between

a MAC and a PHY. It is, however, correct, that SGMII is based on

1000Base-X and uses the same data encoding at PCS level as 1000Base-X.

Therefore, the answer to your question about SFP support is, if the

SFP module you are going to use is electrically compatible to LS1021A

SerDes Signals in SGMII mode (refer to LS1021A Hardware Specifications),

then it can be interfaced to LS1021A directly.

Regarding 100Base-FX, this specification uses a totally different

PCS and is not compatible with LS1021A SerDes. Note, SGMII internally stays

at 1000Mbps if the connected PHY negotiated to a lower rate. Rate

adaptation is achieved by repeating 1000Base-X PCS symbols.

More details can be found in SGMII specification and Freescale

Application Note AN3869.

Have a great day,
Platon

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,460 Views
michaelcolon
Contributor I

Hi Platon,

I'm hoping to revive this discussion 8 years later.

I'd like to use a Cisco GLC-GE-100FX SFP module with a SolidRun LX2160 COM for a legacy application.  The processor is configured for 1 gigabit SFP ports (SERDES 4_5_2). When I plug the SFP module in, I get the following messages in the kernel log:

[ 6009.733804] sfp sfp-2: module CISCO-ACCELINK RTXM139-300-C88 rev 1.0 sn ACW20290372 dc 160714
[ 6009.733825] fsl_dpaa2_eth dpni.1 eth1: validation with support 0000000,00000000,00006440 failed: -22

My impression is that this is a software driver issue rather than a hardware issue since the GLC-GE-100FX is specifically designed to be used with 1 gigabit SFP ports. My guess is that the driver has to repeat each byte 10 times on Tx and ignore 9 of every 10 bytes on Rx.

Am I right that it's a driver issue, or is it something else? If it's a driver issue, is there a driver that supports the GLC-GE-100FX, or would I have to write my own?

Thank you

0 Kudos

1,422 Views
stadium_aquino
Contributor IV

> My impression is that this is a software driver issue rather than a hardware issue

Could be

> [ 6009.733825] fsl_dpaa2_eth dpni.1 eth1: validation with support 0000000,00000000,00006440 failed: -22

This is the following link modes:

ETHTOOL_LINK_MODE_Autoneg_BIT | ETHTOOL_LINK_MODE_FIBRE_BIT | ETHTOOL_LINK_MODE_Pause_BIT | ETHTOOL_LINK_MODE_Asym_Pause_BIT

So the problem is that Linux cannot determine what link modes (e.g. ETHTOOL_LINK_MODE_100baseFX_Full_BIT) the SFP module supports. Can you post the output of `ethtool -m ethX`? Please also send an email to the Linux netdev mailing list .

0 Kudos

1,410 Views
michaelcolon
Contributor I

Below is the output of ethtool.  Does that give you any insight into the problem?

I will reach out to the Linux netdev list.

Thank you for your help,

Michael

ethtool -m eth1
Identifier : 0x03 (SFP)
Extended identifier : 0x04 (GBIC/SFP defined by 2-wire interface ID)
Connector : 0x07 (LC)
Transceiver codes : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Encoding : 0x02 (4B/5B)
BR, Nominal : 100MBd
Rate identifier : 0x00 (unspecified)
Length (SMF,km) : 0km
Length (SMF) : 0m
Length (50um) : 2000m
Length (62.5um) : 2000m
Length (Copper) : 0m
Length (OM3) : 0m
Laser wavelength : 1310nm
Vendor name : CISCO-ACCELINK
Vendor OUI : 00:1c:ad
Vendor PN : RTXM139-300-C88
Vendor rev : 1.0
Option values : 0x00 0x12
Option : RX_LOS implemented
Option : TX_DISABLE implemented
BR margin, max : 0%
BR margin, min : 0%
Vendor SN : ACW202904NW
Date code : 160716
Optical diagnostics support : No

0 Kudos

1,404 Views
stadium_aquino
Contributor IV

> Transceiver codes : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

Well, here's your first problem. Linux tries to figure out what modes are supported through these bytes (see sfp_parse_support in drivers/net/phy/sfp-bus.c), but they are all empty. There's a fallback to asking the SFP's phy about what it supports (see sfp_sm_mod_probe in drivers/net/phy/sfp.c), but that also requires some of these bytes to be filled in.

I think you may be able to fix this (or at least get started on it) by adding a quirk enabling the phy. Try setting sfp->mdio_protocol to MDIO_I2C_MARVELL_C22. Have a look at sfp_fixup_rollball for a similar example. Of course, this assumes a marvell-style phy. If there isn't a phy at the right address (I2C 0x56), try probing at other addresses and see if you can find it.

0 Kudos

1,442 Views
michaelcolon
Contributor I

P.S. I have not been able to locate a schematic diagram for the Cisco GLC-GE-100FX.  However, the attached datasheet from GigaTech for their compatible GLC-GE-100FX-GT SFP module shows that there is a PHY supporting SGMI on one side and 100FX on the other.

0 Kudos

2,545 Views
jamessun
Contributor I

Hi Platon,

I will place a PHY between the SGMII of SoC  LS1021A and the SFPs which could interface with 100FX and 1000-X devices.

Thanks for help,

James Sun

0 Kudos