工具/软件:
尊敬的 TI
基于 TDA4VM 板的新板。 以太网器件之间的连接如下所示。
CPSW5G 端口1 |-- RGMII --| TI PHY (DP83867) |
| 端口2 |-- RGMII --| TI PHY (DP83867) |
| 端口3 |-- RGMII --| Marvell 8端口交换机(88E6390|
我将使用 ti-processor-sdk-linux-j7200-evm-09_02_00_04、DaVinci MDIO 的默认手动模式设置为 true。
当我尝试访问88E6390寄存器时、它返回全部0xFF。
因此、我将手动模式更改为 FALSE、并成功读取了寄存器88E6390。
但它有时会显示在控制台日志的下方。
[424.996967] am65-cpsw-Nuss c000000.ethernet eth0:链路断开
[426.021393] am65-cpsw-Nuss c000000.ethernet eth0:链路接通- 1Gbps/full -流控制 Rx/TX
在我们的电路板中、eth0是端口1、与 DP83867连接。
当我在 phy_device.c 中的 int genphy_update_link (结构 phy_device *phydev)函数处添加调试代码时、有时会从 DP83867读取到奇怪的值。
**读取 MII_BMCR 而不是 MII_BMSR
----------------------------------------------------------------------------------------
[107.844410]## genphy_update_link:0x1140
[ 107.849906] am65-cpsw-Nuss c000000.ethernet eth0:链路断开
--------------------------------------------------------------------------------------------
**无法读取有效寄存器。
--------------------------------------------------------------------------------------------
[214.084127]## genphy_update_link:0x0
[214.089385] am65-cpsw-Nuss c000000.ethernet eth0:链路断开
--------------------------------------------------------------------------------------------
它下次读取有效寄存器值(0x796d)并报告链路接通。
您能否给出一些如何调试此问题的建议?
仅供参考、当我将手动模式设置为 true 时、此问题不会发生。 但是、将手动模式设置为 true 时、无法访问88E6390。
BR
杰斯