瑞芯微RK3568识别不到PHY RTL8211芯片——排查问题看这一篇就够了!!!

📅 发布时间:2026/10/10 2:28:13
瑞芯微RK3568识别不到PHY RTL8211芯片——排查问题看这一篇就够了!!!
解决ARM芯片cannot attch to phy1.硬件配置1.1 芯片型号ARM:RK3568PHY:RTL8211F-CG1.2 硬件相关配置主要关注PHY地址RST GPIO管脚配置RST复位时序配置1phy地址通过对RGMII0_RXDVRGMII0_RX_CLKRGMII0_RXD3这三个管脚 进行上下拉电阻实现本次使用的地址是0012RST GPIO管脚本次硬件使用GPIO3_C32.设备树配置1) phy地址配置要求与硬件匹配2RST配置检查①处GPIO管脚与硬件电路是否 保持一致检查②处的复位市场是否满足phy芯片的要求本次配置是低20ms,然后复位释放;满足PTL8211的芯片手册最低10ms3.调试思路如果你通过上述配置并且在烧写完img通过adb shell检查地址和rst时序完全符合硬件电路但是仍然识别不到phy芯片,于是按照ARM端和PHY端思路分别调试3.1 ARM端ARM通过MDC、MDIO去是被PHY芯片所以需要先检查这两个信号是否输出正常1PHY芯片时序要求pre 前导码 32个1 PHYAD字段就是对应这PHY芯片地址当前为5b1REGAD字段对应这PHY芯片内部寄存器建议使用示波器的两个探头一起观测MDC和MDIO波形示波器需要single抓取因为MDC和MDIO信号不是一直存在的所以软件端可以循环执行如果你是连接到Linux adb1..10 | ForEach-Object { adb shell echo fe2a0000.ethernet /sys/bus/platform/drivers/rk_gmac-dwmac/unbind Start-Sleep -Milliseconds 500 adb shell echo fe2a0000.ethernet /sys/bus/platform/drivers/rk_gmac-dwmac/bind Start-Sleep -Seconds 2 }如果你是连接Windows adb设备在Windows power shell 下执行$Adb .\adb.exe $Device fe2a0000.ethernet $Driver /sys/bus/platform/drivers/rk_gmac-dwmac $PhyDev /sys/bus/mdio_bus/devices/stmmac-0:01 1..10 | ForEach-Object { Write-Host n 第 $_ 次识别 -ForegroundColor Cyan # 如果当前已经绑定则先解绑 $Adb shell if [ -L /sys/bus/platform/devices/$Device/driver ]; then echo $Device $Driver/unbind; else echo ALREADY_UNBOUND; fi Start-Sleep -Milliseconds 800 # 如果当前处于解绑状态则重新绑定 $Adb shell if [ ! -L /sys/bus/platform/devices/$Device/driver ]; then echo $Device $Driver/bind; else echo ALREADY_BOUND; fi Start-Sleep -Seconds 2 # 检查PHY地址1及PHY ID $Adb shell if [ -f $PhyDev/phy_id ]; then echo -n PHY_ID; cat $PhyDev/phy_id; else echo PHY_NOT_FOUND; fi }执行上面代码后示波器探测MDC和MDIOMDCMDIO32个1 01 10 00001phy地址00010对应phy寄存器读id的地址检查MDC频率应该为2.5M检查MDIO是否满足可以观察到MDIO前面也就是ARM发送部分是正确的ARM端这个地方配置没问题地址配置检查没问题但是后面为全1说明PHY芯片没有返回正确的数值说明PHY没有正常初始化2RST检查示波器可以下降沿触发抓取RST信号抓取的信号需要满足高低20ms大于10ms高3检查驱动如果以上都正确可以基本上说ARM端配置没问题问题出在phy芯片的硬件3.2 PHY端 硬件排查1上电后 检查 各个电源 是否存在、3.3、1.8、1V供电如有任意一个不存在说明硬件有问题2上电后检查25M时钟是否正常起振如果不正确说明硬件有问题3如果不幸的是 上面这个两个硬件还是没问题这个时候就需要关注一下PHY芯片的上电时序先3.3v-1V 1v电压和25M时钟需要在RST复位释放前就已经稳定这个地方1V供电对布局布线等都有要求通过0欧应该不能通过磁珠替换4最终我们是通过更换PHY芯片把这个问题解决了