Normal USB device/accessory mode
Pinout :
1 +5 volts input used to charge the phones battery at max 500mA.
2 Data-
3 Data+
4 (NC/left open) voltage at adc approx 2,4-2,8 volt (there seems to be an internal pullup resistor of unknown value)
5 GND
In this mode, the Data- and Data+ lines will be routed to a USB transceiver located in PCAP chip, which is connected to the AP (PXA270) via the USB2 single ended interface (GPIO pins 34,35,36,39, 40, and 53). There is a 1,5kOhm pullup resistor between the D+ as required by the USB standard to signal a high speed device (12mbits). This resistor is switchable by the PCAP bit BUSCTRL_USB_PU (+3,3volt or high Z). There is a second switchable pullup resistor on the d+ line which is used for charger detection. This resistor seems to be switched off (high Z) when setting the PCAP bit BUSCTRL_VUSB_MSTR_EN. However this does not happen instantly but with some delay (about 5-10 sec). It doesn't happen every time I tried. About 1 in 10 times it didn't work. It appears as if the firmware of the Baseband Processor is scanning from time to time the PCAP bits and then switches the resistor accordingly. I speculate therefore this resistor is connected to a GPIO on the Baseband processor and thats why there is no code in Motorolas kernel.
[edit]UART mode
Pinout :
1 NC
2 TXD
3 RXD
4 ???
5 GND
The routing of the analog switches is exactly the same as in USB client mode, but inside the PCAP chip, the USB transceiver is bypassed. TXD is bypassed to GPIO 39 of the AP (which is then TXD of FFUART) and RXD is bypassed to GPIO 53 (which is then RXD of FFUART). See drivers/misc/ezx-emu.c of the original kernel for code.
[edit]Fast Charger
Pinout :
1 5 volts @ 1,250 ma
2 Short to pin 3
3 short to pin 2
4 440kohm pulldown
5 GND
[edit]Just Power on the phone
Pinout :
1 5 volts
2 NC
3 NC
4 440kohm pulldown
5 GND
[edit]Headset Mode