dt-bindings: ptp: Introduce MII time stamping devices.
authorRichard Cochran <richardcochran@gmail.com>
Thu, 26 Dec 2019 02:16:17 +0000 (18:16 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 26 Dec 2019 03:51:33 +0000 (19:51 -0800)
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@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/devicetree/bindings/ptp/ptp-ines.txt [new file with mode: 0644]
Documentation/devicetree/bindings/ptp/timestamper.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/ptp/ptp-ines.txt b/Documentation/devicetree/bindings/ptp/ptp-ines.txt
new file mode 100644 (file)
index 0000000..4c242bd
--- /dev/null
@@ -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 (file)
index 0000000..fc550ce
--- /dev/null
@@ -0,0 +1,42 @@
+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 {
+               compatible = "ines,ptp-ctrl";
+               reg = <0x10000000 0x80>;
+       };
+
+       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.