> -----Original Message----- > From: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> > Sent: Tuesday, October 1, 2024 1:07 PM > To: Andrew Lunn <andrew@xxxxxxx>; Heiner Kallweit > <hkallweit1@xxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric > Dumazet <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo > Abeni <pabeni@xxxxxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Krzysztof > Kozlowski <krzk+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>; > Florian Fainelli <f.fainelli@xxxxxxxxx> > Cc: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>; kernel@xxxxxxxxxxxxxx; > linux-kernel@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; Russell King > <linux@xxxxxxxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx > Subject: [PATCH net-next v4 1/2] dt-bindings: net: ethernet-phy: Add timing- > role role property for ethernet PHYs > > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > This patch introduces a new `timing-role` property in the device tree bindings > for configuring the master/slave role of PHYs. This is essential for scenarios > where hardware strap pins are unavailable or incorrectly configured. > > The `timing-role` property supports the following values: > - `force-master`: Forces the PHY to operate as a master (clock source). > - `force-slave`: Forces the PHY to operate as a slave (clock receiver). > - `prefer-master`: Prefers the PHY to be master but allows negotiation. > - `prefer-slave`: Prefers the PHY to be slave but allows negotiation. > > The terms "master" and "slave" are retained in this context to align with the > IEEE 802.3 standards, where they are used to describe the roles of PHY > devices in managing clock signals for data transmission. In particular, the > terms are used in specifications for 1000Base-T and MultiGBASE-T PHYs, > among others. Although there is an effort to adopt more inclusive > terminology, replacing these terms could create discrepancies between the > Linux kernel and the established standards, documentation, and existing > hardware interfaces. > > Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> > Reviewed-by: Rob Herring (Arm) <robh@xxxxxxxxxx> > --- > changes v4: > - add "Reviewed-by: Rob Herring (Arm) <robh@xxxxxxxxxx>" > changes v3: > - rename "master-slave" to "timing-role" > changes v2: > - use string property instead of multiple flags > --- > .../devicetree/bindings/net/ethernet-phy.yaml | 21 +++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/ethernet-phy.yaml > b/Documentation/devicetree/bindings/net/ethernet-phy.yaml > index d9b62741a2259..da9eaa811d70f 100644 > --- a/Documentation/devicetree/bindings/net/ethernet-phy.yaml > +++ b/Documentation/devicetree/bindings/net/ethernet-phy.yaml > @@ -158,6 +158,27 @@ properties: > Mark the corresponding energy efficient ethernet mode as > broken and request the ethernet to stop advertising it. > > + timing-role: > + $ref: /schemas/types.yaml#/definitions/string > + enum: > + - force-master > + - force-slave > + - prefer-master > + - prefer-slave > + description: | > + Specifies the timing role of the PHY in the network link. This property is > + required for setups where the role must be explicitly assigned via the > + device tree due to limitations in hardware strapping or incorrect strap > + configurations. > + It is applicable to Single Pair Ethernet (1000/100/10Base-T1) and other > + PHY types, including 1000Base-T, where it controls whether the PHY > should > + be a master (clock source) or a slave (clock receiver). > + > + - 'force-master': The PHY is forced to operate as a master. > + - 'force-slave': The PHY is forced to operate as a slave. > + - 'prefer-master': Prefer the PHY to be master but allow negotiation. > + - 'prefer-slave': Prefer the PHY to be slave but allow negotiation. > + I would suggest to use "preferred" instead of "prefer" to be in sync with existing phy library macros. > pses: > $ref: /schemas/types.yaml#/definitions/phandle-array > maxItems: 1 > -- > 2.39.5 > Reviewed-by: Divya Koppera <divya.koppera@xxxxxxxxxxxxx>