GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / net / micrel-ksz90x1.txt
1 Micrel KSZ9021/KSZ9031 Gigabit Ethernet PHY
2
3 Some boards require special tuning values, particularly when it comes
4 to clock delays. You can specify clock delay values in the PHY OF
5 device node. Deprecated, but still supported, these properties can
6 also be added to an Ethernet OF device node.
7
8 Note that these settings are applied after any phy-specific fixup from
9 phy_fixup_list (see phy_init_hw() from drivers/net/phy/phy_device.c),
10 and therefore may overwrite them.
11
12 KSZ9021:
13
14   All skew control options are specified in picoseconds. The minimum
15   value is 0, the maximum value is 3000, and it is incremented by 200ps
16   steps.
17
18   Optional properties:
19
20     - rxc-skew-ps : Skew control of RXC pad
21     - rxdv-skew-ps : Skew control of RX CTL pad
22     - txc-skew-ps : Skew control of TXC pad
23     - txen-skew-ps : Skew control of TX CTL pad
24     - rxd0-skew-ps : Skew control of RX data 0 pad
25     - rxd1-skew-ps : Skew control of RX data 1 pad
26     - rxd2-skew-ps : Skew control of RX data 2 pad
27     - rxd3-skew-ps : Skew control of RX data 3 pad
28     - txd0-skew-ps : Skew control of TX data 0 pad
29     - txd1-skew-ps : Skew control of TX data 1 pad
30     - txd2-skew-ps : Skew control of TX data 2 pad
31     - txd3-skew-ps : Skew control of TX data 3 pad
32
33 KSZ9031:
34
35   All skew control options are specified in picoseconds. The minimum
36   value is 0, and the maximum is property-dependent. The increment
37   step is 60ps. The default value is the neutral setting, so setting
38   rxc-skew-ps=<0> actually results in -900 picoseconds adjustment.
39
40   Optional properties:
41
42     Maximum value of 1860, default value 900:
43
44       - rxc-skew-ps : Skew control of RX clock pad
45       - txc-skew-ps : Skew control of TX clock pad
46
47     Maximum value of 900, default value 420:
48
49       - rxdv-skew-ps : Skew control of RX CTL pad
50       - txen-skew-ps : Skew control of TX CTL pad
51       - rxd0-skew-ps : Skew control of RX data 0 pad
52       - rxd1-skew-ps : Skew control of RX data 1 pad
53       - rxd2-skew-ps : Skew control of RX data 2 pad
54       - rxd3-skew-ps : Skew control of RX data 3 pad
55       - txd0-skew-ps : Skew control of TX data 0 pad
56       - txd1-skew-ps : Skew control of TX data 1 pad
57       - txd2-skew-ps : Skew control of TX data 2 pad
58       - txd3-skew-ps : Skew control of TX data 3 pad
59
60 Examples:
61
62         mdio {
63                 phy0: ethernet-phy@0 {
64                         rxc-skew-ps = <3000>;
65                         rxdv-skew-ps = <0>;
66                         txc-skew-ps = <3000>;
67                         txen-skew-ps = <0>;
68                         reg = <0>;
69                 };
70         };
71         ethernet@70000 {
72                 phy = <&phy0>;
73                 phy-mode = "rgmii-id";
74         };