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!