Linux内核中 SPI以太网W5500问题

Linux内核中 SPI以太网W5500问题

Linux内核驱动中将W5500 W5200和W5100集成到了一起,本人只用到了W5500。

问题描述

绿灯LinkLED和黄灯ACTLED交替闪烁,而正常状态应该为LinkLED常亮
ifconfig eth0 报错
在这里插入图片描述
经过观察W5500网卡在整个板子复位时大多数情况是可以正常DHCP分配IP的,而adb reboot的时候大多数时候DHCP分配IP失败就会有上述错误状态,怀疑是复位有问题,分析代码果然函数名称为硬件复位(w5100_hw_reset)的函数在内部调用了软件复位函数
在w5100_hw_reset之前加上硬件复位代码,解决该问题。

static int w5100_hw_reset(struct w5100_priv *priv)
{
	u32 rtr;
    //此处增加硬件复位代码

	//w5100_reset为软件复位
	w5100_reset(priv);

	w5100_disable_intr(priv);
	w5100_write_macaddr(priv);

	switch (priv->ops->chip_id) {
	case W5100:
		w5100_memory_configure(priv);
		rtr = W5100_RTR;
		break;
	case W5200:
		w5200_memory_configure(priv);
		rtr = W5100_RTR;
		break;
	case W5500:
		w5500_memory_configure(priv);
		rtr = W5500_RTR;
		break;
	default:
		return -EINVAL;
	}
return 0;

}``

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值