请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TDA4VM 大家好、我们正在使用主 TDA4 SoC 开发定制平台。
Processor SDK 版本:06_02_00 (我们计划在下一个开发阶段升级到最新的7_0x_xx)
在我们的平台上、我们已将 Marvell 88E1512以太网 PHY 连接到 MCU_CPSW、以太网可用于10Mbps 和100Mbps 链路、但建立1Gbps 链路时遇到问题。
下面是我们对 Linux 器件树的修改:
DaVinci_MDIO{
RESET-GPIO =<&Exp2 15 GPIO_ACTIVE_LOW>;// PHY 复位连接到 GPIO 扩展器2上的 GPIO 引脚15
RESET-DELAT-us =<10000>;// Marvell 88E1512在正常运行期间的最小复位脉冲宽度为10ms
phy0:以太网 phy@0{
//注意:不需要“兼容”字符串,Linux 中的 PHY 框架将是
//根据供应商 ID/设备 ID 探测 PHY
DEVICE_TYPE ="以太网 phy";
reg =<0>;
};
};
cpsw_port1{&cpsw_port1}
PHY-MODE ="RGMII-id";
PHY-Handle =<&phy0>;
};
这里是有关以太网和 Eth PHY 的内核输出:
root@j7-EVM:~# dmesg | grep phy
[0.000000] 在物理 CPU 上引导 Linux 0x000000 [0x411fd080]
[0.000000] arch_timer:以200.00MHz (phys)运行的 cp15计时器。
[0.654587] libphy:固定 MDIO 总线:探测
[0.991417] CDNs-Torrent-phy 5050000.serdes: 4通道、最大位速率5.400Gbps
[1.005363] CDNS-PCIe-host d000000.PCIe:以使用者身份链接到 phy-5000000.serdes.0
[2.194175] CDNS-PCIe-host d800000.PCIe:作为消费者链接到 phy-5010000.serdes.1
[2.456646] CDNS-PCIe-host e000000.PCIe:作为消费者链接到 phy-5020000.serdes.2
[4.115629] libphy:460000.ethernet:探测
[4.395962] cdns-ufshcd 4e840.UFS:CLK:PHY_clk、速率:19200000
[6.870944] CMBA cmba0:PHY 地址 = 0x0000c0400000
[6.901801] CMBA cmba1:PHY 地址 = 0x00000000c0800000
[6.929468] CMBA cmba2:PHY 地址 = 0x0000c0c00000
[6.963369] CMBA cmba3:PHY 地址 = 0x00000000c1000000
[6.988819] CMBA cmba4:PHY 地址 = 0x00000000c1400000
[7.012441] CMBA cmba5:PHY 地址 = 0x00000000c1800000
[7.051941] CMBA cmba6:PHY 地址 = 0x0000c1c00000
[7.900493] Marvell 88E1510 K3-cpsw-MDIO:00:连接的 PHY 驱动程序[Marvell 88E1510](MII_BUS:phy_addr=K3-cpsw-MDIO:00、IRQ=POLL)
[0.000000] 在物理 CPU 上引导 Linux 0x000000 [0x411fd080]
[0.000000] arch_timer:以200.00MHz (phys)运行的 cp15计时器。
[0.654587] libphy:固定 MDIO 总线:探测
[0.991417] CDNs-Torrent-phy 5050000.serdes: 4通道、最大位速率5.400Gbps
[1.005363] CDNS-PCIe-host d000000.PCIe:以使用者身份链接到 phy-5000000.serdes.0
[2.194175] CDNS-PCIe-host d800000.PCIe:作为消费者链接到 phy-5010000.serdes.1
[2.456646] CDNS-PCIe-host e000000.PCIe:作为消费者链接到 phy-5020000.serdes.2
[4.115629] libphy:460000.ethernet:探测
[4.395962] cdns-ufshcd 4e840.UFS:CLK:PHY_clk、速率:19200000
[6.870944] CMBA cmba0:PHY 地址 = 0x0000c0400000
[6.901801] CMBA cmba1:PHY 地址 = 0x00000000c0800000
[6.929468] CMBA cmba2:PHY 地址 = 0x0000c0c00000
[6.963369] CMBA cmba3:PHY 地址 = 0x00000000c1000000
[6.988819] CMBA cmba4:PHY 地址 = 0x00000000c1400000
[7.012441] CMBA cmba5:PHY 地址 = 0x00000000c1800000
[7.051941] CMBA cmba6:PHY 地址 = 0x0000c1c00000
[7.900493] Marvell 88E1510 K3-cpsw-MDIO:00:连接的 PHY 驱动程序[Marvell 88E1510](MII_BUS:phy_addr=K3-cpsw-MDIO:00、IRQ=POLL)
root@j7-EVM:~# dmesg | grep ethernet
[3.793364] am65-cpsw-桁 架460000.ethernet:rx-flow-id-base 未设置-22
[3.800414] am65-cpsw-桁 架460000.ethernet:正在初始化 am65 cpsw 桁架版本0x6BA00101、cpsw 版本0x6BA80100端口:2.
[3.815397] am65-cpsw-Nuss 460000.ethernet:无法请求 TX DMA 通道-517
[3.998696] am65-cpsw-桁 架460000.ethernet:rx-flow-id-base 未设置-22
[4.005769] am65-cpsw-桁 架460000.ethernet:正在初始化 am65 cpsw 桁架版本0x6BA00101、cpsw 版本0x6BA80100端口:2.
[4.023524] am65-cpsw-桁 架460000.ethernet:设置新的 flow-id-base 48
[4.038164] am65-cpsw-nuss 460000.ethernet:CPT 版本0x4e8a010a、freq:500000000、add_val:1pps:1
[4.047117] am65-cpsw-桁 架460000.ethernet:初始化 cpsw ale 版本0.4
[4.054330] am65-cpsw-桁 架460000.ethernet:ALE 表大小64
[4.107464] am65-cpsw-桁 架460000.ethernet:达芬奇 MDIO 修订版9.7、总线频率1000000
[4.115629] libphy:460000.ethernet:探测
[4.119985] am65-cpsw-nuss 460000.ethernet:重置 idled 控制器
[9.045678] am65-cpsw-桁 架460000.ethernet eth0:链路断开
[14.165744] am65-cpsw-桁 架460000.ethernet eth0:链路向上- 100Mbps/全-流量控制关闭
[3.793364] am65-cpsw-桁 架460000.ethernet:rx-flow-id-base 未设置-22
[3.800414] am65-cpsw-桁 架460000.ethernet:正在初始化 am65 cpsw 桁架版本0x6BA00101、cpsw 版本0x6BA80100端口:2.
[3.815397] am65-cpsw-Nuss 460000.ethernet:无法请求 TX DMA 通道-517
[3.998696] am65-cpsw-桁 架460000.ethernet:rx-flow-id-base 未设置-22
[4.005769] am65-cpsw-桁 架460000.ethernet:正在初始化 am65 cpsw 桁架版本0x6BA00101、cpsw 版本0x6BA80100端口:2.
[4.023524] am65-cpsw-桁 架460000.ethernet:设置新的 flow-id-base 48
[4.038164] am65-cpsw-nuss 460000.ethernet:CPT 版本0x4e8a010a、freq:500000000、add_val:1pps:1
[4.047117] am65-cpsw-桁 架460000.ethernet:初始化 cpsw ale 版本0.4
[4.054330] am65-cpsw-桁 架460000.ethernet:ALE 表大小64
[4.107464] am65-cpsw-桁 架460000.ethernet:达芬奇 MDIO 修订版9.7、总线频率1000000
[4.115629] libphy:460000.ethernet:探测
[4.119985] am65-cpsw-nuss 460000.ethernet:重置 idled 控制器
[9.045678] am65-cpsw-桁 架460000.ethernet eth0:链路断开
[14.165744] am65-cpsw-桁 架460000.ethernet eth0:链路向上- 100Mbps/全-流量控制关闭
即使我们的平台所连接的以太网卡支持1Gbs 的速度、我们仍有问题需要在我们的平台上识别它:
root@J7-EVM:~# ethtool eth0
eth0的设置:
支持的端口:[ TP MII 光纤]
支持的链路模式: 10BaseT/Half 10baseT/Full
100BaseT /半个100BaseT /全双工
1000BaseT/Half 1000Base/全双工
支持的暂停帧使用:仅对称接收
支持自动协商:是
支持的 FEC 模式:未报告
通告的链路模式: 10BaseT /半10baseT/全
100BaseT /半个100BaseT /全双工
1000BaseT/Half 1000Base/全双工
广播的暂停帧使用:否
广播自协商:是
通告的 FEC 模式:未报告
链接伙伴通告的链接模式: 100Base/Full
链接伙伴通告的暂停帧使用:否
连接方通告的自动协商:是
连接伙伴通告的 FEC 模式:未报告
速度:100Mb/s
双工:全双工
端口:MII
PHYAD:0
收发器:内部
自协商:开
支持唤醒:g
唤醒:D
当前消息级别:0x00000000 (0)
检测到链接:是
eth0的设置:
支持的端口:[ TP MII 光纤]
支持的链路模式: 10BaseT/Half 10baseT/Full
100BaseT /半个100BaseT /全双工
1000BaseT/Half 1000Base/全双工
支持的暂停帧使用:仅对称接收
支持自动协商:是
支持的 FEC 模式:未报告
通告的链路模式: 10BaseT /半10baseT/全
100BaseT /半个100BaseT /全双工
1000BaseT/Half 1000Base/全双工
广播的暂停帧使用:否
广播自协商:是
通告的 FEC 模式:未报告
链接伙伴通告的链接模式: 100Base/Full
链接伙伴通告的暂停帧使用:否
连接方通告的自动协商:是
连接伙伴通告的 FEC 模式:未报告
速度:100Mb/s
双工:全双工
端口:MII
PHYAD:0
收发器:内部
自协商:开
支持唤醒:g
唤醒:D
当前消息级别:0x00000000 (0)
检测到链接:是
从 ethtool 输出可以看出、我们没有在平台上检测到高于100Mbps 的通告链路模式。
在另一侧使用的适配器卡没有问题、因为当我们将它连接到 EVA 板时、它工作正常、下面是 EVA 板上 ethtool 的输出:
在另一侧使用的适配器卡没有问题、因为当我们将它连接到 EVA 板时、它工作正常、下面是 EVA 板上 ethtool 的输出:
root@J7-EVM:~# ethtool eth0
eth0的设置:
支持的端口:[ TP MII]
支持的链路模式: 10BaseT/Half 10baseT/Full
100BaseT /半个100BaseT /全双工
1000BaseT/Half 1000Base/全双工
支持的暂停帧使用:仅对称接收
支持自动协商:是
支持的 FEC 模式:未报告
通告的链路模式: 10BaseT /半10baseT/全
100BaseT /半个100BaseT /全双工
1000BaseT/Half 1000Base/全双工
广播的暂停帧使用:否
广播自协商:是
通告的 FEC 模式:未报告
链接伙伴通告的链接模式: 100Base/Full
1000BaseT /全速
链接伙伴通告的暂停帧使用:否
连接方通告的自动协商:是
连接伙伴通告的 FEC 模式:未报告
速度:1000Mb/s
双工:全双工
端口:MII
PHYAD:0
收发器:内部
自协商:开
支持唤醒:D
唤醒:D
当前消息级别:0x00000000 (0)
检测到链接:是
eth0的设置:
支持的端口:[ TP MII]
支持的链路模式: 10BaseT/Half 10baseT/Full
100BaseT /半个100BaseT /全双工
1000BaseT/Half 1000Base/全双工
支持的暂停帧使用:仅对称接收
支持自动协商:是
支持的 FEC 模式:未报告
通告的链路模式: 10BaseT /半10baseT/全
100BaseT /半个100BaseT /全双工
1000BaseT/Half 1000Base/全双工
广播的暂停帧使用:否
广播自协商:是
通告的 FEC 模式:未报告
链接伙伴通告的链接模式: 100Base/Full
1000BaseT /全速
链接伙伴通告的暂停帧使用:否
连接方通告的自动协商:是
连接伙伴通告的 FEC 模式:未报告
速度:1000Mb/s
双工:全双工
端口:MII
PHYAD:0
收发器:内部
自协商:开
支持唤醒:D
唤醒:D
当前消息级别:0x00000000 (0)
检测到链接:是
EVA 板在检测到另一侧的以太网适配器卡支持1000Mbps 链路模式时没有问题,并且建立该链路速度也没有问题。
您能注意到我们到目前为止可能遇到的任何问题吗?
现在、关于时钟、我们注意到 TDA4没有在 MCU_RGMII1_TXC 引脚上提供必要的125MHz 时钟、以便 PHY 能够在 RGMII 模式下正常工作、而是在 EVA 板上配置的25MHz 时钟。 我们无法在任何地方找到如何更改该时钟、也无法找到 MCU_PLL2_HSDIV0_CLKOUT 的 PLL 设置。
您能帮我们解决这个问题吗?
此致。
Uros