hi, On Wed, Jul 06, 2011 at 12:58:48AM +0400, Dmitry Eremin-Solenikov wrote: > On 7/6/11, Robert Jarzmik <robert.jarzmik@xxxxxxx> wrote: > > On 07/05/2011 03:08 PM, Dmitry Eremin-Solenikov wrote: > >> Now as all drivers were converted to using gpio-vbus, drop gpio-pullup > >> handling from pxa UDC drivers, thus simplifying them a bit. > > > > Is this patch compliant with USB 2 specification regarding maximum time > > between pullup triggering and UDC ready to answer the "RESET" packet and > > be assigned an address ? > > > > This is the sequence I'm worried about : > > (1) The gpio-vbus is loaded > > (2) The pxa27x_udc is loaded > > (3) USB cable is plugged > > => VBUS is sensed > > (4) gpio-vbus pulls up the D+ (Dmitry, is that right ?) > > (5) the host waits for UDC to settle (100 ms ?) > > (5) set address packet(s) are sent from host to UDC > > (6) UDC is not enabled, as no gadget is registered > > => UDC doesn't answer > > => usb host cannot assign it an address > > (7) a gadget is loaded (g_ether for example) > > => UDC is enabled, but too late > > > > Alan, Gregh, could you confirm point (5) about a maximum time between D+ > > line activation and UDC duty to repond to "set address" packets, as well > > as the consequence of point (6) where the usb device is rejected because > > no address could be assigned ? > > > > Dmitry, could you confirm the the D+ pullup is done at point (4) ? > > No, I can't confirm this. IIUC, evrything happens in abit different way: > (4) trancseiver notifies udc about VBUS sense > (5) a gadget is loaded (g_ether for example) > (6) gadget asks udc to enale pullup > (7) udc tells gpio_vbus to enable pullup. yeah, with udc-core.c we only enable pullup after gadget driver is loaded. 290 ret = bind(udc->gadget); 291 if (ret) 292 goto err1; 293 ret = usb_gadget_udc_start(udc->gadget, driver); 294 if (ret) { 295 driver->unbind(udc->gadget); 296 goto err1; 297 } 298 usb_gadget_connect(udc->gadget); but this is the new style bind() and many UDCs still need to be converted. -- balbi
Attachment:
signature.asc
Description: Digital signature