mbox series

[net-next,v11,0/5] RGMII Internal delay common property

Message ID 20200624121605.18259-1-dmurphy@ti.com
Headers show
Series RGMII Internal delay common property | expand

Message

Dan Murphy June 24, 2020, 12:16 p.m. UTC
Hello

The RGMII internal delay is a common setting found in most RGMII capable PHY
devices.  It was found that many vendor specific device tree properties exist
to do the same function. This creates a common property to be used for PHY's
that have internal delays for the Rx and Tx paths.

If the internal delay is tunable then the caller needs to pass the internal
delay array and the return will be the index in the array that was found in
the firmware node.

If the internal delay is fixed then the caller only needs to indicate which
delay to return.  There is no need for a fixed delay to add device properties
since the value is not configurable. Per the ethernet-controller.yaml the
interface type indicates that the PHY should provide the delay.

This series contains examples of both a configurable delay and a fixed delay.

Dan Murphy (5):
  dt-bindings: net: Add tx and rx internal delays
  net: phy: Add a helper to return the index for of the internal delay
  dt-bindings: net: Add RGMII internal delay for DP83869
  net: dp83869: Add RGMII internal delay configuration
  net: phy: DP83822: Add setting the fixed internal delay

 .../devicetree/bindings/net/ethernet-phy.yaml | 12 +++
 .../devicetree/bindings/net/ti,dp83869.yaml   | 16 ++-
 drivers/net/phy/dp83822.c                     | 79 +++++++++++++--
 drivers/net/phy/dp83869.c                     | 53 +++++++++-
 drivers/net/phy/phy_device.c                  | 99 +++++++++++++++++++
 include/linux/phy.h                           |  4 +
 6 files changed, 249 insertions(+), 14 deletions(-)

Comments

David Miller June 25, 2020, 11:05 p.m. UTC | #1
From: Dan Murphy <dmurphy@ti.com>
Date: Wed, 24 Jun 2020 07:16:00 -0500

> The RGMII internal delay is a common setting found in most RGMII capable PHY
> devices.  It was found that many vendor specific device tree properties exist
> to do the same function. This creates a common property to be used for PHY's
> that have internal delays for the Rx and Tx paths.
> 
> If the internal delay is tunable then the caller needs to pass the internal
> delay array and the return will be the index in the array that was found in
> the firmware node.
> 
> If the internal delay is fixed then the caller only needs to indicate which
> delay to return.  There is no need for a fixed delay to add device properties
> since the value is not configurable. Per the ethernet-controller.yaml the
> interface type indicates that the PHY should provide the delay.
> 
> This series contains examples of both a configurable delay and a fixed delay.

Series applied, thank you.