summaryrefslogtreecommitdiffstats
path: root/kernel/Documentation/devicetree/bindings/net/micrel-ksz90x1.txt
blob: 692076fda0e589788567a5283d79525f04f01852 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Micrel KSZ9021/KSZ9031 Gigabit Ethernet PHY

Some boards require special tuning values, particularly when it comes to
clock delays. You can specify clock delay values by adding
micrel-specific properties to an Ethernet OF device node.

Note that these settings are applied after any phy-specific fixup from
phy_fixup_list (see phy_init_hw() from drivers/net/phy/phy_device.c),
and therefore may overwrite them.

KSZ9021:

  All skew control options are specified in picoseconds. The minimum
  value is 0, the maximum value is 3000, and it is incremented by 200ps
  steps.

  Optional properties:

    - rxc-skew-ps : Skew control of RXC pad
    - rxdv-skew-ps : Skew control of RX CTL pad
    - txc-skew-ps : Skew control of TXC pad
    - txen-skew-ps : Skew control of TX CTL pad
    - rxd0-skew-ps : Skew control of RX data 0 pad
    - rxd1-skew-ps : Skew control of RX data 1 pad
    - rxd2-skew-ps : Skew control of RX data 2 pad
    - rxd3-skew-ps : Skew control of RX data 3 pad
    - txd0-skew-ps : Skew control of TX data 0 pad
    - txd1-skew-ps : Skew control of TX data 1 pad
    - txd2-skew-ps : Skew control of TX data 2 pad
    - txd3-skew-ps : Skew control of TX data 3 pad

KSZ9031:

  All skew control options are specified in picoseconds. The minimum
  value is 0, and the maximum is property-dependent. The increment
  step is 60ps.

  Optional properties:

    Maximum value of 1860:

      - rxc-skew-ps : Skew control of RX clock pad
      - txc-skew-ps : Skew control of TX clock pad

    Maximum value of 900:

      - rxdv-skew-ps : Skew control of RX CTL pad
      - txen-skew-ps : Skew control of TX CTL pad
      - rxd0-skew-ps : Skew control of RX data 0 pad
      - rxd1-skew-ps : Skew control of RX data 1 pad
      - rxd2-skew-ps : Skew control of RX data 2 pad
      - rxd3-skew-ps : Skew control of RX data 3 pad
      - txd0-skew-ps : Skew control of TX data 0 pad
      - txd1-skew-ps : Skew control of TX data 1 pad
      - txd2-skew-ps : Skew control of TX data 2 pad
      - txd3-skew-ps : Skew control of TX data 3 pad

Examples:

	/* Attach to an Ethernet device with autodetected PHY */
	&enet {
		rxc-skew-ps = <3000>;
		rxdv-skew-ps = <0>;
		txc-skew-ps = <3000>;
		txen-skew-ps = <0>;
		status = "okay";
	};

	/* Attach to an explicitly-specified PHY */
	mdio {
		phy0: ethernet-phy@0 {
			rxc-skew-ps = <3000>;
			rxdv-skew-ps = <0>;
			txc-skew-ps = <3000>;
			txen-skew-ps = <0>;
			reg = <0>;
		};
	};
	ethernet@70000 {
		status = "okay";
		phy = <&phy0>;
		phy-mode = "rgmii-id";
	};