This series adds support for the ITE IT6625/IT6626 HDMI to MIPI CSI-2
bridge chips. IT6625 accepts an HDMI 2.0 input and IT6626 an HDMI 2.1
input, converting it to a D-PHY (or C/D-PHY on IT6626) MIPI CSI-2
output. The bridge is configured over I2C, exposes an HDMI CEC
adapter, and supports EDID read/write, DV timings detection and
configuration, and HPD control via the standard V4L2 subdevice pad
and video ops.
Patch 1 documents the devicetree binding for the bridge, including
its three graph ports (two selectable CSI-2 outputs and one HDMI
input).
Patch 2 adds the V4L2 subdevice driver itself.
Signed-off-by: Hermes Wu <Hermes.wu@ite.com.tw>
---
Changes in v3:
- Patch 2 (driver): fix further correctness issues found by automated
review of v2 -- two banked-register reads still missing a lock, a
CEC RX length TOCTOU and a dropped CEC TX interrupt on invalid RX
length, it6625_s_edid() treating a successful write as a failure,
missing V4L2_SUBDEV_FORMAT_TRY support, an unlocked active-format
commit, and detected timings lumping the whole blanking interval
into hsync/vsync instead of reading the real porch registers. See
the patch's own changelog for the full list, including four other
v2 review findings that were checked and are not being acted on
(with reasoning).
- Patch 1 (dt-bindings): unchanged.
- Link to v2: https://lore.kernel.org/r/20260721-upstream-it6625-it6626-v2-0-7c4f3564ca38@ite.com.tw
Changes in v2:
- Patch 2 (driver): fix several correctness issues found by automated
review of v1 -- premature V4L2 async subdev registration/teardown
ordering, a missing-lock race on banked register reads, a
status-poll interval bug, a dropped CEC interrupt, an unacked CEC
transmit, set_fmt mutating active state on TRY, EDID blocks=0
handling, and a couple of uninitialized-stack hardening fixes. See
the patch's own changelog for the full list.
- Patch 1 (dt-bindings): restrict port@0/port@1 bus-type to D-PHY (4)
only for "ite,it6625", since that chip doesn't support C-PHY (also
found by the automated review of v1).
- Link to v1: https://lore.kernel.org/r/20260720-upstream-it6625-it6626-v1-0-475912f74459@ite.com.tw
---
Hermes Wu (2):
dt-bindings: media: add ITE IT6625/IT6626 HDMI bridge binding
media: i2c: add driver for ITE IT6625/IT6626
.../devicetree/bindings/media/i2c/ite,it6625.yaml | 159 ++
MAINTAINERS | 7 +
drivers/media/i2c/Kconfig | 18 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/it6625.c | 2131 ++++++++++++++++++++
5 files changed, 2316 insertions(+)
---
base-commit: 8dac27bfa2f994ecb11f01a63641527d17d48fc1
change-id: 20260716-upstream-it6625-it6626-6874ab8a5305
Best regards,
--
Hermes Wu <Hermes.wu@ite.com.tw>