[U-Boot] [PATCH] da850/omap-l138: Enable auto negotiation in RMII mode

From: Rajashekhara, Sudhakar sudhakar.raj@ti.com
On DA850/OMAP-L138 it was observed that in RMII mode, auto negotiation was not performed. This patch enables auto negotiation in RMII mode. Without this patch, EMAC initialization takes more time and sometimes tftp fails in RMII mode.
Signed-off-by: Rajashekhara, Sudhakar sudhakar.raj@ti.com Signed-off-by: Lad, Prabhakar prabhakar.lad@ti.com Signed-off-by: Hadli, Manjunath manjunath.hadli@ti.com --- drivers/net/davinci_emac.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index fbd0f1b..9bbd625 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -895,5 +895,10 @@ int davinci_emac_initialize(void) miiphy_register(phy[i].name, davinci_mii_phy_read, davinci_mii_phy_write); } + +#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \ + defined(CONFIG_MACH_DAVINCI_DA850_EVM) + gen_auto_negotiate(active_phy_addr); +#endif return(1); }

On Fri, Jun 01, 2012 at 07:04:37PM +0530, Prabhakar Lad wrote:
From: Rajashekhara, Sudhakar sudhakar.raj@ti.com
On DA850/OMAP-L138 it was observed that in RMII mode, auto negotiation was not performed. This patch enables auto negotiation in RMII mode. Without this patch, EMAC initialization takes more time and sometimes tftp fails in RMII mode.
Signed-off-by: Rajashekhara, Sudhakar sudhakar.raj@ti.com Signed-off-by: Lad, Prabhakar prabhakar.lad@ti.com Signed-off-by: Hadli, Manjunath manjunath.hadli@ti.com
drivers/net/davinci_emac.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index fbd0f1b..9bbd625 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -895,5 +895,10 @@ int davinci_emac_initialize(void) miiphy_register(phy[i].name, davinci_mii_phy_read, davinci_mii_phy_write); }
+#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
defined(CONFIG_MACH_DAVINCI_DA850_EVM)
- gen_auto_negotiate(active_phy_addr);
+#endif
Why not just check on CONFIG_DRIVER_TI_EMAC_USE_RMII ? Would it be harmful to try and re-auto negotiate on some RMII hardware that already did it?

Hi Tom, On Tue, Jun 05, 2012 at 03:59:08, Rini, Tom wrote:
On Fri, Jun 01, 2012 at 07:04:37PM +0530, Prabhakar Lad wrote:
From: Rajashekhara, Sudhakar sudhakar.raj@ti.com
On DA850/OMAP-L138 it was observed that in RMII mode, auto negotiation was not performed. This patch enables auto negotiation in RMII mode. Without this patch, EMAC initialization takes more time and sometimes tftp fails in RMII mode.
Signed-off-by: Rajashekhara, Sudhakar sudhakar.raj@ti.com Signed-off-by: Lad, Prabhakar prabhakar.lad@ti.com Signed-off-by: Hadli, Manjunath manjunath.hadli@ti.com
drivers/net/davinci_emac.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index fbd0f1b..9bbd625 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -895,5 +895,10 @@ int davinci_emac_initialize(void) miiphy_register(phy[i].name, davinci_mii_phy_read, davinci_mii_phy_write); }
+#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
defined(CONFIG_MACH_DAVINCI_DA850_EVM)
- gen_auto_negotiate(active_phy_addr);
+#endif
Why not just check on CONFIG_DRIVER_TI_EMAC_USE_RMII ? Would it be harmful to try and re-auto negotiate on some RMII hardware that already did it?
Some of the phy's might not support auto negotiation, Not sure what will be the behavior on these phy's on enabling auto negotiation. So as to avoid this case this check is added.
Thx, --Prabhakar Lad
-- Tom

Hi,
On Fri, Jun 1, 2012 at 3:34 PM, Prabhakar Lad prabhakar.lad@ti.com wrote:
From: Rajashekhara, Sudhakar sudhakar.raj@ti.com
On DA850/OMAP-L138 it was observed that in RMII mode, auto negotiation was not performed. This patch enables auto negotiation in RMII mode. Without this patch, EMAC initialization takes more time and sometimes tftp fails in RMII mode.
This patch causes a warning for the ea20 board: davinci_emac.c: In function 'davinci_emac_initialize': davinci_emac.c:901:2: warning: passing argument 1 of 'gen_auto_negotiate' makes integer from pointer without a cast davinci_emac.c:355:12: note: expected 'int' but argument is of type 'u_int8_t *'
(found with ./MAKEALL -s davinci)
Regards, Christian
Signed-off-by: Rajashekhara, Sudhakar sudhakar.raj@ti.com Signed-off-by: Lad, Prabhakar prabhakar.lad@ti.com Signed-off-by: Hadli, Manjunath manjunath.hadli@ti.com
drivers/net/davinci_emac.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index fbd0f1b..9bbd625 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -895,5 +895,10 @@ int davinci_emac_initialize(void) miiphy_register(phy[i].name, davinci_mii_phy_read, davinci_mii_phy_write); }
+#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
- defined(CONFIG_MACH_DAVINCI_DA850_EVM)
- gen_auto_negotiate(active_phy_addr);
+#endif return(1); } -- 1.7.4.1
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Hi Christian,
On Tue, Jun 05, 2012 at 17:04:13, Christian Riesch wrote:
Hi,
On Fri, Jun 1, 2012 at 3:34 PM, Prabhakar Lad prabhakar.lad@ti.com wrote:
From: Rajashekhara, Sudhakar sudhakar.raj@ti.com
On DA850/OMAP-L138 it was observed that in RMII mode, auto negotiation was not performed. This patch enables auto negotiation in RMII mode. Without this patch, EMAC initialization takes more time and sometimes tftp fails in RMII mode.
This patch causes a warning for the ea20 board: davinci_emac.c: In function 'davinci_emac_initialize': davinci_emac.c:901:2: warning: passing argument 1 of 'gen_auto_negotiate' makes integer from pointer without a cast davinci_emac.c:355:12: note: expected 'int' but argument is of type 'u_int8_t *'
(found with ./MAKEALL -s davinci)
Ok I'll fix this.
Thx, --Prabhakar Lad
Regards, Christian
Signed-off-by: Rajashekhara, Sudhakar sudhakar.raj@ti.com Signed-off-by: Lad, Prabhakar prabhakar.lad@ti.com Signed-off-by: Hadli, Manjunath manjunath.hadli@ti.com
drivers/net/davinci_emac.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index fbd0f1b..9bbd625 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -895,5 +895,10 @@ int davinci_emac_initialize(void) miiphy_register(phy[i].name, davinci_mii_phy_read, davinci_mii_phy_write); }
+#if defined(CONFIG_DRIVER_TI_EMAC_USE_RMII) && \
- defined(CONFIG_MACH_DAVINCI_DA850_EVM)
- gen_auto_negotiate(active_phy_addr);
+#endif return(1); } -- 1.7.4.1
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Hi Prabhakar,
Le Fri, 1 Jun 2012 19:04:37 +0530, Prabhakar Lad prabhakar.lad@ti.com a écrit :
From: Rajashekhara, Sudhakar sudhakar.raj@ti.com
On DA850/OMAP-L138 it was observed that in RMII mode, auto negotiation was not performed. This patch enables auto negotiation in RMII mode. Without this patch, EMAC initialization takes more time and sometimes tftp fails in RMII mode.
Signed-off-by: Rajashekhara, Sudhakar sudhakar.raj@ti.com Signed-off-by: Lad, Prabhakar prabhakar.lad@ti.com Signed-off-by: Hadli, Manjunath manjunath.hadli@ti.com
Tested-by: Eric Bénard eric@eukrea.com on an AM1808 with a RMII PHY where tftp was nearly always failing.
Eric

Hi Eric,
On Wed, Jun 06, 2012 at 22:47:46, Eric Bénard wrote:
Hi Prabhakar,
Le Fri, 1 Jun 2012 19:04:37 +0530, Prabhakar Lad prabhakar.lad@ti.com a écrit :
From: Rajashekhara, Sudhakar sudhakar.raj@ti.com
On DA850/OMAP-L138 it was observed that in RMII mode, auto negotiation was not performed. This patch enables auto negotiation in RMII mode. Without this patch, EMAC initialization takes more time and sometimes tftp fails in RMII mode.
Signed-off-by: Rajashekhara, Sudhakar sudhakar.raj@ti.com Signed-off-by: Lad, Prabhakar prabhakar.lad@ti.com Signed-off-by: Hadli, Manjunath manjunath.hadli@ti.com
Tested-by: Eric Bénard eric@eukrea.com on an AM1808 with a RMII PHY where tftp was nearly always failing.
This patch had some build warnings which has been fixed in v2 version (http://www.mail-archive.com/u-boot@lists.denx.de/msg85270.html) can you test this patch and Ack it.
Thx, --Prabhakar Lad
Eric
participants (5)
-
Christian Riesch
-
Eric Bénard
-
Lad, Prabhakar
-
Prabhakar Lad
-
Tom Rini