net: phy: micrel: add documentation for Micrel KSZ90x1 binding
Add the DTS documentation for the Micrel KSZ90x1 binding. The original document was from: [commit 4b405efbe12de28b26289282b431323d73992381 from the Linux kernel] This takes the original document and adds a clarification on how the skew values are represented in the code. References: Micrel ksz9021rl/rn Data Sheet, Revision 1.2. Dated 2/13/2014. http://www.micrel.com/_PDF/Ethernet/datasheets/ksz9021rl-rn_ds.pdf Micrel ksz9031rnx Data Sheet, Revision 2.1. Dated 11/20/2014. http://www.micrel.com/_PDF/Ethernet/datasheets/KSZ9031RNX.pdf Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
		
							parent
							
								
									1f9e672c79
								
							
						
					
					
						commit
						c16e69f702
					
				|  | @ -0,0 +1,165 @@ | ||||||
|  | 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 1800, and it is incremented by 120ps | ||||||
|  |   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. | ||||||
|  | 
 | ||||||
|  |   The KSZ9031 hardware supports a range of skew values from negative to | ||||||
|  |   positive, where the specific range is property dependent. All values | ||||||
|  |   specified in the devicetree are offset by the minimum value so they | ||||||
|  |   can be represented as positive integers in the devicetree since it's | ||||||
|  |   difficult to represent a negative number in the devictree. | ||||||
|  | 
 | ||||||
|  |   The following 5-bit values table apply to rxc-skew-ps and txc-skew-ps. | ||||||
|  | 
 | ||||||
|  |   Pad Skew Value	Delay (ps)	Devicetree Value | ||||||
|  |   ------------------------------------------------------ | ||||||
|  |   0_0000		-900ps		0 | ||||||
|  |   0_0001		-840ps		60 | ||||||
|  |   0_0010		-780ps		120 | ||||||
|  |   0_0011		-720ps		180 | ||||||
|  |   0_0100		-660ps		240 | ||||||
|  |   0_0101		-600ps		300 | ||||||
|  |   0_0110		-540ps		360 | ||||||
|  |   0_0111		-480ps		420 | ||||||
|  |   0_1000		-420ps		480 | ||||||
|  |   0_1001		-360ps		540 | ||||||
|  |   0_1010		-300ps		600 | ||||||
|  |   0_1011		-240ps		660 | ||||||
|  |   0_1100		-180ps		720 | ||||||
|  |   0_1101		-120ps		780 | ||||||
|  |   0_1110		-60ps		840 | ||||||
|  |   0_1111		0ps		900 | ||||||
|  |   1_0000		60ps		960 | ||||||
|  |   1_0001		120ps		1020 | ||||||
|  |   1_0010		180ps		1080 | ||||||
|  |   1_0011		240ps		1140 | ||||||
|  |   1_0100		300ps		1200 | ||||||
|  |   1_0101		360ps		1260 | ||||||
|  |   1_0110		420ps		1320 | ||||||
|  |   1_0111		480ps		1380 | ||||||
|  |   1_1000		540ps		1440 | ||||||
|  |   1_1001		600ps		1500 | ||||||
|  |   1_1010		660ps		1560 | ||||||
|  |   1_1011		720ps		1620 | ||||||
|  |   1_1100		780ps		1680 | ||||||
|  |   1_1101		840ps		1740 | ||||||
|  |   1_1110		900ps		1800 | ||||||
|  |   1_1111		960ps		1860 | ||||||
|  | 
 | ||||||
|  |   The following 4-bit values table apply to the txdX-skew-ps, rxdX-skew-ps | ||||||
|  |   data pads, and the rxdv-skew-ps, txen-skew-ps control pads. | ||||||
|  | 
 | ||||||
|  |   Pad Skew Value	Delay (ps)	Devicetree Value | ||||||
|  |   ------------------------------------------------------ | ||||||
|  |   0000			-420ps		0 | ||||||
|  |   0001			-360ps		60 | ||||||
|  |   0010			-300ps		120 | ||||||
|  |   0011			-240ps		180 | ||||||
|  |   0100			-180ps		240 | ||||||
|  |   0101			-120ps		300 | ||||||
|  |   0110			-60ps		360 | ||||||
|  |   0111			0ps		420 | ||||||
|  |   1000			60ps		480 | ||||||
|  |   1001			120ps		540 | ||||||
|  |   1010			180ps		600 | ||||||
|  |   1011			240ps		660 | ||||||
|  |   1100			300ps		720 | ||||||
|  |   1101			360ps		780 | ||||||
|  |   1110			420ps		840 | ||||||
|  |   1111			480ps		900 | ||||||
|  | 
 | ||||||
|  |   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 = <1800>; | ||||||
|  | 		rxdv-skew-ps = <0>; | ||||||
|  | 		txc-skew-ps = <1800>; | ||||||
|  | 		txen-skew-ps = <0>; | ||||||
|  | 		status = "okay"; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	/* Attach to an explicitly-specified PHY */ | ||||||
|  | 	mdio { | ||||||
|  | 		phy0: ethernet-phy@0 { | ||||||
|  | 			rxc-skew-ps = <1800>; | ||||||
|  | 			rxdv-skew-ps = <0>; | ||||||
|  | 			txc-skew-ps = <1800>; | ||||||
|  | 			txen-skew-ps = <0>; | ||||||
|  | 			reg = <0>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | 	ethernet@70000 { | ||||||
|  | 		status = "okay"; | ||||||
|  | 		phy = <&phy0>; | ||||||
|  | 		phy-mode = "rgmii-id"; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | References | ||||||
|  | 
 | ||||||
|  |   Micrel ksz9021rl/rn Data Sheet, Revision 1.2. Dated 2/13/2014. | ||||||
|  |   http://www.micrel.com/_PDF/Ethernet/datasheets/ksz9021rl-rn_ds.pdf | ||||||
|  | 
 | ||||||
|  |   Micrel ksz9031rnx Data Sheet, Revision 2.1. Dated 11/20/2014. | ||||||
|  |   http://www.micrel.com/_PDF/Ethernet/datasheets/KSZ9031RNX.pdf | ||||||
|  | 
 | ||||||
|  | Notes: | ||||||
|  | 
 | ||||||
|  |   Note that a previous version of the Micrel ksz9021rl/rn Data Sheet | ||||||
|  |   was missing extended register 106 (transmit data pad skews), and | ||||||
|  |   incorrectly specified the ps per step as 200ps/step instead of | ||||||
|  |   120ps/step. The latest update to this document reflects the latest | ||||||
|  |   revision of the Micrel specification even though usage in the kernel | ||||||
|  |   still reflects that incorrect document. | ||||||
		Loading…
	
		Reference in New Issue