summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/ptp/timestamper.txt
blob: fc550ce4d4ea18b949abddd3bcb99c4229d33a2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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.