主题中讨论的其他器件:DP83869
您好、先生、
我使用的是双通道"BCM54616S" Broadcom 10/100/1000 PHY 芯片、其铜缆接口与基于 AM335x 的控制器相连。
尝试从 Broadcom Copper PHY 芯片迁移到 TI DP83869 PHY 芯片100BASE-FX 光纤。 同样、我对 U-Boot、Linux 内核和 DTB 进行了更改
我们在 U-boot 中遇到了问题。 当更改如下定义的掩码(DP83869_TLOP_MODE_MASK)时、U-Boot 中的问题得到了解决。 现在、TFTP 在 U-boot 中运行良好
-#define DP83869_TLOP_MODE_MASK (2、0)
+#define DP83869_TLOP_MODE_MASK (11、9)
-dp83869->mode =(U16)(val & DP83869_strap _op_mode_mask);
+ dp83869->mode =(U16)((val & DP83869_strap _op_mode_mask)>> 9);
设置自举模式为'DP.83869_RGMII_100_BAS'。 当将正确的模式保存到变量'd prop83869->mode'时,问题就会得到解决。
--------------------------------------------------
目前,我们在 Linux 内核中遇到问题(内核版本:4.14.67)。 新的驱动程序模块(DP83869)未启动网络。 启动日志中出现以下错误。
正在配置网络接口... [9.118604] net eth0:正在初始化 cpsw 版本
版本1.12 (0)
[9.127120] libphy:找不到 Phy 4a101000.mdio:02
[9.131950] net eth0:在从器件0、ERR -19上找不到 PHY "4a101000.MDIO:02"
[9.148662] IPv6:ADDRCONF (NETDEV_UP):eth0:链路未就绪
设置自举中的 PHY 地址:
ETH0:10
ETH1:11.
这是与以下问题类似的问题
e2e.ti.com/.../linux-am335x-ethernet-not-getting-up
我可以找到以下补丁 来解决此问题。 但遗憾的是、我们的模式是"DUAL EMAC"
github.com/.../0001-cpsw-search-for-phy.patch
当应用上述补丁时、会发生内核严重错误。 以下是启动日志。 我认为在尝试配置第二个接口时会出现此问题。
正在配置网络接口... [22.024828] net eth0:正在初始化 cpsw 版本
版本1.12 (0)
[22.073167] TI DP83869 4a100.MDIO:0A:连接的 PHY 驱动器[TI DP83869](英里
I_bus:phy_addr=4a101000.mdio:0A、IRQ=POLL)
[22.084071] 无法在虚拟地址处处理内核 NULL 指针解除引用
SS 00000000
[22.092202] PgD = c0004000
[22.104651] IPv6:ADDRCONF (NETDEV_UP):eth0:链路未就绪
[22.111977] [000000000000]* PgD=00000000
[22.132476] 内部错误:Oops:800007[#1]抢占 ARM
[22.138107] 模块链接于:
感谢任何人在 AM335X 双 MAC 模式下共享补丁/解决方案来解决此问题。
此致
Anees PK。