RE: [PATCH net-next v4 1/2] dt-bindings: net: ethernet-phy: Add timing-role role property for ethernet PHYs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----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>






[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux