ZHCAFQ4 August 2025 DRA821U , TDA4VH-Q1 , TDA4VM , TDA4VM-Q1
本以太网固件调试指南提供了一种结构化方法,用于在集成自定义电路板和实现自定义配置期间对以太网固件问题进行故障排查。本文概述了确保网络功能无缝工作的关键调试步骤、配置检查和诊断程序。
检查调试日志
请参阅以下以太网固件 (ETHFW) 故障日志,这些日志对应不同的错误。
情况 1:配置的 CPSW MAC 端口接口与在 CTRL MMR 寄存器中选择的对应 MAC 端口的接口不匹配。
ETHFW Log:
CpswMacPort_open: MAC 5: MII mismatch with SoC setting
EnetMod_open: cpsw9g.macport5: Failed to open: -3
修复:确保专门从电路板选择以太网端口的接口,并确保其与端口配置一致。
情况 2:串行器/解串器 PLL 锁定故障。
ETHFW Log:
CpswMacPort_setSgmiiInterface: MAC 8: SERDES PLL is not locked
CpswMacPort_setSgmiiInterface
Assertion at Line: 2287 in src/mod/cpsw_macport.c: false
修复:确保通过串行接口配置的以太网端口与串行器/解串器配置中选择的串行器/解串器实例和通道(IP 实例)一致。
情况 3:gPTP 同步失败
ETHFW Log:
Cpsw_ioctl: No PHY for MAC port 1
-1
ERR:cbase:Failed to get link info: -1
ERR:cbase:cbl_query_response:failed to get speed and duplex : tilld1
INF:cbase:cbl_query_response:tilld1: link UP, speed=0, duplex=0 !!!!
修复:确保映射到 gPTP 的 CPSW MAC 端口具有有效链路。如果采用 MAC 到 MAC 连接,请集成链接中共享的补丁。
情况 4:无法打开 PHY
ETHFW Log:
Cpsw_openPortLinkWithPhy: Port 8 : Failed to open PHY.
修复:确保按照 TI PDK API 指南中的 PHY 集成指南,将 PHY 驱动程序添加到 ENET,并完成 MDIO 模式配置。
配置验证
根据配置调试任何网络问题时需检查的基础寄存器组。
与特定于 CPSW 端口的配置、链路控制和状态相关的寄存器
| 寄存器名称 | 地址 | 说明 |
|---|---|---|
| CTRL_MMR_ENETx_CTRL | 0x00104044 + (x × 0x4) | 用于检查为 CPSW MAC 端口 x 选择的功能模式 x:CPSW MAC 端口号(0 至 7) 如为 RGMII 接口,检查 MAC 中是否启用了 RGMII 延迟。 |
请参阅“如何在 J7 器件上配置 RGMII 时钟延迟”,以获取与 RGMII 延迟相关的配置。
| 寄存器名称 | 偏移地址 | 说明 |
|---|---|---|
| SGMII CTRL | 0x110 + (x × 0x100) | 对应 CPSW MAC 端口 x 的主模式和自动协商配置寄存器 x:CPSW MAC 端口号(0 至 7) |
| SGMII 状态 | 0x114 + (x × 0x100) | 状态寄存器指示与 CPSW MAC 端口 x 对应的链路状态和串行器/解串器 PLL 锁定状态 x:CPSW MAC 端口号(0 至 7) |
| SGMII 广播能力 | 0x118 + (x × 0x100) | 设置与 CPSW MAC 端口 x 对应的速度模式、双工模式和链路状态的 SGMII 广播能力 x:CPSW MAC 端口号(0 至 7) |
| RGMII 状态 | 0x30 + (x × 0x4) | 状态寄存器指示与 CPSW MAC 端口 x 对应的链路速度、双工模式和链路状态 x:CPSW MAC 端口号(0 至 7) |
| XGMII 链路寄存器 | 0x74 | 启用 XGMII 的端口的 XGMII 链路状态。 位 0:CPSW MAC 端口 1 位 1:CPSW MAC 端口 2。 |
| CPSW MAC CTRL | 0x22330 + (x × 0x1000) | MAC 控制寄存器保存了 CPSW MAC 端口 x 的速度、双工模式、GMII/XGMII 使能和模式 x:CPSW MAC 端口号(0 至 7) |
有关 ALE、CPSW 统计信息和控制寄存器的更多寄存器详情,请参阅 CPSW 寄存器规格
与串行器/解串器时钟选择、通道映射和配置相关的寄存器。
| 寄存器名称 | 地址 | 说明 |
|---|---|---|
| CTRL_MMR_SERDESx_LNy_CTRL | 0x00104080 + (x × 0x10) + (y × 0x04) | 用于检查为串行器/解串器 x 通道 y 选择的功能模式 x:串行器/解串器实例 y:串行器/解串器通道编号 |
| CTRL_MMR_SERDESx_CLKSEL | 0x00108400 + (x × 0x10) | 用于检查为串行器/解串器 x core_refclk 输入选择的时钟源 x:串行器/解串器实例,首选 MAIN_PLL3_HSDIV4_CLKOUT/MAIN_PLL2_HSDIV4_CLKOUT。 |
| CTRL_MMR_SERDESx_CLK1SEL | 0x00108404 + (x × 0x10) | 用于检查为串行器/解串器 x core_refclk1 输入选择的时钟源 x:串行器/解串器实例,首选 MAIN_PLL3_HSDIV4_CLKOUT/MAIN_PLL2_HSDIV4_CLKOUT。 |
| 寄存器名称 | 偏移地址 | 说明 |
|---|---|---|
| SERDES_TOP_CTRL | 0x408 | 时钟模式配置 |
| SERDES_RST | 0x40C | 基准时钟选择 |
| LANECTLx | 0x480 + (x × 0x40) | 通道 x 配置 x:串行器/解串器通道编号 |
| LANESTSx | 0x48C + (x × 0x40) | 通道 x 状态 x:串行器/解串器通道编号 |
| PHY_PMA_CMN_REGISTER | 0xE000 | PLL 锁定状态 |
与特定于 CPSW 端口的配置、链路控制和链路状态相关的寄存器
本指南作为以太网固件故障排查的综合资源,可确保顺利进行自定义电路板集成、配置管理和 SDK 迁移。执行以上系统性检查,可有效诊断和解决以太网相关问题。