UART Serial Console & Pinouts
When bringing up new Linux kernels or debugging early boot issues where USB networking has not yet initialized, having a physical UART serial console is invaluable.
1. UART Pinouts on Common Boards
Section titled “1. UART Pinouts on Common Boards”MSM8916 exposes hardware UART on GPIO 4 (UART_TX) and GPIO 5 (UART_RX).
┌──────────────────────────────────────────────┐ │ [USB Plug] │ │ │ │ ┌────────────┐ [O] TX (1.8V) │ │ │ MSM8916 │ [O] RX (1.8V) │ │ │ SoC │ [O] GND │ │ └────────────┘ │ │ │ └──────────────────────────────────────────────┘- TX (Transmit): Connects to your USB adapter’s RX pin.
- RX (Receive): Connects to your USB adapter’s TX pin.
- GND (Ground): Connects to your USB adapter’s GND (you can solder to the metal casing/shield).
2. Recommended Hardware
Section titled “2. Recommended Hardware”- 1.8V USB-to-UART Adapter:
- FT232RL or FT2232H with 1.8V VCCIO jumper.
- CH343G / CP2102N with 1.8V voltage regulator.
- Fine-gauge enameled magnet wire (30–36 AWG) and a fine-tip soldering iron.
3. Terminal Connection Parameters
Section titled “3. Terminal Connection Parameters”Connect your adapter to your PC and launch your preferred serial client:
# Using picocompicocom -b 115200 /dev/ttyUSB0
# Using minicomminicom -D /dev/ttyUSB0 -b 115200
# Using screenscreen /dev/ttyUSB0 115200- Baud Rate:
115200 - Data Bits:
8 - Parity:
None - Stop Bits:
1 - Flow Control:
None
4. What You Will See
Section titled “4. What You Will See”Upon plugging the modem into USB power, you will observe the complete boot sequence:
- Primary Boot Loader (PBL) initialization.
- Secondary Boot Loader (
sbl1) memory training. - TrustZone / KeyMaster (
tz) validation. lk2ndbootloader output and countdown timer.- Linux kernel dmesg stream (
earlycon/console=ttyMSM0). - A standard Linux login prompt (
openstick login:).