Message ID | 1338557677-18659-1-git-send-email-prabhakar.lad@ti.com |
---|---|
State | Changes Requested |
Delegated to: | Tom Rini |
Headers | show |
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, 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 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 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 >
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); }