zynq-dr e0002000.usb: Unable to init USB phy, missing?

15 篇文章 0 订阅

问题:
zynq 7030板卡使用usb设备驱动时,报错如题。
最终的定位:
硬件问题。
解决过程:
usb驱动在之前的一个7020板卡上使用过时没问题的,除了fsbl要更改,再换掉PL代码就可以的。当时也不怀疑自己,只是由于硬件工程师很忙,所以自己先定位。
查看各大佬和官方的论坛,搜集到一下方法:
1)驱动中增加USB控制器的复位
查看自己的最小系统,确实是reset管脚没有勾选,并硬件连接到PL一个比较随意的管脚上;
在内核中修改代码增加管脚控制,结果是无效,依然报上述错误。
附:增加复位的代码位置为/driver/usb/host/xilinx-dr-of.c。
2)修改fsbl中usb的mio管脚顺序(病急乱投医!!!)
修改后的顺序为:
EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU ,0x00001380U),
EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU ,0x00001380U),
EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU ,0x00001200U),
EMIT_MASKWRITE(0XF80007BC, 0x00003F01U ,0x00001201U),
EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU ,0x00001380U),
EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU ,0x000002E1U),
EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU ,0x00001200U),
EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU ,0x00001200U),
EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU ,0x000002E0U),
EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU ,0x00001380U),
EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU ,0x00001380U),
EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU ,0x00001380U),
以上修改完,依然无效。
附:修改位置为ps7_init.c。
3)万般无奈之下看硬件
对比USB控制器手册上的原理图,有一处差异。
我们的图:
在这里插入图片描述
控制器的参考图:

在这里插入图片描述
VDD33手册说明为:
在这里插入图片描述
由于不懂硬件,将此问题高速硬件工程师后,他的说法是VDD33直接供Vbat可能带不动,给Vbat增加一个3.3v供电后,问题解决了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值