Merge tag 'pstore-v4.20-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/kees...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / net / micrel-ksz90x1.txt
1 Micrel KSZ9021/KSZ9031/KSZ9131 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     - micrel,force-master:
61         Boolean, force phy to master mode. Only set this option if the phy
62         reference clock provided at CLK125_NDO pin is used as MAC reference
63         clock because the clock jitter in slave mode is to high (errata#2).
64         Attention: The link partner must be configurable as slave otherwise
65         no link will be established.
66
67 KSZ9131:
68
69   All skew control options are specified in picoseconds. The increment
70   step is 100ps. Unlike KSZ9031, the values represent picoseccond delays.
71   A negative value can be assigned as rxc-skew-psec = <(-100)>;.
72
73   Optional properties:
74
75     Range of the value -700 to 2400, default value 0:
76
77       - rxc-skew-psec : Skew control of RX clock pad
78       - txc-skew-psec : Skew control of TX clock pad
79
80     Range of the value -700 to 800, default value 0:
81
82       - rxdv-skew-psec : Skew control of RX CTL pad
83       - txen-skew-psec : Skew control of TX CTL pad
84       - rxd0-skew-psec : Skew control of RX data 0 pad
85       - rxd1-skew-psec : Skew control of RX data 1 pad
86       - rxd2-skew-psec : Skew control of RX data 2 pad
87       - rxd3-skew-psec : Skew control of RX data 3 pad
88       - txd0-skew-psec : Skew control of TX data 0 pad
89       - txd1-skew-psec : Skew control of TX data 1 pad
90       - txd2-skew-psec : Skew control of TX data 2 pad
91       - txd3-skew-psec : Skew control of TX data 3 pad
92
93 Examples:
94
95         mdio {
96                 phy0: ethernet-phy@0 {
97                         rxc-skew-ps = <3000>;
98                         rxdv-skew-ps = <0>;
99                         txc-skew-ps = <3000>;
100                         txen-skew-ps = <0>;
101                         reg = <0>;
102                 };
103         };
104         ethernet@70000 {
105                 phy = <&phy0>;
106                 phy-mode = "rgmii-id";
107         };