KSZ9031芯片升级KSZ9131,内核驱动文件

本文介绍了在Xilinx ZynqMP 07EV平台上,从KSZ9031升级到KSZ9131网口驱动芯片遇到的问题。在kernel 4.19下,KSZ9131无法通过udhcpc获取IP,而更新到主线内核后问题得到解决。解决方案在于低版本内核的micrel.c驱动文件存在不兼容问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、平台
板卡黑金xilinx zynqmp 07EV
内核kernel 4.19
网口驱动芯片KSZ9031 KSZ9131
驱动文件./drivers/net/phy/micrel.c

2、现象
由于KSZ9031网口驱动芯片难以采购,供应商提供KSZ9131来代替9031,硬件电路无差异,内核起来之后发现无法通过udhcpc获取IP地址,内核并处错误上报

3、解决办法
尝试使用最新主线版本内核发现ksz9131是能够正常使用,可以通过udhcpc获取IP地址,经给对比发现是低版本内核驱动文件存在问题

	经过对比跟读代码,解决ksz9131的驱动问题,只需要将下面代码插入micrel.c对应的地方,编译内核既可以
实现驱动兼容问题
 692 static int phy_modify_mmd(struct phy_device *phydev, int devad, u32 regnum,
 693                              u16 mask, u16 set)
 694 {
   
 695         int new, ret;
 696 
 697         ret = phy_read_mmd(phydev, devad, regnum);
 698         if (ret < 0)
 699                 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值