Project

General

Profile

Optimus Black serial

The Optimus Black allows accessing an UART serial port through the USB connector, the dummy interface debug connector (only on P970 devices) or the MAX14526 MUIC pins.

The MAX14526 MUIC is in charge of switching the USB connector between the USB and UART lines. The UART line can be muxed either to the main processor's debug UART (UART3), to the modem's UART or to the modem's USB lines via a FSUSB63 DP3T switch. The modem's UART line can also be switched directly to the main processor via an analog switch.

Thus, a working configuration to access the serial port through the USB connector is to route the USB connector to the UART line with the MAX14526 MUIC and to route the UART line to the main processor's debug UART (UART3) with the FSUSB63 DP3T switch.

Block diagram of the USB and UART connection, according to the Optimus Black (P970) service manual:

On the other hand, the main processor's debug UART (UART3) can be accessed directly on the board, via the pins of the debug connector or via the pins of the FSUSB63 DP3T switch.

Hardware setup

USB connector

According to the FSUSB63 DP3T switch datasheet and the Optimus Black (P970) service manual, UART Rx is routed to USB DM (D-) and UART Tx is routed to USB DP (D+).

Hence, the USB DM (D-) has to be connected to the UART adapter's Tx pin and the USB DP (D+) has to be connected to the UART adapter's Rx pin.
GND has to be made common between the USB connector and the UART adapter. There is no need to connect the USB connector's VBUS to a positive voltage.

Note that there is no automatic software switching (yet) with U-Boot, so make sure that the FSUSB63 DP3T switch is switched to the main processor's UART and that the MAX14526 MUIC is switched to UART before connecting the UART receiver to the USB connector.

Dummy interface connector

The dummy interface connector (found only on P970 devices) is likely a debug connector that was used by LG for bringing up the device. On production devices, there is no connector there and only pins are exposed. It is highly unrecommended to solder wires to those pins as their size and location make it very inconvenient to come up with a reliable setup.

According to the Optimus Black (P970) service manual:

The pins are located on the board as shown:

FSUSB63 DP3T switch pins

The FSUSB63 DP3T switch exposes the main processor's UART serial on its pins.

On P970 devices, the pins are placed as follows:

On KU5900 devices, the pins are placed as follows:

Logic level voltage

The main processor's debug UART is using a 1.8V logic level. Most UART adapters expect 3.3V, so a logic level shifter has to be used between the device and the adapter to convert between 1.8V and 3.3V.

Software setup

USB connector

To access the main processor's debug UART serial port, the FSUSB63 DP3T switch has to be switched to the main processor's UART and the MAX14526 MUIC has to be switched to UART.

FSUSB63 DP3T switch

The FSUSB63 DP3T switch can be switched to the main processor's UART by setting the OMAP_UART_SW GPIO (161) high and the IFX_UART_SW GPIO (162) low.

MAX14526 MUIC

The MAX14526 MUIC can be switched to UART by writing 0x09 to register 0x03 on device address 0x44 on I2C bus 1 (I2C2). It can be switched back to USB by writing 0x00 at the same address.

Bootloader

Some development versions of U-Boot allow switching the USB connector to UART by pressing the G key (on the side) at boot.

LG's downstream version of U-Boot, that ships with Android version prior to 4.0, should allow switching the USB connector to UART by placing a 56 kOhm resistor between the ID and GND pins of the connector and pressing the volume down key at boot. LG's downstream version of LK, that ships with Android 4.0, may behave the same. This feature was not tested at this time.

Kernel

LG's downstream version of Linux provides an interface for changing the USB connector muxing. It can be accessed through the /proc/driver/hmuic file.
ASCII values can be written to the file, using e.g. echo. Numerical values have the following meaning:

Value (ASCII) Muxing
3 Modem USB (download mode)
6 Main processor's debug UART
7 Modem UART
8 Main processor's USB
9 Modem USB

References

These documents are the propriety of LG Electronics and Texas Instruments and are not hosted by the Replicant project.
However, some excerpts from these documents are provided, for the purpose of providing technical evidence of the facts that are mentioned in this page. We believe that this particular use of the copyrighted work is fair use.

p970_usb_mux.jpg View (55.2 KB) Paul Kocialkowski, 12/29/2015 02:43 PM

p970_board_dummy_interface.jpg View (185 KB) Paul Kocialkowski, 02/07/2016 05:22 PM

p970_dummy_interface.png View (48.4 KB) Paul Kocialkowski, 02/07/2016 05:22 PM

p970_dp3t_uart.jpg View (113 KB) Paul Kocialkowski, 02/08/2016 08:21 PM

ku5900_dp3t_uart.jpg View (90.8 KB) Paul Kocialkowski, 02/08/2016 08:21 PM