
Hi, I am using device based on Atheros AR9344.
When U-Boot initialize net device I get error mdio_register: non unique device name 'gmac0'
dm tree command shows that eth_ag7xxx is not probed.
ag7xxx_eth_probe -> ag7xxx_mac_probe -> ag933x_phy_setup -> ag933x_phy_setup_reset_set -> ag7xxx_mdio_write -> ag7xxx_mdio_rw return -ETIMEDOUT
because ag7xxx_switch_reg_read return 0xFFFFFFFF, see below
static int ag7xxx_mdio_rw(struct mii_dev *bus, int addr, int reg, u32 val) { u32 data; unsigned long start; int ret; // No idea if this is long enough or too long int timeout_ms = 1000;
// Dummy read followed by PHY read/write command. ret = ag7xxx_switch_reg_read(bus, 0x98, &data); if (ret < 0) return ret; data = val | (reg << 16) | (addr << 21) | BIT(30) | BIT(31); ret = ag7xxx_switch_reg_write(bus, 0x98, data); if (ret < 0) return ret;
start = get_timer(0);
// Wait for operation to finish do { ret = ag7xxx_switch_reg_read(bus, 0x98, &data); if (ret < 0) return ret; if (get_timer(start) > timeout_ms) return -ETIMEDOUT; } while (data & BIT(31)); return data & 0xffff; }
I use tplink_wdr4320 u-boot profile for my device.