I'm trying to connect serdes to sfp cage. Kernel config currently has option "sfp cage".
ethernet@0 {
compatible = "fsl,pfe-gemac-port";
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x0>;
fsl,gemac-bus-id = <0x0>;
fixed-link = <6 1 1000 0 0>;
fsl,mdio-mux-val = <0x0>;
phy-mode = "sgmii";
sfp = <0x19>;
};
sfp0 {
compatible = "sff,sfp";
i2c-bus = <0x1d>;
maximum-power-milliwatt = <0x7d0>;
phandle = <0x19>;
};
But still not work.
Can anybody help?
Hi, YipingWang.
https://community.nxp.com/t5/QorIQ/SGMII-to-SFP/m-p/729582#M5863
Here your answer is: The chip does not support SGMII for backplane/PHY-less use cases.
I have more than one board for bring-up, and such dts config have success in fiber connection between two our boards, but not to network equipment with optical port. Is any way to enable SGMII in SoC as serdes media interface but not MAC interface?
The statement in LS1012A User's Manual, Section 1.4.10.3 about PHY-less SGMII being unsupported, applies _only_ to Rev.1 silicon. In that revision, you must provide a common clock between the PHY and the MAC which is not always possible in backplanes. This requirement is the impact of the chip erratum A-010336 which is fixed in Rev. 2 Summarizing, if you are going to connect LS1012A Rev.2 via a 1Gbps backplane link, you are safe to do that. Note that the recommended SerDes mode is 1000Base-KX, not SGMII. Details can be found in LS1012ARM, Section 28.7.1.3.
1000Base-KX is recommended but not mandatory. If the link partner supports auto negotiation type SGMII, PHY side, then it is OK to connect it to LS in SGMII mode. If your switch supports only the MAC side of SGMII autoneg, then you still can connect it to your LS device, but you have to disable autoneg on the both sides. The disadvantage of this method is that the the hardware will not setup the link automatically, it will be the task of the software.
Please try the dts definition as the following.
ethernet@0 {
compatible = "fsl,pfe-gemac-port";
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x0>;
fsl,gemac-bus-id = <0x0>;
fixed-link = <0 1 1000 0 0>;
fsl,mdio-mux-val = <0x0>;
phy-mode = "sgmii";
};