https://e2e.ti.com/support/interface-group/interface/f/interface-forum/897592/dp83867cs-ds83867
器件型号:DP83867CS您好、先生、
我负责 TI DP83867以太网 PHY 工作的客户本周启动。
现在,我们可以在 Linux 中看到 eth0,但无法通过 ping 获得任何响应。
CLK_OUT 的频率为25MHz。
由于 RGMII、它应该为125MHz。
我们是否需要更改寄存器 IO_MUX_CFG (0x170)设置?
2. MDIO 似乎不起作用?
回读 phy id (通过函数:get_phy_id ())始终为0。
但从驱动程序中、它应该是0x2000a231。
我不确定这是根本原因,因此 dp83867 (phy_driver)无法连接到 phydev->mdio.dev.driver。
事实上,genphy_driver 已在函数:phy_attach_direct()中注册。
3.我检查源代码和规格、器件地址为0x1f。
我应该将此地址分配给.dts 吗?
作为我的客户回应、TI 上周帮助其中一位客户在 Amba CV22芯片上启动了 DP83867。
请帮助我们找出根本原因。
===
这就是我要更改的内容:
内置的 Linux-4.14/drivers/net/phy/dp83867.c 内核
2.在.dts 中定义 mac0。
mac0:以太网@e000e000{
状态="ok";
pinctrl-0 =<&RGMII_PINs>;
/*amb、AHB-12MHz-div =<5>;*/
amb、TX-clk-invert;
/*amb、int-GTX-clk125;*/
/*amb、ext-ref-clk;*/
PHY-MODE ="RGMII";
PHY@0{
兼容="Eth以 太网-phy-IEEE802.3-C22";
reg =<31>; ß 我应该在这里分配31 (0x1f)吗?
RST-GPIO =<&GPIO 25 0>;
TI、Rx 内部延迟= ;
TI、TX 内部延迟= ;
TI、FIFO 深度= ;
ti、dp83867-rxctrl-strap -quirk;
Enet-phy-lane swap;
};
};
谢谢、Ian。