Y-cable reinvented - for USB-OTG

Werner Almesberger werner at openmoko.org
Tue May 6 17:20:59 CEST 2008

[ Cc:s trimmed ]

joerg at openmoko.org wrote:
> Now if we detect there's not 0volt but instead there's 5volt on the ID-pin 
> while we're applying 0volt to internal R, we got a new info about what's 
> plugged to our USB-receptacle, and we might ->>route this 5volt to our 
> PMU<<-.

So the proposal is to make a Y-cable that connects ID to VBUS. The cable
would not be permanently attached to any devices (i.e., a fixed charger
cable).  The connectors would be A-A/B(1)-B(2), where A goes to a host
providing power or our charger, A/B(1) goes to the Neo, and B(2) goes to
a device that may in turn be OTG-capable. Correct so far ?

Micro-USB_1_01.pdf, page 10, below table 4-2 says:

| The ID pin on a Micro-A plug shall be connected to the GND pin.

So the ID = VBUS arrangement would violate this.

Of course, a Y-cable would violate Micro-USB 1.01 as well :-)

| No other types of cables are allowed by either the USB specification,
| or by the OTG supplement. 

(Page 8.)

The Micro-USB is silent about the use of ID in receptacles, particularly
on the A-side. If we make a worst-case assumption that ID is just
connected to GND, we could possibly damage the device.

In order to avoid this sort of problem, ID on the A-side would have to
be unconnected, and the connection between ID and VBUS would have to be
made further down the cable, i.e., inside the A/B(1) connector.

| The ID pin on a Micro-B plug is not connected or is connected to ground
| by a resistance of greater than Rb_PLUG_ID (100kOhm MIN).

So actually having 5V on ID on A/B(1) or even B(2) shouldn't damage a
compliant device. (I.e., if the cable is used with some device that's
not a Neo.)

For compatibility with OTG, B(2).ID would have to be connected to GND.
So the overall connections would be roughly as follows:

 A              A/B(1)            B(2)

VBUS -----+----- VBUS ----------- VBUS
ID   --    \---- ID   --   /----- ID
GND  ----------- GND  -----+----- GND

Is this what you had in mind ? Since the Neo side receptacle would have
to be AB, what would the plug be - A or B ?

BTW, regarding doing measurements through GPIO+R instead of rail+R,
I think this is in general good practice giving one flexibility for
usually little cost.

- Werner

More information about the hardware mailing list