How DisplayPort AUX Channel Detects Monitors
When a DisplayPort source device connects to a display, it uses a bidirectional, half-duplex sideband connection called the Auxiliary (AUX) channel to query the sink device's hardware limits, supported resolutions, and communication protocols. This discovery process is initiated by a physical detection signal, followed by direct AUX register reads and an emulated I2C transaction to retrieve configuration data. Through this process, the source identifies the monitor's native capabilities, negotiates a stable link, and formats video data accordingly before transmitting any pixel stream over the main display lanes.
1. Hot Plug Detect (HPD) Trigger
Before any communication occurs over the AUX channel, the monitor alerts the source of its presence using the Hot Plug Detect (HPD) pin. When the cable is plugged in and the monitor is powered, the sink pulls the HPD line to a high voltage state (typically 3.3V). This interrupt prompts the source device’s graphics processing unit (GPU) to wake up the AUX channel and begin the discovery sequence.
2. Reading DisplayPort Configuration Data (DPCD)
The source first addresses the DisplayPort Configuration Data (DPCD) registers located directly within the sink's receiver hardware. The AUX channel operates at a 1 Mbps rate (or 720 Mbps for Fast AUX in newer specifications) using Manchester II encoding, exchanging native request and response transactions.
By reading specific addresses in the DPCD (starting at offset
00000h), the source learns the core physical capabilities
of the interface:
- DisplayPort Revision: The version of DisplayPort implemented by the sink (e.g., DP 1.4, DP 2.1).
- Max Link Rate: The highest data rate the monitor can accept per lane (e.g., RBR, HBR, HBR3, UHBR).
- Max Lane Count: The number of physical data lanes supported (1, 2, or 4 lanes).
- Downstream Port Status: Information about whether the device is a direct display, a hub, or a branch device for Multi-Stream Transport (MST).
- Advanced Features: Support for DSC (Display Stream Compression), HDCP versions, and Panel Replay.
3. Reading EDID via I2C-over-AUX
While DPCD describes the physical DisplayPort link, the monitor's supported video timings, color profiles, audio formats, and manufacturer details are stored in standard Extended Display Identification Data (EDID) or DisplayID blocks.
Because traditional monitors store EDID on an I2C EEPROM, the
DisplayPort AUX protocol includes an "I2C-over-AUX" command set. The
source sends native AUX command packets with commands like
I2C-Write and I2C-Read directed at standard
I2C slave address 0x50. The sink bridges these commands to
read its internal EDID PROM and replies with the standard 128-byte or
256-byte EDID data blocks through AUX reply packets.
4. Link Training Negotiation
Once the source knows the display parameters from the EDID and the link limits from the DPCD, it configures the link through link training, which also relies heavily on the AUX channel:
- Clock Recovery: The source transmits training patterns across the main lanes while reading status registers in the DPCD via the AUX channel to confirm whether the sink has locked onto the clock signal.
- Channel Equalization: The source adjusts drive current and pre-emphasis settings based on feedback written to and read from the sink's DPCD registers until the sink achieves symbol lock and bit-error-rate thresholds on all lanes.
Once the DPCD status registers confirm that channel equalization is complete, the AUX discovery and setup phase finishes, allowing the source to transmit video and audio data over the main link.