aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/4xx_enet.c
diff options
context:
space:
mode:
authorStefan Roese2010-06-29 09:23:53 +0200
committerBen Warren2010-07-12 00:02:11 -0700
commitca08054e80c64402f6a767a6a188dcfc096eb3b9 (patch)
treeb79157491696d5df904d6c049388488ab7b727ff /drivers/net/4xx_enet.c
parent67bee2fb64efae2591057c2fd651c526070f4f9a (diff)
net: Add option to disable fiber on M88E1111 PHY for PPC4xx
By defining CONFIG_M88E1111_DISABLE_FIBER boards can configure the M88E1111 PYH to disable fiber. This is needed for an upcoming PPC460GT based board, which has fiber/copper auto-selection enabled by default. This doesn't seem to work. So we disable fiber in the PHY register. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Diffstat (limited to 'drivers/net/4xx_enet.c')
-rw-r--r--drivers/net/4xx_enet.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/4xx_enet.c b/drivers/net/4xx_enet.c
index 2fac64167b9..144b8513578 100644
--- a/drivers/net/4xx_enet.c
+++ b/drivers/net/4xx_enet.c
@@ -1095,6 +1095,11 @@ static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis)
miiphy_write (dev->name, reg, 0x18, 0x4101);
miiphy_write (dev->name, reg, 0x09, 0x0e00);
miiphy_write (dev->name, reg, 0x04, 0x01e1);
+#if defined(CONFIG_M88E1111_DISABLE_FIBER)
+ miiphy_read(dev->name, reg, 0x1b, &reg_short);
+ reg_short |= 0x8000;
+ miiphy_write(dev->name, reg, 0x1b, reg_short);
+#endif
#endif
#if defined(CONFIG_M88E1112_PHY)
if (bis->bi_phymode[devnum] == BI_PHYMODE_SGMII) {