前几天遇见一个问题没有解决,后在同事的帮助下解决。特写出来给出同样问题的朋友参考。
问题描述:LINUX操作系统运行在ARM板,板子就不说是什么了。启动后,能够枚举到U盘,但是报-71错误。然后重新插拔一次U盘就可以在识别了。
问题产生原因:后来分析得出,我们的板子是上电以后就给U口供电的,而U口的初始化程序如果在供电的情况下运行就会出现上面错误。
问题解决办法: 就像上面说的在初始化函数调用调用前执行总线下电函数。我调用的函数是fsl_platform_set_vbus_power(pdata,0)该函数有2个参数,第一个参数是调用时系统提供的设备注册时候的私有数据pdata = (struct fsl_usb2_platform_data *)pdev->dev.platform_data;而第二个参宿表示上电还是下电,1上电0下电。所以在初始化前调用了这个函数,初始化完成后在掉一次,参数2写1.
就这样解决了上面的问题。
阅读(2886) | 评论(0) | 转发(1) |