-
Notifications
You must be signed in to change notification settings - Fork 292
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dwc2_reset 方法在HS上需要修改手动清除RST状态 #276
Comments
这个应该是ic那边设计问题,建议找ic设计,目前没有遇到过哪家芯片有这问题 |
以下是IP 手册原文:
|
可以增加,提PR 把 |
你帮我弄了算了吧,哈哈 |
好的 |
Done |
描述一下这个bug / Describe the bug
我在一款测试芯片上,发现 USB_OTG_GLB->GRSTCTL |= USB_OTG_GRSTCTL_CSRST 后该位一直保持为1,并没有自动清除
复现步骤 / To Reproduce
内部测试芯片所以无法给出复现方法,可能其他芯片会遇到
设备信息 / Target Device
内部测试芯片所以无法给出复现方法
日志 / Log
错误的日志:
00> GRSTCTL111: 80000000, 40040010
00> GRSTCTL222: A0000001, 40040010
00> GRSTCTL333: A0000001, 40040010
正确的日志:
00> GRSTCTRL111: 80000000, 40040010
00> GRSTCTRL222: 80000001, 40040010
00> GRSTCTRL333: 80000000, 40040010
配置 / Configuration
原始代码为:
do {
if (++count > 200000U) {
return -1;
}
} while ((USB_OTG_GLB->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST);
修改后位:
do {
if (++count > 200000U) {
break;
}
} while ((USB_OTG_GLB->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST);
USB_OTG_GLB->GRSTCTL &= ~(USB_OTG_GRSTCTL_CSRST);
USB中断 / USB Interrupt
不修改前无法进入中断
缓存 / Cache
No response
商业 / Business
The text was updated successfully, but these errors were encountered: