Messages in this thread | | | Date | Tue, 16 Apr 2024 20:09:50 -0700 | Subject | Re: [PATCH net-next v2 1/2] net: dsa: mt7530-mdio: read PHY address of switch from device tree | From | Florian Fainelli <> |
| |
On 4/16/2024 1:32 AM, Arınç ÜNAL wrote: > On 15/04/2024 18:30, Florian Fainelli wrote: >> >> >> On 4/13/2024 11:07 PM, Arınç ÜNAL via B4 Relay wrote: >>> From: Arınç ÜNAL <arinc.unal@arinc9.com> >>> >>> Read the PHY address the switch listens on from the reg property of the >>> switch node on the device tree. This change brings support for MT7530 >>> switches on boards with such bootstrapping configuration where the >>> switch >>> listens on a different PHY address than the hardcoded PHY address on the >>> driver, 31. >>> >>> As described on the "MT7621 Programming Guide v0.4" document, the MT7530 >>> switch and its PHYs can be configured to listen on the range of 7-12, >>> 15-20, 23-28, and 31 and 0-4 PHY addresses. >>> >>> There are operations where the switch PHY registers are used. For the >>> PHY >>> address of the control PHY, transform the MT753X_CTRL_PHY_ADDR constant >>> into a macro and use it. The PHY address for the control PHY is 0 >>> when the >>> switch listens on 31. In any other case, it is one greater than the PHY >>> address the switch listens on. >>> >>> Reviewed-by: Daniel Golle <daniel@makrotopia.org> >>> Tested-by: Daniel Golle <daniel@makrotopia.org> >>> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> >> >> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> >> >> I would go a step further and name phy_addr switch_mdio_addr, or >> something along those lines to clearly denote this is not a per-port >> PHY address neither a proper PHY device, but we've already had a >> similar discussion before about spelling this out clearly as a "pseudo >> PHY".... > > I am fine with calling the switch operating on an MDIO bus a psuedo-PHY. > But I don't believe this grants making up names on our own instead of using > the name described in IEEE Std 802.3-2022. The switch listens on a PHY > address on the MDIO bus.
The switch listens at a particular address on the MDIO bus, that is the key thing. Whether the addressable device happens to be an Ethernet/SATA/PCIe/USB PHY, an accelerometer, a light switch or an Ethernet switch does not matter as long as it is addressable over clause 22 and/or 45. For all that matters the switch's MDIO interface is not a PHY, otherwise its registers 0-15 would be abiding by the IEEE 802.3-2022 standard, and that is not the case.
> The description for the phy_addr member of the > mt753x_info structure clearly explains that so I don't see a reason to > change the variable name.
IMHO it is clearer to use mdiodev->addr through and through, the shorthand is not necessary and does not save that many characters to type in the first place. Saving a mdiodev pointer into mt7530_priv and accessing priv->mdiodev->addr would be 18 characters to type versus 14 with priv->phy_addr.
Anyway. -- Florian
| |