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
文章链接
发表评论