Re: [PATCH 07/21] dt-bindings: net: x-powers: add AC200 EPHY control
James Hilliard <[email protected]> Mon, 3 Aug 2026 12:03:27 -0600
| Newsgroups | dev.linux.lists.linux-sunxi,dev.linux.lists.mfd,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-rockchip,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <CADvTj4prV688JDR-QAuNd+jTVFyE9aicRaciqq0M6sB0V2GiXQ@mail.gmail.com> |
On Mon, Aug 3, 2026 at 7:40=E2=80=AFAM Andrew Lunn <[email protected]> wrote: > > > + phy-mode: > > + enum: > > + - mii > > + - rmii > > Despite the phy- bit, phy-mode is a MAC property, it defines the MII > the MAC uses. I would not expect to see this anywhere else. > > The PHY driver is told what MII to use, phydev->interface, which takes > the values PHY_INTERFACE_MODE_RMII, PHY_INTERFACE_MODE_MII etc. > > Please explain why you need this here, why is the MAC nodes phy-mode > property not sufficient. I have reworked this for v2. The phy-mode properties will be removed from both control bindings and their DT nodes, leaving the MAC node as the sole source of the interface mode. The PHY driver instead passes phydev->interface to the selected control provider. There is one ordering complication: the control block must be powered befor= e the Clause 22 PHY identification registers become accessible, which happens before a MAC has attached. Early discovery therefore uses the hardware's reset-default MII mode. For v2, I split the provider interface into separate power_on() and set_interface() operations. Once the MAC has supplied phydev->interface, th= e PHY reset path calls set_interface(). If the provider is already powered, this changes only the RMII_SEL bit; the normal phylib soft reset then completes the handoff. It does not repeat the full control-block power and reset sequence. > > Andrew