Felix Kaechele wrote:
diff --git
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c
index ec88233..e99c172 100644
---
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c
+++
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c
@@ -181,6 +193,12 @@ static int ag71xx_mdio_reset(struct mii_bus *bus)
ag71xx_mdio_wr(am, AG71XX_REG_MII_CFG, t);
udelay(100);
+ if(am->pdata->wake_phys) {
+ for (i = 0; i < PHY_MAX_ADDR; i++)
+ ag71xx_mdio_write(bus, i, 0x0, BIT(12));
+ udelay(600);
+ }
+
return 0;
}
Did some more testing today. Looks like this is not it.
The switch port only negotiates 10 Mbps Half Duplex.
I observed, the more I replicate what the ar8327_hw_init function from
the ar8216 phy driver does, the closer to the desired result I get.
If I just plainly reset each PHY on the switch it then get's detected by
the mdio bus scan but obviously isn't initialized correctly.
However, I end up with everything looking good but I'm still unable to
actually transfer data (i.e. ping) to other hosts connected to the switch.
So I guess the initialization isn't done correctly, but I can't seem to
figure out where.
Any ideas?
- Felix
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel