Skip to contentSkip to conversation

net: Add option to disable fiber on M88E1111 PHY for PPC4xx

PATCH New Stefan Roese 2 participants 2 messages Jun 29, 2010 – Jul 12, 2010 Network drivers

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 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.

---
v2: - Fixed spelling: fibre -> fiber

 drivers/net/4xx_enet.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
drivers/net/4xx_enet.c +5 -0
index 2fac641..144b851 100644
@@ -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) {
Signature · 1 line
1.7.1
Applied
#1 lore raw

PATCH v2 1/1 net: Add option to disable fiber on M88E1111 PHY for PPC4xx

Hi Stefen,

Quoted 19 lines · Stefan Roese

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.

---
v2: - Fixed spelling: fibre -> fiber

  drivers/net/4xx_enet.c |    5 +++++
  1 files changed, 5 insertions(+), 0 deletions(-)
drivers/net/4xx_enet.c +0 -0
index 2fac641..144b851 100644
@@ -1095,6 +1095,11 @@ static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis)
  		miiphy_write (dev->name, reg, 0x18, 0x4101);

drivers/net/4xx_enet.c static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis) · line 1105

Quoted 10 lines
drivers/net/4xx_enet.c +5 -0
  		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) {

Applied to net repo.

thanks,
Ben