On Fri, Aug 04, 2023 at 04:45:22PM +0800, Choong Yong Liang wrote: > Intel platforms’ integrated Gigabit Ethernet controllers support > 2.5Gbps mode statically using BIOS programming. In the current > implementation, the BIOS menu provides an option to select between > 10/100/1000Mbps and 2.5Gbps modes. Based on the selection, the BIOS > programs the Phase Lock Loop (PLL) registers. The BIOS also read the > TSN lane registers from Flexible I/O Adapter (FIA) block and provided > 10/100/1000Mbps/2.5Gbps information to the stmmac driver. But > auto-negotiation between 10/100/1000Mbps and 2.5Gbps is not allowed. > The new proposal is to support auto-negotiation between 10/100/1000Mbps > and 2.5Gbps . Auto-negotiation between 10, 100, 1000Mbps will use > in-band auto negotiation. Auto-negotiation between 10/100/1000Mbps and > 2.5Gbps will work as the following proposed flow, the stmmac driver reads > the PHY link status registers then identifies the negotiated speed. > Based on the speed stmmac driver will identify TSN lane registers from > FIA then send IPC command to the Power Management controller (PMC) > through PMC driver/API. PMC will act as a proxy to programs the > PLL registers. Have you considered using out of band for all link modes? You might end up with a cleaner architecture, and not need any phylink/phylib hacks. Andrew