HDMI ↔ MIPI/DP/DSI bridges translate video at three layers—control (EDID/HPD/HDCP), pixel pipeline (format/timing/bit-depth), and clock/CDC—so the system can reliably connect sources to panels/cameras without black screens, color errors, or dropouts.
This page turns those layers into a bring-up and acceptance workflow: lock the control plane first, then validate pixel/timing, then prove clock/CDC margin with measurable pass criteria (X/Y/N).
H2-1 · Definition & Scope: What is an HDMI ↔ MIPI/DP/DSI Bridge?
An HDMI↔MIPI/DP/DSI bridge is an IC/module that closes the control-plane handshake
(EDID/DDC/HPD/CEC and often HDCP) while translating the pixel pipeline
(format/bit-depth/timing) into a different output interface (CSI-2, DSI, or DisplayPort).
H2-2 · Use-Case Map & Decision Tree: When is a Bridge the Right Tool?
This chapter prevents wasted bring-up cycles by separating “must bridge” cases
from “avoid bridging” cases, then selecting a bridge class by hard constraints:
direction/role, HDCP, timing adaptation, pixel formats, and latency.
Use-case map
Each card lists the constraints that drive architecture choice
CSI-2 camera → HDMI output
Goal: camera stream displayed on standard HDMI sinks.
Must-have: stable timing generation + consistent format mapping.
First failure: black screen from EDID assumptions; color shift from CSC mismatch.
Port mismatch: native interface is unavailable on the platform.
HDCP required: the bridge must own a defined authentication role/boundary.
Timing adaptation: endpoint accepts a narrow timing set; scaler/timing engine is mandatory.
Format translation: RGB↔YUV, subsampling, or bit-depth conversion is unavoidable.
Observability: deterministic config and readable status/counters are required.
“Avoid bridging” triggers
Latency is strict: buffering/scaling risk is unacceptable.
Native port exists: direct routing or simpler interconnect is feasible.
Thermal headroom is thin: added SerDes heat density and rails are high risk.
Compliance ownership is unclear: HDCP/CTS responsibility is ambiguous.
Constraint-first decision logic (order matters)
Direction & role: lock the exact conversion path (HDMI→DSI / HDMI→CSI / CSI→HDMI / DP→MIPI).
HDCP: decide if required, then lock role (sink/source/repeater) and trust boundary.
Timing constraints: confirm if endpoint requires fixed timing; decide if scaler is mandatory.
Pixel format/bit-depth: lock RGB/YUV, subsampling, and bit-depth end-to-end.
Latency class: line-buffer vs frame-buffer; treat buffering as an architectural choice.
Observability: prefer deterministic configuration and readable error flags/counters.
Diagram: Inputs → constraints → recommended bridge class
Practical takeaway
Lock direction first, then treat HDCP and
timing adaptation as top-level constraints. Keep EDID advertisement consistent with
the internal pixel pipeline and the output interface configuration to avoid “link-up but no picture” failures.
H2-3 · Reference Architectures: Four System Archetypes (Bridge Layer Only)
These four archetypes form a system-level map. Every bring-up issue on this page can be anchored to
one data path and one control closure, without diving into PHY-level details.
Archetype A1
CSI-2 Camera → Bridge → HDMI Output
Data path: CSI-2 packets → internal pixel bus → HDMI TX stream.
Control path: EDID/HPD drives output timing/format; camera config stays upstream.
Risk points: format mapping (RGB/YUV), timing synthesis, CSC mismatch.
Typical first failure: black screen with valid EDID reads → timing/format mismatch.
Acceptance hook: stable video for X minutes with zero frame drops.
Typical first failure: intermittent blanking → control-plane assumption mismatch.
Acceptance hook: stable mode switch within X seconds without lock loss.
Diagram: Four archetypes (data path = thick arrows, control closure = thin arrows)
H2-4 · Pixel Pipeline Fundamentals: What Happens Inside the “Black Box”
A bridge succeeds when the advertised capabilities (EDID/HDCP roles and timing promises)
match the actual internal pixel pipeline and the output interface schedule.
The pipeline can be decomposed into five verifiable stages.
Treat Normalize as the truth source (what pixels really are),
treat Buffer/CDC as the stability boundary (what keeps frames continuous),
and treat Packetize/Output as the receiver contract (what the sink/host expects).
This chapter turns “screen lights up” into an executable control-plane sequence.
It focuses on EDID/DDC/HPD/CEC behaviors and failure signatures, not PHY electrical deep details.
Treat HDCP as a system security boundary: role selection, key storage boundary,
and retry cadence define whether the system stays stable or falls into blackouts and downgrade loops.
Sub-card A
Role & trust boundary (architectural view)
Role selection
Sink-like: consumes protected input (auth closure with source).
Source-like: produces protected output (auth closure with sink).
Repeater: topology-aware bridging for switch/matrix fan-out.
Common failure: role mismatch → stable link but black screen.
H2-8 · Color / Format / HDR Conversion (CSC, Subsampling, Bit Depth)
“Video shows up but colors look wrong” is usually a pipeline mismatch:
CSC → subsample/resample → quantize/dither defines accuracy, banding risk, and HDR consistency.
Sub-card A
Conversion chain: CSC → Subsample/Resample → Dither/Quantize
CSC (RGB ↔ YUV, range)
Purpose: matrix + range mapping.
Risks: wrong range → lifted blacks / clipped highlights.
Verify: ramp + black/white patches; range flag consistent end-to-end.
Subsample/Resample (4:4:4 ↔ 4:2:2 ↔ 4:2:0)
Purpose: bandwidth shaping and format matching.
Risks: chroma artifacts; edge color bleeding in high-contrast patterns.
Verify: color bars and fine chroma transitions.
Dither/Quantize (8/10/12-bit)
Purpose: bit-depth landing with minimal banding.
Risks: banding if dither disabled or inserted at wrong stage.
Verify: grayscale ramp; banding score ≤ X (template).
HDR handling boundary (internal view): metadata may be passed through,
rewritten (when conversion changes dynamic behavior), or
dropped (typically causing visual inconsistency).
Sub-card B
Symptom → likely cause → first measurement (fast triage)
Blacks look lifted / washed out
Likely cause: range mismatch (full vs limited) in CSC stage.
First measure: range mode flags + CSC selection consistency.
Fix direction: align CSC matrix + range end-to-end.
Highlights clip / whites blow out
Likely cause: clipping after conversion or HDR boundary inconsistency.
First measure: conversion stage order + metadata pass-through/override status.
Fix direction: consistent policy when CSC/scaling changes behavior.
Banding in gradients (gray ramp)
Likely cause: bit-depth reduction without proper dither placement.
First measure: output bit-depth + dither enable + insertion point.
Fix direction: move/enable dither before final quantization.
Color edges look smeared / chroma artifacts
Likely cause: subsampling/resampling mismatch or unexpected 4:2:x conversion.
First measure: negotiated chroma format at input and output.
Fix direction: lock format or use consistent resampling path.
Pass criteria template: grayscale ramp shows no visible banding beyond X level,
color bars show no clipping at X% saturation, and black/white patches match reference within X.
Diagram: internal color pipeline (CSC → Subsample → Dither/Quantize) with minimal labels
A bridge becomes “production-ready” only when it can keep output timing stable while input modes change:
mode detect → (optional) scaling/buffering → timing generation → controlled reconfiguration.
Sub-card A
When scaling / timing adaptation becomes mandatory (practical checklist)
Scaler is required when…
Panel has fixed timing: only accepts a narrow output window.
Input mode varies: multiple resolutions or dynamic sources.
Output bandwidth bound: lane count or link budget needs shaping.
Acceptance needs uniformity: single output mode for test/QA.
Verify: output stays in “sink window” with margin ≥ X%.
Frame buffer is required when…
Frame rate conversion: async input/output cadence must be absorbed.
Robust mode switching: avoid visible artifacts during reconfigure.
Drift/wander: CDC needs long-term elasticity.
Trade-off: added latency of X frame(s) (template).
Verify: under/overrun = 0 across X minutes.
Scaling can be avoided if…
Input is locked: a single known mode is enforced by the system.
Sink tolerant: accepts multiple timings or wide margins.
Switching disabled: no hot mode-change in production scenario.
Verify: reconfig count = 0 during steady-state run.
Common pitfall: input mode changes but output policy does not trigger a controlled reconfigure, causing black screen,
flicker, or “stuck in old timing”.
Sub-card B
Bring-up order: lock one mode first, then enable adaptation
Step 1 — fixed mode baseline
Force a single input resolution / frame rate / format.
Force a single output timing (known-good porch/sync set).
Pass: no blackout over X minutes; reconfig count = 0.
Step 2 — enable scaler/buffer (still locked)
Enable scaler (if needed) with fixed ratio.
Enable buffer policy with conservative thresholds.
Pass: watermark hits ≤ X/hour; artifacts = 0.
Step 3 — allow adaptation (controlled switching)
Enable mode detect + reconfigure policy with debounce.
Switch one variable at a time (resolution → then frame rate).
Pass: blackout < X ms per switch; stable after X seconds.
Pass criteria template: output timing stays within sink window by ≥ X% margin,
reconfig event rate ≤ X/hour, and visible artifacts = 0 during X switch cycles.
H2-10 · Interface Mapping Notes (CSI-2 vs DSI vs DP — Bridge-Level Essentials)
Mapping failures are often configuration consistency issues, not signal quality:
input packet/stream → internal pixel bus → output packet + lane mapper must align in format, timing, and lane symmetry.
Scope
Bridge-level mapping only. Excludes electrical/PHY training details.
Bridge action: choose one semantic path; avoid mixed behavior.
Risk note: wrong mode → black screen or tearing under load.
Sub-card B
The 5 most common configuration errors (and the first sanity check)
1) Lane count / bandwidth deficit
First check: required throughput vs configured lane count. Pass: utilization ≤ X% with margin.
2) Mode mismatch (DSI command vs video)
First check: output mode selection and refresh policy. Pass: stable picture for X minutes with no tearing.
3) Pixel clock / timing budget mismatch
First check: output timing generator vs sink window. Pass: margin ≥ X% and reconfig count = 0.
4) Format/bit-depth mismatch
First check: internal pixel bus format equals output packet format. Pass: no banding beyond X level.
5) “Control-plane trigger” missing for re-map
First check: re-map is gated by a control signal (mode detect/HPD/EDID/event). Pass: one reconfig per mode change with debounce.
Pass criteria template: lane/bandwidth margin ≥ X%,
mapping consistent across input/internal/output, and error counters remain 0 for X minutes.
Diagram: Packet/stream in → internal pixel bus → packet out + lane mapper (symmetry and consistency)
H2-11. Bring-up & Debug Playbook (Symptom-driven, no cross-page expansion)
Convert field issues into an executable flow:
Symptom → First check → Root-cause buckets → Next isolation step.
Start from the control plane, then pixel/timing, then clock/CDC.
Symptom 1 · Black screen, but DDC (I²C) toggles
First check: Is HPD asserted and stable (no bounce) during EDID read?
C) MIPI CSI-2 / DSI input → HDMI output (camera/panel source to HDMI)
Toshiba TC358840XBG (CSI-2 to HDMI bridge).
Lontium LT8912 (MIPI-to-HDMI bridge family example; check HDCP/DDC boundaries in the datasheet).
D) DP / eDP ↔ embedded display bridges (DP family to panels / embedded links)
NXP PTN3460 (DisplayPort to LVDS bridge).
Parade PS8625V (DisplayPort to LVDS converter for embedded displays).
TI SN65DSI86 (MIPI DSI to eDP bridge; useful when a panel side is eDP).
ITE IT6510 (DisplayPort 1.2 to MIPI CSI/DSI converter family example).
Reusable support parts (EDID / DDC / security / port-side basics)
EDID EEPROM: Microchip 24LC02B, ST M24C02, onsemi CAT24C02.
DDC (I²C) level translation: TI PCA9306 (bidirectional level translator).
Secure element (key/credential anchor): Microchip ATECC608A, NXP SE050, Infineon OPTIGA Trust M.
Ultra-low-C port ESD (example families): TI TPD4E05U06, Littelfuse SP3012-06UTG (check availability/status).
Common-mode choke (example): Würth 744232102, TDK ACM2012 series (choose by impedance/current vs eye margin).
Note: support parts are listed as reusable building blocks. Final choices must be validated against the exact data rate, capacitance budget, and compliance tests.
Diagram · 7-dimension selection hub (scorecard around the bridge IC)
Use the hub as a gating checklist: if the role/HDCP boundary is wrong, higher resolution will not matter.
Scope: only close field issues and measurable pass/fail checks for HDMI ↔ MIPI/DP/DSI bridges.
Each answer is fixed to 4 lines: Likely cause / Quick check / Fix / Pass criteria.
1) EDID reads OK, but no video — check HDCP role mismatch or output timing not started?
Likely cause: HDCP role/boundary mismatch (source/sink/repeater) or stream start blocked by timing pipeline state.
Quick check: Log HDCP auth state + retry counter (X retries/min) AND confirm output timing enable flag is asserted within Y ms after EDID read.
Fix: Bring-up in stages: HDCP OFF → force a known-good timing → confirm stable video → enable HDCP last with correct role.
Pass criteria: Video starts within X ms of HPD high; HDCP auth completes within Y s; re-auth events ≤ N per hour (N≈0 ideal).
2) HPD is high, but EDID is read repeatedly — HPD bounce/debounce or state-machine reset loop?
Likely cause: HPD bounce (no debounce) or control-plane state machine resets due to 5V/rail dip or watchdog.
Quick check: Count EDID reads per minute (X/min) and measure HPD stability window (no toggles for Y ms) during read; watch reset reason flag.
Fix: Add/strengthen HPD debounce and ensure stable 5V/logic rails during hot-plug; clear caches only once per detect event.
Pass criteria: EDID read count = 1 per plug event; HPD remains stable for ≥ X ms; zero unexpected resets over Y hot-plugs (N/Y).
3) Video appears briefly then goes dark — HDCP re-auth storm or FIFO underflow?
Pass criteria: No throttling events over Y minutes at worst-case ambient; FIFO under/over-run = 0; max junction estimate ≤ X °C.
8) Colors look washed — RGB↔YUV mismatch or limited/full range mapping?
Likely cause: CSC matrix mismatch or range mapping mismatch (full vs limited) along the bridge pixel pipeline.
Quick check: Validate CSC enable + matrix select + range flag at both input and output; test with a black/white clipping pattern.
Fix: Lock one consistent pipeline: RGB full-range end-to-end, then migrate to YUV/limited only if required by the sink.
Pass criteria: Black/white clipping thresholds match expected values within X code steps; no visible washout on reference pattern over Y minutes.
9) Banding/posterization in gradients — bit-depth truncation or dither disabled/misplaced?
Likely cause: Bit-depth truncation after CSC/scaler, or dither is disabled/misplaced relative to the truncation point.
Quick check: Run a grayscale ramp; toggle dither ON/OFF; confirm output bit-depth matches sink expectation (8/10/12) and packing mode.
Fix: Place dither immediately before bit-depth reduction; avoid multiple truncations in the chain; prefer one controlled reduction stage.
Pass criteria: No visible banding on ramp at viewing distance X; bit-depth registers match intended setting; dither state stable across N mode switches.
Likely cause: HDR metadata path is not passthrough/rewritten as intended, or pipeline forces an SDR conversion path unexpectedly.
Quick check: Verify metadata mode flag (passthrough/overwrite/none) and confirm pipeline color format/bit-depth remain consistent during HDR playback.
Fix: Decide a single boundary: passthrough OR explicit rewrite; then lock the pixel pipeline (format/bit-depth) to prevent silent down-conversion.
Pass criteria: Metadata mode remains unchanged for Y minutes; no unexpected format/bit-depth toggles; HDR test clips show no clipping beyond X% of frames.
11) CSI-2/DSI side is “alive” but image is wrong — lane count/mapping inconsistency or pixel packing mismatch?
Likely cause: Lane count/mapping settings inconsistent between bridge and endpoint, or packet/pixel packing mismatch (DT/VC/format).
Quick check: Confirm configured lane count equals endpoint expectation; verify lane map/polarity settings; log packet type/format selection for the active mode.
Fix: Start with minimal lanes and a known format; lock lane mapping; then scale lanes/format stepwise with one change per test.
Pass criteria: Stable image with no frame corruption over Y minutes; lane count/mapping unchanged across N reboots; packet type matches expected mode.
12) Hot-plug works on bench but fails in product — HPD/5V sequencing or EDID source mismatch?
Likely cause: Different HPD/5V sequencing or EDID source behavior (EEPROM vs passthrough) between bench wiring and product integration.
Quick check: Measure HPD rise relative to 5V and reset release (Δt = X ms); record EDID source selection; count failures over N hot-plugs.
Fix: Enforce deterministic sequencing: stable 5V → release reset → assert HPD after debounce; standardize EDID source and caching policy.
Pass criteria: Hot-plug success ≥ N/N; EDID read exactly once per plug; video starts within Y ms after HPD; zero unexpected resets.