[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<CO1PR11MB47715E80B4261E5BDF86153BE2712@CO1PR11MB4771.namprd11.prod.outlook.com>
Date: Thu, 3 Oct 2024 10:49:56 +0000
From: <Divya.Koppera@...rochip.com>
To: <o.rempel@...gutronix.de>, <andrew@...n.ch>, <hkallweit1@...il.com>,
<davem@...emloft.net>, <edumazet@...gle.com>, <kuba@...nel.org>,
<pabeni@...hat.com>, <robh@...nel.org>, <krzk+dt@...nel.org>,
<conor+dt@...nel.org>, <f.fainelli@...il.com>
CC: <kernel@...gutronix.de>, <linux-kernel@...r.kernel.org>,
<netdev@...r.kernel.org>, <linux@...linux.org.uk>,
<devicetree@...r.kernel.org>
Subject: RE: [PATCH net-next v4 1/2] dt-bindings: net: ethernet-phy: Add
timing-role role property for ethernet PHYs
> -----Original Message-----
> From: Oleksij Rempel <o.rempel@...gutronix.de>
> Sent: Tuesday, October 1, 2024 1:07 PM
> To: Andrew Lunn <andrew@...n.ch>; Heiner Kallweit
> <hkallweit1@...il.com>; David S. Miller <davem@...emloft.net>; Eric
> Dumazet <edumazet@...gle.com>; Jakub Kicinski <kuba@...nel.org>; Paolo
> Abeni <pabeni@...hat.com>; Rob Herring <robh@...nel.org>; Krzysztof
> Kozlowski <krzk+dt@...nel.org>; Conor Dooley <conor+dt@...nel.org>;
> Florian Fainelli <f.fainelli@...il.com>
> Cc: Oleksij Rempel <o.rempel@...gutronix.de>; kernel@...gutronix.de;
> linux-kernel@...r.kernel.org; netdev@...r.kernel.org; Russell King
> <linux@...linux.org.uk>; devicetree@...r.kernel.org
> 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@...gutronix.de>
> Reviewed-by: Rob Herring (Arm) <robh@...nel.org>
> ---
> changes v4:
> - add "Reviewed-by: Rob Herring (Arm) <robh@...nel.org>"
> 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@...rochip.com>
Powered by blists - more mailing lists