* [U-Boot] mdio error on ar9344
@ 2019-04-23 11:48 muaddib
0 siblings, 0 replies; only message in thread
From: muaddib @ 2019-04-23 11:48 UTC (permalink / raw)
To: u-boot
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.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-04-23 11:48 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-23 11:48 [U-Boot] mdio error on ar9344 muaddib
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox