工具/软件:Linux
大家好、
我正在尝试使我们的以太网 PHY 正常工作并运行到一个问题中。 我们使用的是带有 Marvell 88E1510 phy 芯片的 DM385。 到目前为止、我已经采取了以下步骤来使该芯片正常工作:
1.在内核配置中启用 Marvell phy
2.修补内核的 Marvell phy 驱动程序以添加对88E1510的支持(
)
3.在 uboot 中将 phy 从复位中取出
此时、启动时、DaVinci_mdio.c 可以探测 phy 并打印:
DaVinci_MDIO DaVinci_MDIO.0:DaVinci MDIO 修订版本1.6 DaVinci_MDIO DaVinci_MDIO.0:检测到的 phy 掩码 fff7FFFF DaVinci_MDIO.0:探测 DaVinci_MDIO DaVinci_MDIO.0:PHY[19]:器件0:13、驱动程序未知
此时、我能够修改内核的 device.c (arch/arm/mach-omap2/devices.c)、将 cpsw_slave[]的 phy_id 从0:00更改为0:13。 进行此更改后、CPSW 可能会找到 phy、但它给出的 ID 不正确:
找到 CPSW phy:id 为0x4820482
未找到 PHY 0:01
从我对 Marvell 驱动程序所做的修改中、ID 应为 0x01410dd0、而不是 0x4820482。 如果我修改驱动程序以将 id 更改为 0x4820482、Davinci_mdio.c 将正确查找 phy 的驱动程序。 尽管它找到了驱动程序、但它实际上不起作用。
有人知道我的 phy ID 为什么返回 为0x4820482而不是 0x01410dd0吗?
谢谢!