Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / ptp / timestamper.txt
1 Time stamps from MII bus snooping devices
2
3 This binding supports non-PHY devices that snoop the MII bus and
4 provide time stamps.  In contrast to PHY time stamping drivers (which
5 can simply attach their interface directly to the PHY instance), stand
6 alone MII time stamping drivers use this binding to specify the
7 connection between the snooping device and a given network interface.
8
9 Non-PHY MII time stamping drivers typically talk to the control
10 interface over another bus like I2C, SPI, UART, or via a memory mapped
11 peripheral.  This controller device is associated with one or more
12 time stamping channels, each of which snoops on a MII bus.
13
14 The "timestamper" property lives in a phy node and links a time
15 stamping channel from the controller device to that phy's MII bus.
16
17 Example:
18
19         tstamper: timestamper@10000000 {
20                 compatible = "ines,ptp-ctrl";
21                 reg = <0x10000000 0x80>;
22         };
23
24         ethernet@20000000 {
25                 mdio {
26                         ethernet-phy@1 {
27                                 timestamper = <&tstamper 0>;
28                         };
29                 };
30         };
31
32         ethernet@30000000 {
33                 mdio {
34                         ethernet-phy@2 {
35                                 timestamper = <&tstamper 1>;
36                         };
37                 };
38         };
39
40 In this example, time stamps from the MII bus attached to phy@1 will
41 appear on time stamp channel 0 (zero), and those from phy@2 appear on
42 channel 1.