From ca08054e80c64402f6a767a6a188dcfc096eb3b9 Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Tue, 29 Jun 2010 09:23:53 +0200 Subject: [PATCH] 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 Signed-off-by: Ben Warren --- drivers/net/4xx_enet.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/4xx_enet.c b/drivers/net/4xx_enet.c index 2fac641..144b851 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, ®_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) {