Quantcast
Channel: Embedded Community : All Content - All Communities
Viewing all articles
Browse latest Browse all 3140

SGMII Auto-negotiation failure between i350-am2 and i347-at4

$
0
0

Hi!

 

I've made two board connected via SAS connectors.

 

Board 1 - i.MX6Q with i350

Board 2 - i347-AT4, Two port of RJ-45, Power circuitary

 

Board 1 and Board 2 connected via SAS connector.

 

SAS Connector does not used for SAS/SATA but two pair of SGMII signal.... It's like Seagate Kinetic.

 

Everything except SGMII working fine. I need to mod igb driver to force link setup for SGMII get working.

 

I found this code in igb_setup_loopback_test(), pasted into igb_copper_link_autoneg()

 

u32 reg;

/* Set PCS register for forced speed */

reg = rd32(E1000_PCS_LCTL);

reg &= ~E1000_PCS_LCTL_AN_ENABLE;     /* Disable Autoneg*/

reg |= E1000_PCS_LCTL_FLV_LINK_UP |   /* Force link up */

       E1000_PCS_LCTL_FSV_1000 |      /* Force 1000    */

       E1000_PCS_LCTL_FDV_FULL |      /* SerDes Full duplex */

       E1000_PCS_LCTL_FSD |           /* Force Speed */

       E1000_PCS_LCTL_FORCE_LINK;     /* Force Link */

wr32(E1000_PCS_LCTL, reg);

 

And then, ethernet is working now...

 

Q. SGMII Auto-negotiation is not working. How can i this feature get working? What should i inspect?

 

Thanks. Have a nice day!


Viewing all articles
Browse latest Browse all 3140

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>