> On Tue, 12 Aug 2014, Peter Chen wrote: > > > > > I did this for possible pullup dp without connection (eg load > > > > gadget driver before vbus connect), it breaks USB spec, see > > > > 7.1.7.3 Connect > > > and Disconnect Signaling at USB 2.0 spec. > > > > > > 7.1.7.3 doesn't say anything about enabling the D+ pullup before > > > Vbus is active. The closest it comes is the definition of Delta-t2 > > > (TSIGATT), but that is a _maximum_ time, not a _minimum_ time. > > > > > > What makes you think turning on the pullup when Vbus is off is bad? > > > > > > > www.usb.org/developers/docs/USB-IFTestProc1_3.pdf > > > > Back-voltage Testing > > Section 7.2.1 of the USB specification requires that no device shall > > supply (source) current on VBUS at its upstream facing port at any > > time. From VBUS on its upstream facing port, a device may only draw > > (sink) current. They may not provide power to the pull-up resistor on > D+/D- unless VBUS is present (see Section 7.1.5). > > I see. It's mentioned in 7.2.1 and 7.1.5.1, not 7.1.7.3 > > So here's what the UDC driver should do: If the pullup routine is called > while Vbus is off, the driver should leave the D+ pullup disconnected but > remember the call. Then when Vbus gets turned on, the driver should > activate the pullup. > > In other words, the UDC driver should keep track of the pullup's > "logical" state. When Vbus is off, the pullup must also be off. When > Vbus is on, the pullup's physical state should be the same as the logical > state. >
We had a similar discussion at last year, but Felipe " don't want to let UDC drivers call usb_gadget_connect()/disconnect() directly." Peter -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html