1 Micrel KSZ9021/KSZ9031 Gigabit Ethernet PHY
3 Some boards require special tuning values, particularly when it comes to
4 clock delays. You can specify clock delay values by adding
5 micrel-specific properties to an Ethernet OF device node.
7 Note that these settings are applied after any phy-specific fixup from
8 phy_fixup_list (see phy_init_hw() from drivers/net/phy/phy_device.c),
9 and therefore may overwrite them.
13 All skew control options are specified in picoseconds. The minimum
14 value is 0, the maximum value is 1800, and it is incremented by 120ps
19 - rxc-skew-ps : Skew control of RXC pad
20 - rxdv-skew-ps : Skew control of RX CTL pad
21 - txc-skew-ps : Skew control of TXC pad
22 - txen-skew-ps : Skew control of TX CTL pad
23 - rxd0-skew-ps : Skew control of RX data 0 pad
24 - rxd1-skew-ps : Skew control of RX data 1 pad
25 - rxd2-skew-ps : Skew control of RX data 2 pad
26 - rxd3-skew-ps : Skew control of RX data 3 pad
27 - txd0-skew-ps : Skew control of TX data 0 pad
28 - txd1-skew-ps : Skew control of TX data 1 pad
29 - txd2-skew-ps : Skew control of TX data 2 pad
30 - txd3-skew-ps : Skew control of TX data 3 pad
34 All skew control options are specified in picoseconds. The minimum
35 value is 0, and the maximum is property-dependent. The increment
38 The KSZ9031 hardware supports a range of skew values from negative to
39 positive, where the specific range is property dependent. All values
40 specified in the devicetree are offset by the minimum value so they
41 can be represented as positive integers in the devicetree since it's
42 difficult to represent a negative number in the devictree.
44 The following 5-bit values table apply to rxc-skew-ps and txc-skew-ps.
46 Pad Skew Value Delay (ps) Devicetree Value
47 ------------------------------------------------------
81 The following 4-bit values table apply to the txdX-skew-ps, rxdX-skew-ps
82 data pads, and the rxdv-skew-ps, txen-skew-ps control pads.
84 Pad Skew Value Delay (ps) Devicetree Value
85 ------------------------------------------------------
105 Maximum value of 1860:
107 - rxc-skew-ps : Skew control of RX clock pad
108 - txc-skew-ps : Skew control of TX clock pad
110 Maximum value of 900:
112 - rxdv-skew-ps : Skew control of RX CTL pad
113 - txen-skew-ps : Skew control of TX CTL pad
114 - rxd0-skew-ps : Skew control of RX data 0 pad
115 - rxd1-skew-ps : Skew control of RX data 1 pad
116 - rxd2-skew-ps : Skew control of RX data 2 pad
117 - rxd3-skew-ps : Skew control of RX data 3 pad
118 - txd0-skew-ps : Skew control of TX data 0 pad
119 - txd1-skew-ps : Skew control of TX data 1 pad
120 - txd2-skew-ps : Skew control of TX data 2 pad
121 - txd3-skew-ps : Skew control of TX data 3 pad
125 /* Attach to an Ethernet device with autodetected PHY */
127 rxc-skew-ps = <1800>;
129 txc-skew-ps = <1800>;
134 /* Attach to an explicitly-specified PHY */
136 phy0: ethernet-phy@0 {
137 rxc-skew-ps = <1800>;
139 txc-skew-ps = <1800>;
147 phy-mode = "rgmii-id";
152 Micrel ksz9021rl/rn Data Sheet, Revision 1.2. Dated 2/13/2014.
153 http://www.micrel.com/_PDF/Ethernet/datasheets/ksz9021rl-rn_ds.pdf
155 Micrel ksz9031rnx Data Sheet, Revision 2.1. Dated 11/20/2014.
156 http://www.micrel.com/_PDF/Ethernet/datasheets/KSZ9031RNX.pdf
160 Note that a previous version of the Micrel ksz9021rl/rn Data Sheet
161 was missing extended register 106 (transmit data pad skews), and
162 incorrectly specified the ps per step as 200ps/step instead of
163 120ps/step. The latest update to this document reflects the latest
164 revision of the Micrel specification even though usage in the kernel
165 still reflects that incorrect document.