mirror of
https://github.com/torvalds/linux.git
synced 2024-12-25 12:21:37 +00:00
954c396756
Some boards require custom PHY configuration, for example due to trace length differences. Add the ability to configure these registers in order to get the PHY to function on boards that need it. Because PHYs are auto-detected based on MDIO device IDs, allow PHY configuration to be specified in the parent Ethernet device node if no PHY device node is present. Signed-off-by: Sean Cross <xobs@kosagi.com> Signed-off-by: David S. Miller <davem@davemloft.net>
50 lines
1.4 KiB
Plaintext
50 lines
1.4 KiB
Plaintext
Micrel KSZ9021 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.
|
|
|
|
All skew control options are specified in picoseconds. The minimum
|
|
value is 0, and the maximum value is 3000.
|
|
|
|
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
|
|
|
|
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";
|
|
};
|