This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/DM385: Wrong phy id from Marvell 88E1510

Part Number: DM385

Tool/software: Linux

Hi Everyone,

I'm attempting to get our ethernet phy working and running into an issue. We are on a DM385 with a Marvell 88E1510 phy chip. The steps I've taken to get this chip working so far are:

1. Enable Marvell phy's in the kernel config

2. Patch the kernel's Marvell phy driver to add support for the 88E1510 ()

3. Bring the phy out of reset in uboot

At this point, upon bootup, davinci_mdio.c could probe the phy and would print:

davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
davinci_mdio davinci_mdio.0: detected phy mask fff7ffff
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[19]: device 0:13, driver unknown

At that point, I was able to modify the kernel's devices.c (arch/arm/mach-omap2/devices.c) to change the phy_id of cpsw_slaves[] from 0:00 to 0:13. After this change, CPSW could find the phy, however the id it gives is incorrect:

CPSW phy found : id is : 0x4820482
PHY 0:01 not found

From the modification to the marvell driver I made, the id should be 0x01410dd0, not 0x4820482. If I modify the driver to change the id to 0x4820482, davinci_mdio.c will correctly find the driver for the phy. Even though it finds the driver, it does not actually work.

Does anyone know why my phy id is coming back as 0x4820482 instead of 0x01410dd0?

Thanks!