reinstate 2.6.30 support until 2.6.32 is fixed
[openwrt/openwrt.git] / target / linux / au1000 / patches-2.6.30 / 004-state_led_phy_fix.patch
diff --git a/target/linux/au1000/patches-2.6.30/004-state_led_phy_fix.patch b/target/linux/au1000/patches-2.6.30/004-state_led_phy_fix.patch
new file mode 100644 (file)
index 0000000..cfaea00
--- /dev/null
@@ -0,0 +1,31 @@
+--- a/drivers/net/au1000_eth.c
++++ b/drivers/net/au1000_eth.c
+@@ -166,6 +166,15 @@ struct au1000_private *au_macs[NUM_ETH_I
+ #  undef AU1XXX_PHY1_IRQ
+ #endif
++#if defined(CONFIG_MIPS_MTX1)
++/*
++ * 4G MeshCube (MTX-1) board
++ * PHY is at address 31 on MAC0
++ * autodetect fails if not searched for highest address !
++ */
++# define AU1XXX_PHY_SEARCH_HIGHEST_ADDR
++#endif
++
+ #if defined(AU1XXX_PHY0_BUSID) && (AU1XXX_PHY0_BUSID > 0)
+ # error MAC0-associated PHY attached 2nd MACs MII bus not supported yet
+ #endif
+@@ -483,6 +492,12 @@ static int mii_probe (struct net_device 
+       aup->old_duplex = -1;
+       aup->phy_dev = phydev;
++#ifdef CONFIG_MIPS_MTX1
++      /* set up ethernet jack LEDs on the 4G MeshCube (MTX-1 board) */
++      printk(KERN_INFO "MTX-1 PHY: updating LED settings\n");
++      phy_write(phydev, 0x11, 0xff80);
++#endif
++
+       printk(KERN_INFO "%s: attached PHY driver [%s] "
+              "(mii_bus:phy_addr=%s, irq=%d)\n", dev->name,
+              phydev->drv->name, dev_name(&phydev->dev), phydev->irq);