PS SGMII DTs (ZynqMP only)

Linux Drivers

Release Date
2023-07-22

→ The DT node for PS SGMII is the same as any other configuration with phy-mode property set to "sgmii" and a phy node as seen below. In this case, the Linux SW(currently phylib, NOT phylink) ensures autonegotiation is performed with the PHY. In addition, PCS block inside of GEM will also negotiate and provide link status information in PCS_status register (to be read twice because of stick bits).

gem0 {
......
	phy-mode = <sgmii>;
	phy-handle = <&phya>;

	phya {
		reg = <0xa>;
	};
};

→ If there is no MDIO access to the SGMII PHY or if SFPs are used, then the phy-mode can be set to sgmii and fixed link node can be used instead of phy node. This means that the Linux SW assumes, there is no PHY or autoneg. PCS block will still attempt autoneg and update PCS_status register (to be read twice because of sticky bits).

→ Alternately, patch in SGMII fixed link AR mentioned above can be used (especially if there is no PHY) with "is-internal-pcspma" property and a fixed link node. In this case, both Linux SW and PCS block do not attempt autoneg and the link status in PCS_status register will always report link up.