Hi,
The Linux OHCI driver doesn't keep the timing requirements for the USB Reset
in the function hc_reset. At the end of the function hcReset the Host
Controller
is set to state UsbReset:

writel (ohci->hc_control, &ohci->regs->control);

The OpenHCI documentation says that UsbReset state must be maintained for
the minimum time specified in the USB Specification for the assertion of
reset on USB,
which is 10ms as far as i remember. Unfortunately hc_reset function inserts
no pause
after writing to hcControl. I meassured that sometimes the UsbReset state
is left less than 50 microseconds after writing a 0 to hcControl.

This leads to problems with the Netsilicon NS9750 OHCI, which requires that
the UsbReset state is not left for 1ms after writing to hcControl (even if
hcControl already was 0 before writting). An additional delay of 10 ms after
setting
the state to reset helps.

Jochen



-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to