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.

DP83TC811S-Q1 调试驱动错误问题

软件:linux , 4wire模式

总结一下,我们在高通9607的平台上调试dp83tc811以太网芯片,碰到的问题是。

在dp83811_config_init中调用phy_write_mmd返回错误,跟踪代码

static inline int phy_write_mmd(struct phy_device *phydev, int devad,u32 regnum, u16 val)

{

         if (!phydev->is_c45)

                   return -EOPNOTSUPP;

         regnum = MII_ADDR_C45 | ((devad & 0x1f) << 16) | (regnum & 0xffff);

         return mdiobus_write(phydev->bus, phydev->addr, regnum, val);

}

if (!phydev->is_c45)

         return -EOPNOTSUPP;

返回错误。

 咨询下面的3个问题,请回复下

1 dp83tc811 phy芯片是否是IEEE802.3 clause 45 所支持的设备?如果支持,如何在驱动中增加相关的设置。

2 如果不支持,dp83tc811如何实现mmd寄存器的读写。

3 内核中提供有phy_read_mmd_indirect和phy_write_mmd_indirect的接口,是否可以用这两个接口读写MMD寄存器。如果可以,请问这两个函数的第二个参数int prtad(MMD Address)如何设置?