All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/2] net: phy: micrel: add documentation for Micrel KSZ90x1 binding
@ 2016-01-27 21:45 dinguyen at opensource.altera.com
  2016-01-27 21:46 ` [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew dinguyen at opensource.altera.com
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: dinguyen at opensource.altera.com @ 2016-01-27 21:45 UTC (permalink / raw)
  To: u-boot

From: Dinh Nguyen <dinguyen@opensource.altera.com>

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>
---
 doc/device-tree-bindings/net/micrel-ksz90x1.txt | 165 ++++++++++++++++++++++++
 1 file changed, 165 insertions(+)
 create mode 100644 doc/device-tree-bindings/net/micrel-ksz90x1.txt

diff --git a/doc/device-tree-bindings/net/micrel-ksz90x1.txt b/doc/device-tree-bindings/net/micrel-ksz90x1.txt
new file mode 100644
index 0000000..307f53f
--- /dev/null
+++ b/doc/device-tree-bindings/net/micrel-ksz90x1.txt
@@ -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 at 0 {
+			rxc-skew-ps = <1800>;
+			rxdv-skew-ps = <0>;
+			txc-skew-ps = <1800>;
+			txen-skew-ps = <0>;
+			reg = <0>;
+		};
+	};
+	ethernet at 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.
-- 
2.6.2

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew
  2016-01-27 21:45 [U-Boot] [PATCH 1/2] net: phy: micrel: add documentation for Micrel KSZ90x1 binding dinguyen at opensource.altera.com
@ 2016-01-27 21:46 ` dinguyen at opensource.altera.com
  2016-01-27 22:07   ` Marek Vasut
                     ` (3 more replies)
  2016-01-27 22:54 ` [U-Boot] [PATCH 1/2] net: phy: micrel: add documentation for Micrel KSZ90x1 binding Joe Hershberger
  2016-01-29 21:27 ` [U-Boot] " Joe Hershberger
  2 siblings, 4 replies; 11+ messages in thread
From: dinguyen at opensource.altera.com @ 2016-01-27 21:46 UTC (permalink / raw)
  To: u-boot

From: Dinh Nguyen <dinguyen@opensource.altera.com>

The picoseconds to register value divisor(ps_to_regval) should be 60 and not
200. Linux has KSZ9031_PS_TO_REG defined to be 60 as well. 60 is the correct
divisor because the 4-bit skew values are defined from 0x0000(-420ps) to
0xffff(480ps), increments of 60.

For example, a DTS skew value of 420, represents 0ps delay, which should be 0x7.
With the previous divisor of 200, it would result in 0x2, which represents a
-300ps delay.

With this patch, ethernet on the SoCFPGA DE0 Atlas is now able to work with
1Gb ethernet.

References:
http://www.micrel.com/_PDF/Ethernet/datasheets/KSZ9031RNX.pdf -> page 26

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
---
 drivers/net/phy/micrel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 19b6bc7..2530a5b 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -211,7 +211,7 @@ static int ksz90x1_of_config_group(struct phy_device *phydev,
 {
 	struct udevice *dev = phydev->dev;
 	struct phy_driver *drv = phydev->drv;
-	const int ps_to_regval = 200;
+	const int ps_to_regval = 60;
 	int val[4];
 	int i, changed = 0, offset, max;
 	u16 regval = 0;
-- 
2.6.2

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew
  2016-01-27 21:46 ` [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew dinguyen at opensource.altera.com
@ 2016-01-27 22:07   ` Marek Vasut
  2016-01-27 22:53     ` Joe Hershberger
  2016-01-27 22:54   ` Joe Hershberger
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Marek Vasut @ 2016-01-27 22:07 UTC (permalink / raw)
  To: u-boot

On Wednesday, January 27, 2016 at 10:46:00 PM, dinguyen at opensource.altera.com 
wrote:
> From: Dinh Nguyen <dinguyen@opensource.altera.com>
> 
> The picoseconds to register value divisor(ps_to_regval) should be 60 and
> not 200. Linux has KSZ9031_PS_TO_REG defined to be 60 as well. 60 is the
> correct divisor because the 4-bit skew values are defined from
> 0x0000(-420ps) to 0xffff(480ps), increments of 60.
> 
> For example, a DTS skew value of 420, represents 0ps delay, which should be
> 0x7. With the previous divisor of 200, it would result in 0x2, which
> represents a -300ps delay.
> 
> With this patch, ethernet on the SoCFPGA DE0 Atlas is now able to work with
> 1Gb ethernet.
> 
> References:
> http://www.micrel.com/_PDF/Ethernet/datasheets/KSZ9031RNX.pdf -> page 26
> 
> Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>

This is fine, thanks for spotting it.

Acked-by: Marek Vasut <marex@denx.de>

Joe, will you pick these two and push for 2016.03 or shall I pick them ?

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew
  2016-01-27 22:07   ` Marek Vasut
@ 2016-01-27 22:53     ` Joe Hershberger
  2016-01-27 23:43       ` Marek Vasut
  0 siblings, 1 reply; 11+ messages in thread
From: Joe Hershberger @ 2016-01-27 22:53 UTC (permalink / raw)
  To: u-boot

Hi Marek,

On Wed, Jan 27, 2016 at 4:07 PM, Marek Vasut <marex@denx.de> wrote:
> On Wednesday, January 27, 2016 at 10:46:00 PM, dinguyen at opensource.altera.com
> wrote:
>> From: Dinh Nguyen <dinguyen@opensource.altera.com>
>>
>> The picoseconds to register value divisor(ps_to_regval) should be 60 and
>> not 200. Linux has KSZ9031_PS_TO_REG defined to be 60 as well. 60 is the
>> correct divisor because the 4-bit skew values are defined from
>> 0x0000(-420ps) to 0xffff(480ps), increments of 60.
>>
>> For example, a DTS skew value of 420, represents 0ps delay, which should be
>> 0x7. With the previous divisor of 200, it would result in 0x2, which
>> represents a -300ps delay.
>>
>> With this patch, ethernet on the SoCFPGA DE0 Atlas is now able to work with
>> 1Gb ethernet.
>>
>> References:
>> http://www.micrel.com/_PDF/Ethernet/datasheets/KSZ9031RNX.pdf -> page 26
>>
>> Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
>
> This is fine, thanks for spotting it.
>
> Acked-by: Marek Vasut <marex@denx.de>
>
> Joe, will you pick these two and push for 2016.03 or shall I pick them ?

I'll get them.

-Joe

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 1/2] net: phy: micrel: add documentation for Micrel KSZ90x1 binding
  2016-01-27 21:45 [U-Boot] [PATCH 1/2] net: phy: micrel: add documentation for Micrel KSZ90x1 binding dinguyen at opensource.altera.com
  2016-01-27 21:46 ` [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew dinguyen at opensource.altera.com
@ 2016-01-27 22:54 ` Joe Hershberger
  2016-01-29 21:27 ` [U-Boot] " Joe Hershberger
  2 siblings, 0 replies; 11+ messages in thread
From: Joe Hershberger @ 2016-01-27 22:54 UTC (permalink / raw)
  To: u-boot

On Wed, Jan 27, 2016 at 3:45 PM,  <dinguyen@opensource.altera.com> wrote:
> From: Dinh Nguyen <dinguyen@opensource.altera.com>
>
> 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>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew
  2016-01-27 21:46 ` [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew dinguyen at opensource.altera.com
  2016-01-27 22:07   ` Marek Vasut
@ 2016-01-27 22:54   ` Joe Hershberger
  2016-01-28  1:26   ` Måns Rullgård
  2016-01-29 21:27   ` [U-Boot] " Joe Hershberger
  3 siblings, 0 replies; 11+ messages in thread
From: Joe Hershberger @ 2016-01-27 22:54 UTC (permalink / raw)
  To: u-boot

On Wed, Jan 27, 2016 at 3:46 PM,  <dinguyen@opensource.altera.com> wrote:
> From: Dinh Nguyen <dinguyen@opensource.altera.com>
>
> The picoseconds to register value divisor(ps_to_regval) should be 60 and not
> 200. Linux has KSZ9031_PS_TO_REG defined to be 60 as well. 60 is the correct
> divisor because the 4-bit skew values are defined from 0x0000(-420ps) to
> 0xffff(480ps), increments of 60.
>
> For example, a DTS skew value of 420, represents 0ps delay, which should be 0x7.
> With the previous divisor of 200, it would result in 0x2, which represents a
> -300ps delay.
>
> With this patch, ethernet on the SoCFPGA DE0 Atlas is now able to work with
> 1Gb ethernet.
>
> References:
> http://www.micrel.com/_PDF/Ethernet/datasheets/KSZ9031RNX.pdf -> page 26
>
> Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>

Acked-by: Joe Hershberger <joe.hershberger@ni.com>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew
  2016-01-27 22:53     ` Joe Hershberger
@ 2016-01-27 23:43       ` Marek Vasut
  0 siblings, 0 replies; 11+ messages in thread
From: Marek Vasut @ 2016-01-27 23:43 UTC (permalink / raw)
  To: u-boot

On Wednesday, January 27, 2016 at 11:53:29 PM, Joe Hershberger wrote:
> Hi Marek,
> 
> On Wed, Jan 27, 2016 at 4:07 PM, Marek Vasut <marex@denx.de> wrote:
> > On Wednesday, January 27, 2016 at 10:46:00 PM,
> > dinguyen at opensource.altera.com
> > 
> > wrote:
> >> From: Dinh Nguyen <dinguyen@opensource.altera.com>
> >> 
> >> The picoseconds to register value divisor(ps_to_regval) should be 60 and
> >> not 200. Linux has KSZ9031_PS_TO_REG defined to be 60 as well. 60 is the
> >> correct divisor because the 4-bit skew values are defined from
> >> 0x0000(-420ps) to 0xffff(480ps), increments of 60.
> >> 
> >> For example, a DTS skew value of 420, represents 0ps delay, which should
> >> be 0x7. With the previous divisor of 200, it would result in 0x2, which
> >> represents a -300ps delay.
> >> 
> >> With this patch, ethernet on the SoCFPGA DE0 Atlas is now able to work
> >> with 1Gb ethernet.
> >> 
> >> References:
> >> http://www.micrel.com/_PDF/Ethernet/datasheets/KSZ9031RNX.pdf -> page 26
> >> 
> >> Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
> > 
> > This is fine, thanks for spotting it.
> > 
> > Acked-by: Marek Vasut <marex@denx.de>
> > 
> > Joe, will you pick these two and push for 2016.03 or shall I pick them ?
> 
> I'll get them.

Roger, thanks!

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew
  2016-01-27 21:46 ` [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew dinguyen at opensource.altera.com
  2016-01-27 22:07   ` Marek Vasut
  2016-01-27 22:54   ` Joe Hershberger
@ 2016-01-28  1:26   ` Måns Rullgård
  2016-02-02 14:54     ` Dinh Nguyen
  2016-01-29 21:27   ` [U-Boot] " Joe Hershberger
  3 siblings, 1 reply; 11+ messages in thread
From: Måns Rullgård @ 2016-01-28  1:26 UTC (permalink / raw)
  To: u-boot

<dinguyen@opensource.altera.com> writes:

> From: Dinh Nguyen <dinguyen@opensource.altera.com>
>
> The picoseconds to register value divisor(ps_to_regval) should be 60 and not
> 200. Linux has KSZ9031_PS_TO_REG defined to be 60 as well. 60 is the correct
> divisor because the 4-bit skew values are defined from 0x0000(-420ps) to
> 0xffff(480ps), increments of 60.
>
> For example, a DTS skew value of 420, represents 0ps delay, which should be 0x7.
> With the previous divisor of 200, it would result in 0x2, which represents a
> -300ps delay.
>
> With this patch, ethernet on the SoCFPGA DE0 Atlas is now able to work with
> 1Gb ethernet.

Is this expected to make any difference on the Altera socdk?  Both with
and without the patch, it takes a very long time (sometimes minutes) to
negotiate a link, but once it does it works fine.

> References:
> http://www.micrel.com/_PDF/Ethernet/datasheets/KSZ9031RNX.pdf -> page 26
>
> Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
> ---
>  drivers/net/phy/micrel.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
> index 19b6bc7..2530a5b 100644
> --- a/drivers/net/phy/micrel.c
> +++ b/drivers/net/phy/micrel.c
> @@ -211,7 +211,7 @@ static int ksz90x1_of_config_group(struct phy_device *phydev,
>  {
>  	struct udevice *dev = phydev->dev;
>  	struct phy_driver *drv = phydev->drv;
> -	const int ps_to_regval = 200;
> +	const int ps_to_regval = 60;
>  	int val[4];
>  	int i, changed = 0, offset, max;
>  	u16 regval = 0;
> -- 
> 2.6.2

-- 
M?ns Rullg?rd

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] net: phy: micrel: add documentation for Micrel KSZ90x1 binding
  2016-01-27 21:45 [U-Boot] [PATCH 1/2] net: phy: micrel: add documentation for Micrel KSZ90x1 binding dinguyen at opensource.altera.com
  2016-01-27 21:46 ` [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew dinguyen at opensource.altera.com
  2016-01-27 22:54 ` [U-Boot] [PATCH 1/2] net: phy: micrel: add documentation for Micrel KSZ90x1 binding Joe Hershberger
@ 2016-01-29 21:27 ` Joe Hershberger
  2 siblings, 0 replies; 11+ messages in thread
From: Joe Hershberger @ 2016-01-29 21:27 UTC (permalink / raw)
  To: u-boot

Hi Dinh,

https://patchwork.ozlabs.org/patch/574447/ was applied to u-boot-net.git.

Thanks!
-Joe

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] net: phy: micrel: fix divisor value for KSZ9031 phy skew
  2016-01-27 21:46 ` [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew dinguyen at opensource.altera.com
                     ` (2 preceding siblings ...)
  2016-01-28  1:26   ` Måns Rullgård
@ 2016-01-29 21:27   ` Joe Hershberger
  3 siblings, 0 replies; 11+ messages in thread
From: Joe Hershberger @ 2016-01-29 21:27 UTC (permalink / raw)
  To: u-boot

Hi Dinh,

https://patchwork.ozlabs.org/patch/574448/ was applied to u-boot-net.git.

Thanks!
-Joe

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew
  2016-01-28  1:26   ` Måns Rullgård
@ 2016-02-02 14:54     ` Dinh Nguyen
  0 siblings, 0 replies; 11+ messages in thread
From: Dinh Nguyen @ 2016-02-02 14:54 UTC (permalink / raw)
  To: u-boot



On 01/27/2016 07:26 PM, M?ns Rullg?rd wrote:
> <dinguyen@opensource.altera.com> writes:
> 
>> From: Dinh Nguyen <dinguyen@opensource.altera.com>
>>
>> The picoseconds to register value divisor(ps_to_regval) should be 60 and not
>> 200. Linux has KSZ9031_PS_TO_REG defined to be 60 as well. 60 is the correct
>> divisor because the 4-bit skew values are defined from 0x0000(-420ps) to
>> 0xffff(480ps), increments of 60.
>>
>> For example, a DTS skew value of 420, represents 0ps delay, which should be 0x7.
>> With the previous divisor of 200, it would result in 0x2, which represents a
>> -300ps delay.
>>
>> With this patch, ethernet on the SoCFPGA DE0 Atlas is now able to work with
>> 1Gb ethernet.
> 
> Is this expected to make any difference on the Altera socdk?  Both with
> and without the patch, it takes a very long time (sometimes minutes) to
> negotiate a link, but once it does it works fine.
> 

The Altera socdk uses a different PHY, KSZ9021, so no, this patch will
not affect that hardware.

I'll check out your link issues on the socdk when I get a chance.

Dinh

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-02-02 14:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-27 21:45 [U-Boot] [PATCH 1/2] net: phy: micrel: add documentation for Micrel KSZ90x1 binding dinguyen at opensource.altera.com
2016-01-27 21:46 ` [U-Boot] [PATCH 2/2] net: phy: micrel: fix divisor value for KSZ9031 phy skew dinguyen at opensource.altera.com
2016-01-27 22:07   ` Marek Vasut
2016-01-27 22:53     ` Joe Hershberger
2016-01-27 23:43       ` Marek Vasut
2016-01-27 22:54   ` Joe Hershberger
2016-01-28  1:26   ` Måns Rullgård
2016-02-02 14:54     ` Dinh Nguyen
2016-01-29 21:27   ` [U-Boot] " Joe Hershberger
2016-01-27 22:54 ` [U-Boot] [PATCH 1/2] net: phy: micrel: add documentation for Micrel KSZ90x1 binding Joe Hershberger
2016-01-29 21:27 ` [U-Boot] " Joe Hershberger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.