All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] powerpc/fm: fix TBI PHY address settings
@ 2012-10-12  6:25 Shaohui Xie
  2012-10-12 19:24 ` Tabi Timur-B04825
  0 siblings, 1 reply; 5+ messages in thread
From: Shaohui Xie @ 2012-10-12  6:25 UTC (permalink / raw)
  To: u-boot

From: shaohui xie <Shaohui.Xie@freescale.com>

TBI PHY address (TBIPA) register is set in general frame manager
phy init funciton dtsec_init_phy() in drivers/net/fm/eth.c, and
it is supposed to set TBIPA on FM1 at DTSEC1 in case of FM1 at DTSEC1
isn't used directly, which provides MDIO for other ports. So
following code is wrong in case of FM2, which has a different
mac base.

struct dtsec *regs = (struct dtsec *)fm_eth->mac->base;
/* Assign a Physical address to the TBI */
out_be32(&regs->tbipa, CONFIG_SYS_TBIPA_VALUE);

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
---
 drivers/net/fm/eth.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/fm/eth.c b/drivers/net/fm/eth.c
index 2b616ad..c8dc1d0 100644
--- a/drivers/net/fm/eth.c
+++ b/drivers/net/fm/eth.c
@@ -65,7 +65,7 @@ void dtsec_configure_serdes(struct fm_eth *priv)
 static void dtsec_init_phy(struct eth_device *dev)
 {
 	struct fm_eth *fm_eth = dev->priv;
-	struct dtsec *regs = (struct dtsec *)fm_eth->mac->base;
+	struct dtsec *regs = (struct dtsec *)CONFIG_SYS_FSL_FM1_DTSEC1_ADDR;
 
 	/* Assign a Physical address to the TBI */
 	out_be32(&regs->tbipa, CONFIG_SYS_TBIPA_VALUE);
-- 
1.6.4

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

* [U-Boot] [PATCH] powerpc/fm: fix TBI PHY address settings
  2012-10-12  6:25 [U-Boot] [PATCH] powerpc/fm: fix TBI PHY address settings Shaohui Xie
@ 2012-10-12 19:24 ` Tabi Timur-B04825
  2012-10-16 11:16   ` Xie Shaohui-B21989
  0 siblings, 1 reply; 5+ messages in thread
From: Tabi Timur-B04825 @ 2012-10-12 19:24 UTC (permalink / raw)
  To: u-boot

On Fri, Oct 12, 2012 at 1:25 AM, Shaohui Xie <Shaohui.Xie@freescale.com> wrote:
> From: shaohui xie <Shaohui.Xie@freescale.com>
>
> TBI PHY address (TBIPA) register is set in general frame manager
> phy init funciton dtsec_init_phy() in drivers/net/fm/eth.c, and
> it is supposed to set TBIPA on FM1 at DTSEC1 in case of FM1 at DTSEC1
> isn't used directly, which provides MDIO for other ports. So
> following code is wrong in case of FM2, which has a different
> mac base.

Is this still true with Fman v3?

Does this patch fix any known bugs?

-- 
Timur Tabi
Linux kernel developer at Freescale

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

* [U-Boot] [PATCH] powerpc/fm: fix TBI PHY address settings
  2012-10-12 19:24 ` Tabi Timur-B04825
@ 2012-10-16 11:16   ` Xie Shaohui-B21989
  2012-10-16 19:25     ` Timur Tabi
  0 siblings, 1 reply; 5+ messages in thread
From: Xie Shaohui-B21989 @ 2012-10-16 11:16 UTC (permalink / raw)
  To: u-boot

> -----Original Message-----
> From: Tabi Timur-B04825
> Sent: Saturday, October 13, 2012 3:25 AM
> To: Xie Shaohui-B21989
> Cc: u-boot at lists.denx.de
> Subject: Re: [U-Boot] [PATCH] powerpc/fm: fix TBI PHY address settings
> 
> On Fri, Oct 12, 2012 at 1:25 AM, Shaohui Xie <Shaohui.Xie@freescale.com>
> wrote:
> > From: shaohui xie <Shaohui.Xie@freescale.com>
> >
> > TBI PHY address (TBIPA) register is set in general frame manager phy
> > init funciton dtsec_init_phy() in drivers/net/fm/eth.c, and it is
> > supposed to set TBIPA on FM1 at DTSEC1 in case of FM1 at DTSEC1 isn't used
> > directly, which provides MDIO for other ports. So following code is
> > wrong in case of FM2, which has a different mac base.
> 
> Is this still true with Fman v3?
[S.H] No. Fman V3 does not need to set TBIPA on FM1 at DTSEC1.

> 
> Does this patch fix any known bugs?
[S.H] Yes, it fixed a bug internally (ENGR224292: p4080ds FM2 at DTSEC4 can't ping), 
and I sent it upstream as Kumar suggested.

Best Regards, 
Shaohui Xie

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

* [U-Boot] [PATCH] powerpc/fm: fix TBI PHY address settings
  2012-10-16 11:16   ` Xie Shaohui-B21989
@ 2012-10-16 19:25     ` Timur Tabi
  2012-10-17  5:59       ` Xie Shaohui-B21989
  0 siblings, 1 reply; 5+ messages in thread
From: Timur Tabi @ 2012-10-16 19:25 UTC (permalink / raw)
  To: u-boot

Xie Shaohui-B21989 wrote:

>> Is this still true with Fman v3?
> [S.H] No. Fman V3 does not need to set TBIPA on FM1 at DTSEC1.

Does this patch break Fman V3?

-- 
Timur Tabi
Linux kernel developer at Freescale

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

* [U-Boot] [PATCH] powerpc/fm: fix TBI PHY address settings
  2012-10-16 19:25     ` Timur Tabi
@ 2012-10-17  5:59       ` Xie Shaohui-B21989
  0 siblings, 0 replies; 5+ messages in thread
From: Xie Shaohui-B21989 @ 2012-10-17  5:59 UTC (permalink / raw)
  To: u-boot

> Xie Shaohui-B21989 wrote:
> 
> >> Is this still true with Fman v3?
> > [S.H] No. Fman V3 does not need to set TBIPA on FM1 at DTSEC1.
> 
> Does this patch break Fman V3?

[S.H] No. Fman V3 uses following code:

static void dtsec_init_phy(struct eth_device *dev)
 {
 	struct fm_eth *fm_eth = dev->priv;
-	struct dtsec *regs = (struct dtsec *)fm_eth->mac->base;
 
+#ifndef CONFIG_SYS_FMAN_V3
+	struct dtsec *regs = (struct dtsec *)fm_eth->mac->base;
 	/* Assign a Physical address to the TBI */
 	out_be32(&regs->tbipa, CONFIG_SYS_TBIPA_VALUE);
+#endif
 
 	if (fm_eth->enet_if == PHY_INTERFACE_MODE_SGMII)
 		dtsec_configure_serdes(fm_eth);

The whole patch which introduced Fman V3 is at link:
http://patchwork.ozlabs.org/patch/190087/
Andy will need to merge the codes when he pick the two patches.


Best Regards, 
Shaohui Xie

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

end of thread, other threads:[~2012-10-17  5:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-12  6:25 [U-Boot] [PATCH] powerpc/fm: fix TBI PHY address settings Shaohui Xie
2012-10-12 19:24 ` Tabi Timur-B04825
2012-10-16 11:16   ` Xie Shaohui-B21989
2012-10-16 19:25     ` Timur Tabi
2012-10-17  5:59       ` Xie Shaohui-B21989

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.