AM5728 phy初始化卡死问题

本文档记录了一次针对AM5728处理器在启动Linux时遇到的网络接口问题的排查过程。从TI官方的debug信息中确认PHY硬件无误后,发现重复的日志提示ETH0和ETH1的链接状态。通过对设备树配置的分析及硬件原理图比对,发现硬件缺失了PHY1芯片,由于AM5728支持双网口,最终通过屏蔽dual_emac关键字将配置改为单网口,成功运行Linux。
摘要由CSDN通过智能技术生成

根据TI官方debug信息https://processors.wiki.ti.com/index.php/Ethernet_Triage_Checklist_for_AM3x/4x/5x_CPSW可以看出出现以下信息说明phy的硬件是没有问题的,之后出现的问题TI才会去提供帮助。

[    3.053916] cpsw 48484000.ethernet: Detected MACID = 34:03:de:ef:5e:54
[    3.060541] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[    3.066944] cpsw 48484000.ethernet: ALE Table size 1024
[    3.072256] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
[    3.080252] cpsw 48484000.ethernet: cpsw: Detected MACID = 34:03:de:ef:5e:55

接下来加载Linux时,始终重复的打印如下log:

[  396.877450] cpsw 48484000.ethernet eth0: Link is Down
[  396.888206] IP-Config: Retrying forever (NFS root)...
[  396.893339] net eth0: initializing cpsw version 1.15 (0)
[  397.022390] Micrel KSZ9031 Gigabit PHY 48485000.mdio:01: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=48485000.mdio:01, irq=POLL)
[  397.038974] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  397.044914] net eth1: initializing cpsw version 1.15 (0)
[  397.053345] net eth1: phy "/ocp/ethernet@48484000/mdio@48485000/ethernet-phy@2" not found on slave 1
[  397.063574] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[  399.129306] cpsw 48484000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
[  399.137237] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  399.161631] Sending DHCP and RARP requests ...... timed out! 

通过反复打印的log大概率判断还是phy驱动有问题,具体什么问题到这里还是有点懵。

接着看了下dts关于phy的配置,发现是两个phy。对应这eth0和eth1,查找log上下文发现eth0没有任何报错,推测是phy1出了问题。在结合硬件原理图发现,PCB上没有焊接phy1芯片。到这里基本可以确定是硬件缺少一个phy1的原因了,因为本身am5728支持双网口,最后配置DTS为一个网口就成功跑起来了。

主要屏蔽的是: dual_emac关键字

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从明天起20200323

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值