summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorshaohui xie <Shaohui.Xie@freescale.com>2012-10-11 20:25:36 +0000
committerAndy Fleming <afleming@freescale.com>2012-10-22 15:52:46 -0500
commit1f3bd3e239fb0542128f7c911829c9f0360b0d8f (patch)
tree04a95fb4f25d299a5ca026e79a65f42a650a6a11 /drivers
parent990e1a8ce1415b9010faccd1402d499e203ea2fb (diff)
powerpc/fm: fix TBI PHY address settings
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@DTSEC1 in case of FM1@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> Signed-off-by: Andy Fleming <afleming@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/fm/eth.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/fm/eth.c b/drivers/net/fm/eth.c
index ed23fdd4ac..82c787bf38 100644
--- a/drivers/net/fm/eth.c
+++ b/drivers/net/fm/eth.c
@@ -89,9 +89,9 @@ void dtsec_configure_serdes(struct fm_eth *priv)
static void dtsec_init_phy(struct eth_device *dev)
{
struct fm_eth *fm_eth = dev->priv;
-
#ifndef CONFIG_SYS_FMAN_V3
- 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);
#endif