LED_0、LED_1和 RX_D2引脚通过外部2.49k 上拉电阻器进行引导、但 寄存器0x45D 的间接寄存器访问 返回错误-95
[1.951142] --> DWC_ETH_QOS_MDIO_register
[1.951145]
[1.951145]********* PHY 寄存器转储
[1.951609] PHY 控制寄存器(基本模式控制寄存器)(0x0)= 0x2100
[1.958026] PHY 状态寄存器(基本模式状态寄存器)(0x1)= 0x61
[1.964105] PHY ID (PHY ID 1)(0x2)= 0x2000
[1.969915] PHY ID (PHY ID 2)(0x3)= 0xa271
[1.974345] 自动导航广播(广播控制寄存器)(0x4)= 0x1
[1.978599] 自动协商(链路伙伴能力寄存器)(0x5)= 0x0
[1.984589] 自动导航扩展寄存器(扩展寄存器)(0x6)= 0x0
[1.990230] 自动导航 NP (0x7)= 0x2001
[1.995349] 扩展状态寄存器(0xF)= 0x0
[1.998908] 1000 CTL 寄存器(1000BASE-T 控制寄存器)(0x9)= 0x0
[2.003078] 1000 STS 注册器(1000BASE-T 状态)(0xA)= 0x100
[2.008980] PHY CTL 寄存器(0x10)= 0x4
[2.014273] PHY STS 寄存器(0x11)= 0x10b
[2.017918] PHY Intr 状态寄存器(0x13)= 0x0
[2.021479] PHY Intr EN 寄存器(0x12)= 0x4000
[2.025905] 智能速度寄存器(0x14)= 0x0
[2.029398]
[2.029398]
[2.033984] phyaddr 0 phy_reg_read_status 0 MII_status 61
[2.033987] DWC_ETH_QoS:在 ID/ADDR 0上检测到 PHY
[2.033992] libphy:__mdiobus_register
[2.035318] libphy:__mdiobus_register I 0
[2.035321] libphy:__mdiobus_register I 0 bus->phy_mask FFFFFFFE
[2.035324] libphy:get_phy_device
[2.035325] libphy:get_phy_id
[2.036151] libphy:get_phy_id * phy_id 2000a271
[2.036153] libphy:PHY_DEVICE_CREATE
[2.036436] libphy:mdiobus_scan
[2.036518] libphy:PHY_BUS_MATCH
[2.036522] libphy:PHY_BUS_MATCH
[2.036524] libphy:PHY_BUS_MATCH
[2.036526] libphy:PHY_BUS_MATCH
[2.036528] libphy:PHY_BUS_MATCH
[2.036530] libphy:PHY_BUS_MATCH
[2.036532] libphy:PHY_BUS_MATCH
[2.036571] libphy:PHY_PROBE
[2.036588] TI DP83TC812CS2.0:DWC_phy-1:00的探测失败、错误-95
[2.036592] libphy:PHY_BUS_MATCH
[2.036594] libphy:PHY_BUS_matc
假设 我们的内核版本4.9与812驱动器不兼容、TI 要求我们将 phy_read_md 命令替换为"phy_write_間 接"命令。
进行上述更改后、错误-95消失了、但寄存器0x45d 读取的是全0、而不是预期的0x2280 (引脚 LED_0 - LED_1 - RX_D2具有1.8V VDDIO 的外部2.49k 上拉电阻)