主题中讨论的其他器件:AM6442、 TMDS64GPEVM、 DP83869
您好!
我在 地址0中有一个带有 AM6442 CPU 的定制板和一个 DP83869HMRGZT 物理层、该物理层是参考 TMDS64GPEVM 设计的、并经过 TI 团队的审查。
该软件(Linux)基于 08.00.00.004 SDK。
PHY 的复位信号连接到 CPU IO 并具有下拉电阻器。
该板有一个复位按钮、用于复位 CPU (PORz)。
PHY 复位在 U-boot 中释放、GPIO 被驱动为"0"长达10ms、然后驱动为"1"。
现在、每次 我断开电源并将电源连接到电路板时 、phy 都会被标识为 DP83869 、我没有任何问题。
u-boot 上的"reset"命令也是如此、执行此命令后 、phy 始终 标识为 DP83869。
问题在于复位按钮、在使用该按钮进行一些复位后 、phy 被标识为"Generic PHY"。
一旦将其标识为"Generic PHY"、就会以这种方式标识它(即使使用 RESET 命令)、直到我断开并重新连接电路板的电源。
这可能在2-3次复位和20-30次复位后发生。
我将 "0"上的 phy 复位持续时间延长至500ms、然后在"1"上等待500ms、 然后恢复 u-boot 代码(复位线路 保持为"1")、并验证了复位电压电平是否正常。
这不是物理层地址问题、 即使 它被标识为"通用 PHY"、也会在地址0上检测到它(我通过 GPIO 写入更改了地址、在该地址上找不到任何内容):
=> mdio list ethernet@8000000: 0 - Generic PHY <--> ethernet@8000000 => mii info PHY 0x00: OUI = 0x1E525E, Model = 0x14, Rev = 0x09, 100baseT, FDX
当 PHY 被标识为"通用 PHY"时、所有寄存器值为 :0x7949、即使 PHY ID 寄存器也是如此。
MDIO 线路有一个到3.3V 的2.2KOHM 上拉电阻器。
此 phy 是此 MDIO 总线上的唯一器件。
PHY 时钟源(XI)来自 CPU 的 clkout0信号(25MHz)、并在 U-boot 期间 PHY 复位之前进行设置。
也许您知道我如何调试这个问题?
谢谢


