On Mon, Dec 16, 2019 at 08:13:23AM -0800, Richard Cochran wrote: > This patch add a new binding that allows non-PHY MII time stamping > devices to find their buses. The new documentation covers both the > generic binding and one upcoming user. > > Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> > Reviewed-by: Andrew Lunn <andrew@xxxxxxx> > --- > .../devicetree/bindings/ptp/ptp-ines.txt | 35 ++++++++++++++++ > .../devicetree/bindings/ptp/timestamper.txt | 41 +++++++++++++++++++ > 2 files changed, 76 insertions(+) > create mode 100644 Documentation/devicetree/bindings/ptp/ptp-ines.txt > create mode 100644 Documentation/devicetree/bindings/ptp/timestamper.txt > > diff --git a/Documentation/devicetree/bindings/ptp/ptp-ines.txt b/Documentation/devicetree/bindings/ptp/ptp-ines.txt > new file mode 100644 > index 000000000000..4c242bd1ce9c > --- /dev/null > +++ b/Documentation/devicetree/bindings/ptp/ptp-ines.txt > @@ -0,0 +1,35 @@ > +ZHAW InES PTP time stamping IP core > + > +The IP core needs two different kinds of nodes. The control node > +lives somewhere in the memory map and specifies the address of the > +control registers. There can be up to three port handles placed as > +attributes of PHY nodes. These associate a particular MII bus with a > +port index within the IP core. > + > +Required properties of the control node: > + > +- compatible: "ines,ptp-ctrl" > +- reg: physical address and size of the register bank > + > +Required format of the port handle within the PHY node: > + > +- timestamper: provides control node reference and > + the port channel within the IP core > + > +Example: > + > + tstamper: timestamper@60000000 { > + compatible = "ines,ptp-ctrl"; > + reg = <0x60000000 0x80>; > + }; > + > + ethernet@80000000 { > + ... > + mdio { > + ... > + ethernet-phy@3 { > + ... > + timestamper = <&tstamper 0>; > + }; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/ptp/timestamper.txt b/Documentation/devicetree/bindings/ptp/timestamper.txt > new file mode 100644 > index 000000000000..70d636350582 > --- /dev/null > +++ b/Documentation/devicetree/bindings/ptp/timestamper.txt > @@ -0,0 +1,41 @@ > +Time stamps from MII bus snooping devices > + > +This binding supports non-PHY devices that snoop the MII bus and > +provide time stamps. In contrast to PHY time stamping drivers (which > +can simply attach their interface directly to the PHY instance), stand > +alone MII time stamping drivers use this binding to specify the > +connection between the snooping device and a given network interface. > + > +Non-PHY MII time stamping drivers typically talk to the control > +interface over another bus like I2C, SPI, UART, or via a memory mapped > +peripheral. This controller device is associated with one or more > +time stamping channels, each of which snoops on a MII bus. > + > +The "timestamper" property lives in a phy node and links a time > +stamping channel from the controller device to that phy's MII bus. > + > +Example: > + > + tstamper: timestamper@10000000 { unit-address needs a reg property. > + compatible = "ines,ts-ctrl"; Should be ines,ptp-ctrl? > + }; > + > + ethernet@20000000 { > + mdio { > + ethernet-phy@1 { > + timestamper = <&tstamper 0>; > + }; > + }; > + }; > + > + ethernet@30000000 { > + mdio { > + ethernet-phy@2 { > + timestamper = <&tstamper 1>; > + }; > + }; > + }; > + > +In this example, time stamps from the MII bus attached to phy@1 will > +appear on time stamp channel 0 (zero), and those from phy@2 appear on > +channel 1. > -- > 2.20.1 >