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.
工具与软件:
尊敬的 TI
我们使用 J7200 (DRA821U)制造了新的测试板
我将 PHY 连接到 CPSW5G 端口1 (RGMII1)
| CPSW5G 端口1 |-- RGMII --| TI PHY (DP83867) |
我还按照如下所示更改了 DTS
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 */ >; }; &cpsw0 { pinctrl-names = "default"; pinctrl-0 = <&main_rgmii1_pins_default>; status = "okay"; }; &cpsw5g_mdio { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&main_mdio0_pins_default>; #address-cells = <1>; #size-cells = <0>; main_phy0: ethernet-phy@0 { reg = <0>; ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; ti,min-output-impedance; }; }; &cpsw0_port1 { status = "okay"; phy-mode = "rgmii-rxid"; phy-handle = <&main_phy0>; mac-address = [00 00 00 00 00 00]; phys = <&cpsw0_phy_gmii_sel 1>; };
它会生成内核严重错误
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: [ 14.229612] dev_watchdog+0x214/0x220 [ 14.229619] call_timer_fn.constprop.0+0x24/0x80 [ 14.229632] __run_timers.part.0+0x1f0/0x234 [ 14.229641] run_timer_softirq+0x3c/0x7c [ 14.229650] _stext+0x124/0x27c [ 14.229657] __irq_exit_rcu+0xb4/0xe0 [ 14.229666] irq_exit+0x10/0x20 [ 14.229673] arch_do_IRQ_pipelined+0x48/0x70 [ 14.229682] sync_current_irq_stage+0x168/0x270 [ 14.229696] __inband_irq_enable+0x78/0x8c [ 14.229709] inband_irq_enable+0x10/0x20 [ 14.229714] arch_cpu_idle+0x1c/0x2c [ 14.229722] default_idle_call+0x50/0x6c [ 14.229735] do_idle+0x23c/0x2b0 [ 14.229747] cpu_startup_entry+0x34/0x40 [ 14.229758] secondary_start_kernel+0x138/0x164 [ 14.229769] __secondary_switched+0xb0/0xb4 [ 14.229777] ---[ end trace 0000000000000000 ]---
下面以连续方式显示内核消息。
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
我删除了链路并再次引导、但如下所示初始化以太网端口失败。
[ 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
我还在 EVM 中添加了使用 MCU_CPWS 的 am65-cpsw-nuss。
[ 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
主要区别在于我的板报告"PSI-L Request err -22"
我还尝试通过禁用 CONFIG_TI_AM65_CPSW_NUSS 来在 uboot 中禁用 MCU_CPWS 初始化、 但也失败了。
请在下面找到 uboot 日志。
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
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的状态时、它设置正确、如下所示。
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 Speed: 1000Mb/s Duplex: Full Auto-negotiation: on master-slave cfg: preferred slave master-slave status: slave Port: Twisted Pair PHYAD: 0 Transceiver: external MDI-X: Unknown Supports Wake-on: ubgs Wake-on: d SecureOn password: 00:00:00:00:00:00 Current message level: 0x000020f7 (8439) drv probe link ifdown ifup rx_err tx_err hw
当我们检查 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
对于我检查的情况、 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