This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VM:[DRA821U]主 CPSW RGMII 问题

Guru**** 1955920 points
Other Parts Discussed in Thread: DRA821U
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1427207/tda4vm-dra821u-main-cpsw-rgmii-issue

器件型号:TDA4VM
主题中讨论的其他器件:DRA821UDRA821

工具与软件:

尊敬的 TI

我们使用 J7200 (DRA821U)制造了新的测试板

我将 PHY 连接到 CPSW5G 端口1 (RGMII1)

| CPSW5G     端口1    |-- RGMII --| TI PHY (DP83867)  |

我还按照如下所示更改了 DTS

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
main_mdio0_pins_default: main_mdio0-default-pins {
pinctrl-single,pins = <
J721E_IOPAD(0xa8, PIN_OUTPUT, 5) /* (W19) UART8_TXD.MDIO0_MDC */
J721E_IOPAD(0xa4, PIN_INPUT, 5) /* (W14) UART8_RXD.MDIO0_MDIO */
>;
};
main_rgmii1_pins_default: main_rgmii1-default-pins {
pinctrl-single,pins = <
J721E_IOPAD(0x4, PIN_INPUT, 4) /* (AA17) RMII1_RXD0.RGMII1_RD0 */
J721E_IOPAD(0x8, PIN_INPUT, 4) /* (Y15) RMII1_RXD1.RGMII1_RD1 */
J721E_IOPAD(0xc, PIN_INPUT, 4) /* (AA20) RMII1_CRS_DV.RGMII1_RD2 */
J721E_IOPAD(0x10, PIN_INPUT, 4) /* (Y17) RMII1_RX_ER.RGMII1_RD3 */
J721E_IOPAD(0x1c, PIN_INPUT, 4) /* (AA19) RMII1_TXD1.RGMII1_RXC */
J721E_IOPAD(0x14, PIN_INPUT, 4) /* (Y16) RMII1_TXD0.RGMII1_RX_CTL */
J721E_IOPAD(0x30, PIN_OUTPUT, 4) /* (Y18) MCAN2_TX.RGMII1_TD0 */
J721E_IOPAD(0x34, PIN_OUTPUT, 4) /* (Y19) MCAN2_RX.RGMII1_TD1 */
J721E_IOPAD(0x38, PIN_OUTPUT, 4) /* (Y21) MCAN3_TX.RGMII1_TD2 */
J721E_IOPAD(0x3c, PIN_OUTPUT, 4) /* (W16) MCAN3_RX.RGMII1_TD3 */
J721E_IOPAD(0x44, PIN_OUTPUT, 4) /* (Y20) MCAN4_RX.RGMII1_TXC */
J721E_IOPAD(0x40, PIN_OUTPUT, 4) /* (W15) MCAN4_TX.RGMII1_TX_CTL */
>;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

它会生成内核严重错误

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
14.222084] NETDEV WATCHDOG: eth0 (am65-cpsw-nuss): transmit queue 0 timed out
[ 14.229333] WARNING: CPU: 1 PID: 0 at net/sched/sch_generic.c:525 dev_watchdog+0x214/0x220
[ 14.229359] Modules linked in: rpmsg_client_sample rpmsg_ctrl rpmsg_char virtio_rpmsg_bus rpmsg_ns ti_am335x_adc cdns3 kfifo_buf cdns_usb_common spidev crct10dif_ce phy_can_transceiver hbmc_am654 hyperbus_core ti_k3_r5_remoteproc k3_j72xx_bandgap ti_am335x_tscadc sa2ul pci_j721e_ep pcie_cadence_ep pci_j721e_host pcie_cadence_host pci_j721e cdns3_ti pcie_cadence rti_wdt spi_omap2_mcspi optee_rng rng_core cfg80211 rfkill fuse drm drm_panel_orientation_quirks ipv6
[ 14.229456] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.1.80-gcfac743d18fc-dirty #28
[ 14.229465] Hardware name: PKAA ACU board (DT)
[ 14.229468] IRQ stage: Linux
[ 14.229473] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 14.229482] pc : dev_watchdog+0x214/0x220
[ 14.229490] lr : dev_watchdog+0x214/0x220
[ 14.229497] sp : ffff80000afabb30
[ 14.229500] x29: ffff80000afabb30 x28: 0000000000000005 x27: ffff800008a1e170
[ 14.229513] x26: ffff80000ad27dc0 x25: ffff00087f7b7f68 x24: ffff80000afabc00
[ 14.229524] x23: ffff80000ad27000 x22: 0000000000000000 x21: ffff000801b8239c
[ 14.229535] x20: ffff000801b82000 x19: ffff000801b82448 x18: ffffffffffffffff
[ 14.229545] x17: 6f2064656d697420 x16: 3020657565757120 x15: 74696d736e617274
[ 14.229556] x14: 203a297373756e2d x13: ffff80000ad41870 x12: 00000000000005e8
[ 14.229566] x11: 00000000000001f8 x10: ffff80000ad99870 x9 : 0000000000000400
[ 14.229577] x8 : 0000000000000000 x7 : ffff0008085ba3e8 x6 : 000000004b1717a6
[ 14.229587] x5 : 0000000000000003 x4 : ffff800874bf1000 x3 : ffff800874bf1000
[ 14.229597] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0008000f6580
[ 14.229608] Call trace:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

下面以连续方式显示内核消息。

am65-cpsw-nuss c000000.ethernet eth0:TxQ:0 DRV_XOFF:0 tmo:37812 dql_avail:-90 free_desc:515

您能检查一下并提供一些有关如何调试的建议吗?

仅供参考、我使用"ti-processor-sdk-linux-j7200-evm-09_02_00_04"

BR

杰斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我可以知道您使用的引导流程吗?

    此外、确认 MCU2_0上未加载 ETHFW?

    如果您使用的是经过 SBL 优化的引导流程、其中不存在 u-boot。 请参阅 常见问题解答 [如何在 SBL 优化引导流程中解决 Linux 中的 NETDEV 看门狗错误]、并按照建议的修复方法进行操作并确认一次。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Sudheer。

    我不知道我们的板的启动流程。

    我们的参考是 J2700X SOM 板、它将使用以下引导二进制文件。

    - tiboot3.bin、 tispl.bin、u-boot.img  

    因此、我似乎没有使用经过 SLB 优化的引导流程、因为它使用 u-boot。

    我不清楚什么是 ETHFW 和 MCU2_0。

    您能添加更多关于它们的信息吗?

    BR

    杰斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价用户 id="606047" url="~/support/processors-group/processors/f/processors-forum/1427207/tda4vm-dra821u-main-cpsw-rgmii-issue/5471595 #5471595"]

    我们的参考是 J2700X SOM 板、它将使用以下引导二进制文件。

    - tiboot3.bin、 tispl.bin、u-boot.img  

    [报价]

    您能否 检查 Linux 终端日志、如果您观察到 u-boot 打印、则 u-boot 存在。

    并且我不清楚什么是 ETHFW 和 MCU2_0.

    默认 CPSW5G 由在 MCU2_0上运行的 ETHFW 应用启用。 它会在 QSGMII 模式下配置。
    确保 MCU2_0上加载的固件二进制文件不是 ETHFW 映像、如果 ETHFW、则将 IPC 回显测试二进制文件软链接到 MCU2_0 (main_r5f0_0)。

    默认情况下、ETHFW 二进制文件可以软链接到 MCU2_0映像。 通过运行进行检查 "#ls -l /lib/firmware "  启动 EVM 后所需的全部设置。
    请参考以下内容。


    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Sudheer。

    我检查过、main_r5f0二进制文件链接如下

    ls -l /lib/firmware
    lrwxrwxrwx 1根根10月21日65 2024 j7200-main-r5f0_0-FW ->/lib/firmware/ti-eth/j7200/app_remoteswitchcfg_server_strip.xer5f
    lrwxrwxrwx 1根根2012年10月21日72日 j7200-main-r5f0_0-fw-sec ->/lib/firmware/ti-eth/j7200/app_remoteswitchcfg_server_strip.xer5f.signed

    我删除了链路并再次引导、但如下所示初始化以太网端口失败。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [ 1.658490] am65-cpsw-nuss c000000.ethernet: initializing am65 cpsw nuss version 0x6BA02102, cpsw version 0x6BA82102 Ports: 5 quirks:00000000
    [ 1.671261] am65-cpsw-nuss c000000.ethernet: Use random MAC address
    [ 1.677524] am65-cpsw-nuss c000000.ethernet: initialized cpsw ale version 1.4
    [ 1.684644] am65-cpsw-nuss c000000.ethernet: ALE Table size 512
    [ 1.690969] am65-cpsw-nuss c000000.ethernet: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
    [ 2.326716] am65-cpsw-nuss c000000.ethernet: initializing am65 cpsw nuss version 0x6BA02102, cpsw version 0x6BA82102 Ports: 5 quirks:00000000
    [ 2.339714] am65-cpsw-nuss c000000.ethernet: Use random MAC address
    [ 2.345996] am65-cpsw-nuss c000000.ethernet: initialized cpsw ale version 1.4
    [ 2.353148] am65-cpsw-nuss c000000.ethernet: ALE Table size 512
    [ 2.359672] am65-cpsw-nuss c000000.ethernet: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
    [ 2.370672] am65-cpsw-nuss c000000.ethernet: set new flow-id-base 60
    [ 5.170256] am65-cpsw-nuss c000000.ethernet: PSI-L request err -22
    [ 5.196431] am65-cpsw-nuss c000000.ethernet eth0: PHY [c000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [ 5.223209] am65-cpsw-nuss c000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [ 9.316771] am65-cpsw-nuss c000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/t
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    我还在 EVM 中添加了使用 MCU_CPWS 的 am65-cpsw-nuss。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [ 1.354106] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA02102, cpsw version 0x6BA82102 Ports: 2 quirks:00000000
    [ 1.366974] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
    [ 1.374183] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
    [ 1.384647] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:500000000, add_val:1 pps:1
    [ 2.091073] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA02102, cpsw version 0x6BA82102 Ports: 2 quirks:00000000
    [ 2.103944] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
    [ 2.111154] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
    [ 2.121672] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:500000000, add_val:1 pps:1
    [ 2.133162] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48
    [ 5.640770] am65-cpsw-nuss 46000000.ethernet eth0: PHY [46000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [ 5.664887] am65-cpsw-nuss 46000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    主要区别在于我的板报告"PSI-L Request err -22"

    我还尝试通过禁用 CONFIG_TI_AM65_CPSW_NUSS 来在 uboot 中禁用 MCU_CPWS 初始化、 但也失败了。

    请在下面找到 uboot 日志。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    U-Boot 2023.04-g6813f29e-dirty (Oct 21 2024 - 16:59:03 +0900)
    SoC: J7200 SR2.0 GP
    Model: Texas Instruments K3 J7200 SoC
    DRAM: 2 GiB (effective 4 GiB)
    Core: 80 devices, 31 uclasses, devicetree: separate
    Flash: 0 Bytes
    MMC: mmc@4f80000: 0, mmc@4fb0000: 1
    Loading Environment from MMC... OK
    In: serial@2800000
    Out: serial@2800000
    Err: serial@2800000
    Net: No ethernet found.
    Hit any key to stop autoboot: 0
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    BR

    杰斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Sudheer。

    我发现 R5固件也加载在 uboot 中。 (在 uboot 中运行 boot_rprocs 命令)

    在删除以太网端口后、我终于成功地对其进行了正确初始化。

    感谢您的支持

    BR

    杰斯

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Sudheer。

    甚至以太网端口配置没有错误。 Ping 无法正常工作。

    ifconfig 中有 RX/TX 数据包、但没有通过 ping 命令进行响应。

    BR

    杰斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价用户 id="606047" url="~/support/processors-group/processors/f/processors-forum/1427207/tda4vm-dra821u-main-cpsw-rgmii-issue/5472046 #5472046"]

    甚至以太网端口配置没有错误。 Ping 无法正常工作。

    ifconfig 中有 RX/TX 数据包、但没有通过 ping 命令进行响应。

    [报价]

    RGMII 中的 Tx 和 RX 延迟可能会出现问题。

    请参阅 常见问题解答 [如何配置 RGMII 延迟]、并与您的硬件团队核实硬件 原理图中是否考虑了 RGMII 延迟? 并配置" PHY 模式" 信号解调。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Sudheer。

    当我们通过 tcpdump 检查 RX/TX 数据包时、它可以接收 Rx 数据包。 但 TX 数据包 传输不正确

    请 在下面的测试板中找到测试条件和 tcpdump cature。

    -测试板(IP 地址:192.168.250.100. MAC: 7A:2E:D6:C3:2E:C4)

    - EVM (IP 地址: 192.168.250.101)

    ----------------------------------------------------------------------------------------------------------------------------

    7:44:09.022596 ARP、请求 who-has j7200-evm tell 192.168.254.101、长度46 <<=正确接收到数据包
    17:44:09.022638 ARP、reply j7200-evm IS-at 7a:2e:d6:c3:2e:c4 (oui 未知)、长度28 <<=尝试发送响应数据包

    -但 EVM 无法接收 ARP 回复。

    -----------------------------------------------------------------------------------------------------------------------------

    当我们通过 ethtool 检查 eth0的状态时、它设置正确、如下所示。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    root@j7200-evm:~# ethtool eth0
    Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Supported pause frame use: Symmetric
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    当我们检查 RGMII1_TXC 时、它不是125MHz。 它是119Mhz ~ 121MHz

    (通过删除串行寄存器将 RGMII1_TXC 与 PHY 分离后、我们检查了 RGMII1_TXC。)

    RGMII1_RXC 是从 PHY 发送的125MHz。

    这似乎是它只能接收 Rx 数据包的主要原因。

    有什么我应该检查的?

    BR

    杰斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您是否尝试过 phy-mode 作为"rgmi-id"?

    引导电路板后、您能否共享以下命令的日志?
    #k3conf 转储时钟19.

    检查日志是否 RGMII_MHz_250_CLK 为250000000Hz。 如果是、请检查您的原理图是否存在添加到通道以降低频率的任何电容。

    请与 TI EVM 原理图进行比较以供参考。

    此致、
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好、Sudheer

    请在下面找到我的答案。

    您是否尝试过 phy-mode 作为"rgmi-id"?

    -我试过 RGMII-id,但没有效果。

    请在下方查找 k3conf.log

    e2e.ti.com/.../k3conf.log

    对于我检查的情况、  RGMII_MHz_250_CLK 为250000000Hz

    |  19   |  10  | DEV_CPSW0_RGMII_MHz_250_CLK                        | CLK_STATE_READY | 250000000    |

    BR

    杰斯

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价用户 id="606047" url="~/support/processors-group/processors/f/processors-forum/1427207/tda4vm-dra821u-main-cpsw-rgmii-issue/5474722 #5474722"]

    您是否尝试过 phy-mode 作为"rgmi-id"?

    -我试过 RGMII-id,但没有效果。

    [报价]

    好的。 感谢您的确认。

    [报价用户 id="606047" url="~/support/processors-group/processors/f/processors-forum/1427207/tda4vm-dra821u-main-cpsw-rgmii-issue/5474722 #5474722"]

    对于我检查的情况、  RGMII_MHz_250_CLK 为250000000Hz

    |  19   |  10  | DEV_CPSW0_RGMII_MHz_250_CLK                        | CLK_STATE_READY | 250000000    |

    [报价]

    是的、好像250MHz 时钟被提供给了 RGMII。 H/W 将在 RGMII TxC 线路上输出125MHz 时钟。

    您能否确认 RGMII 接口原理图、请参阅 ti DRA821页面中的 TI EVM 设计文件(原理图)作为参考。
    https://www.ti.com/tool/J7200XSOMXEVM

    此致、
    Sudheer

x 出现错误。请重试或与管理员联系。