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.
尊敬的专家:
最近,当我在我们自己的硬件上调试以太网时,我遇到了一个问题,想咨询您,我们使用的 PHY 芯片 是 dp83822,cpsw2g 以太网接口。当我们自己的硬件电路板的网络端口连接到路由器 时, 使用 "ifconfig"命令查看网络端口信息,网络端口不能获取 IP 地址(我们使用的以太网接口为 eth0 ),并显示以下内核崩溃消息:
IFCO[121.916502]-------- [在此处剪切]-----
[121.921122] NETDEV 看门狗:eth0 (am65-cpsw-桁 架):发送队列0超时
[121.928376]警告:CPU:0 PID:0 at net/sched/sch_generic.c:442 dev_watchdog+0x300/0x308
[121.936617]中链接的模块: xhci_plat_hcd xhcd ti_am335x_adc kcontio_buf rpmsg_char cdns3 uDC_core 角色 IRQ_pruss_intc prus_intc icss_IEP vifng_core cdcti2rx us_commonic crtid_c_tcpu_tex_cinc video_toc_bul_bul_bul_bul_cinc video_de2pbul_mac ve2pbul_mac v_remote_remote_remote_remote_bul_une_bul_bul_bul_bul_bul_mctran_bul_bul_bune_bul_bul_bul_bul_bul_bul_bul_bul_beg_ctran_bul_bul_bul_bul_bul_bul_bul_bun_bul_bun_beg_ctrad_bul_bul_c pvrsrvkm (O) cdns3_ti RTI_WDT sch_fq_codel rpmsg_kdrv_switch cryptodev (O) ipv6
[122.000081] CPU:0 PID:0 Comm:swapper/0被污染:G O 5.10.41-g4c2eade9f7 #6
[122.008495]硬件名称:德州仪器(TI) K3 J721E SoC (DT)
[122.014311]状态:20000005 (nzCv daif -PAN -UAO -TCO BTYPE=-)
[122.020299] PC:DEV_TUSEND+0x300/0x308
[122.024293] LR:DEV_安全 装置+0x300/0x308
[122.028282886] sp:ff80001136fdb0
[122.031587] X29:ff80001136fdb0 x28:ff0008026b6940
[122.036884] X27:000000000004 x26:0000000000000140
[122.042181] x25:00000000ffff x24:00000000000000000000
[122.047478] x23:ff0008026b539c x22:ff0008026b5000
[122.052774] x21:ff0008026b5440 x20:ff800011131000
[122.058070] x19:000000000000 x18:000000000010
[122.063367] X17:000000000000 x16:0000000000000000
[122.068662] x15:ff80001113be30 x14:0000000000000481
[122.073959] X13:ff80001113be30 x12:0000ffffea
[122.079255] x11:ff8000111ba360 x10:ff8000111a2320
[122.084550] x9:ffff8000111a2378 x8:000000017fe8
[122.089846] x7:c0000000ffefff x6:000000000003
[122.095142] x5:0000000000000000 x4:0000000000000000
[122.100439] x3:0000000000000100 x2:0000000000000100
[122.105736] x1:cafeeac8ef3e5d00 x0:000000000000
[122.111033]呼叫跟踪:
[122.113468] DEV_TDOGER+0x300/0x308
[122.117120] call_timer_fn.isra.0+0x24/0x80
[122.12128] run_timer_softirq+0x3f0/0x418
[122.125371] EFI_HEADER_END+0x120/0x268
[122.129194] IRQ_EXIT+0xc0/0xe0
[122.132322]__Handle_domain_IRQ+0x68/0xc0
[122.136404] GIC_Handle_IRQ+0x58/0x128
[122.140138] el1_IRQ+0xCC/0x180
[122.143268] arch_cpu_idle+0x18/0x28
[122.146829] DEFAULT_IDLE_CALL + 0x20/0x68
[122.150738] do_idle+0xc0/0x128
[122.153864] CPU_STARTUP_END+0x28/0x60
[122.157772] REST_INIT+0xd4/0xe4
[122.160990] arch_call_rest _init+0x10/0x1c
[122.165071] START_kernel+0x49c/0x4d4
[122.168719]--[结束线迹3d4497e978e490a7 ]--
然后串行端口将连续打印以下日志:
am65-cpsw-nuss 460000.ethernet eth0:TxQ:0 DRV_XOFF:0 TMO:7976 dql_avail:-70 free_desc:510
代码修改::
1)编译 dp83822驱动程序到内核、并通过:phy_Write 将0x21写入寄存器0x0017 (MII_dp83822_rcsr)以启用 dp83822的 RMII 模式(硬件上没有配置、需要软件配置 )、并通过添加打印信息来确认驱动程序已运行。
2) 2) 修改了器件树的引脚复用。 连接到 dp83822的 TDA4VM 引脚从 RGMII 模式多路复用为 RMII 模式、并且根据硬件将 PHY 芯片地址从0更改为1 (开发板为 dp83867 + RGMII、我们自己的硬件为 dp83822 + RMII)
您好!
您是否先签入 Uboot? 测试新的 PHY 更容易。
[引用 userid="493771" URL"~/support/processors-group/processors/f/processors-forum/1048364/tda4vm-ethernet-cpsw2g "[121.921122] NETDEV 看门狗:eth0 (am65-cpsw-桁 架):发送队列0超时Tx 队列正超时、表明未发送数据包。 可能是 DT 更改未正确完成、导致错误的引脚多路复用器和 Tx 无法正常工作。 请通过以下主题 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/927526/faq-ccs-tda4vm-pinmux-guide-for-jacinto-processors 确认引脚多路复用
对于 PHY、这是概率的顺序(对于问题)
1、引脚复用问题
2.驱动程序初始化
3.硬件连接(用于新电路板)
此致
葡萄园
您好、Vineet
非常感谢您的回复、我确认了您的建议、结果如下:
是否先检查 Uboot? 测试新的 PHY 更容易
目前、uboot 中没有 dp83822驱动程序文件、因此无法在 uboot 中测试 PHY 芯片 dp83822
引脚复用问题
我们使用的以太网 IO 端口与开发板(cpsw2g)相同。 我们仅参考数据表、将 IO 端口功能从 RGMII 模式重用为 RMII 模式。 我确认这应该不是问题
3.驱动程序初始化
我将 dp83822驱动程序编译到内核中,了解到该驱动程序是通过在驱动程序文件 dp83822.c 中添加打印信息来运行的,并通过'ifconfig'命令检查并生成了 eth0网络接口。
硬件连接(用于新电路板)
对于 dp83822硬件、采用'RMII 主器件试验'连接方法。 我想知道 tda4vm 软件配置的区别是什么。对于 RMII 主器件和 RMII 从器件、用于 dp83822芯片。
您好、葡萄园:
感谢您的帮助、我通过在驱动程序中初始化 dp83822的相关寄存器来解决了这个问题。 目前,系统通常可以获取 IP 地址并 ping 网络