[PATCH 0/5] media: i2c: it6625: add HDMI audio capture over I2S
From: Hermes Wu via B4 Relay
Date: Tue Nov 03 2026 - 01:55:04 EST
IT6625 and IT6626 decode the audio of their HDMI input and output it on
an I2S interface, driving the bit and frame clocks themselves. The audio
format is not configurable by the host; the bridge reports the stream it
passes through in read-only status registers.
This series adds an ASoC capture DAI to the IT6625 V4L2 driver, so that
this audio can be recorded through a SoC I2S controller, for example
with simple-audio-card.
Patch 1 adds the '#sound-dai-cells' and 'ite,i2s-data-lanes' properties
to the binding.
Patch 2 documents the existing driver-specific audio controls.
Patch 3 decodes the audio status registers with FIELD_GET() and reads
them in one place.
Patch 4 adds the I2S capture DAI for LPCM.
Patch 5 extends the DAI to compressed (IEC 61937) and HBR streams, and
adds a read-only audio type control.
The series is based on media next and does not depend on the pending
IT6625 reset timing [1] and DV timings [2] series; either applies before
or after this one.
Tested by capturing HDMI audio from a signal generator, a PC and a
second HDMI output looped back to the bridge, through an SoC I2S
controller with simple-audio-card:
- LPCM at 32 kHz to 192 kHz with 2 channels on one data line and 8
channels on four data lines, from 16-bit and 24-bit sources. 128 kHz
was not captured, as the I2S controller used does not support it.
- AC-3, DTS-HD and TrueHD bitstreams, captured bit-exact, including
high bit rate streams on four data lines.
- Rate, channel and coding changes, unplug, AV mute and pause/resume
while capturing, and the audio controls with no capture open.
One-bit, multi-stream and 3D audio could not be tested; the driver
rejects them.
[1] https://lore.kernel.org/r/20261007-upstream-it6625-reset-delay-v2-0-c5d6b2522bbe@xxxxxxxxxx
[2] https://lore.kernel.org/r/20261103-upstream-it6625-dv-timings-fix-v2-0-127b879da6d3@xxxxxxxxxx
Signed-off-by: Hermes Wu <Hermes.wu@xxxxxxxxxx>
---
Hermes Wu (5):
dt-bindings: media: ite,it6625: add audio DAI properties
media: Documentation: it6625: document the audio controls
media: i2c: it6625: decode audio status fields with FIELD_GET()
media: i2c: it6625: add I2S audio capture DAI
media: i2c: it6625: capture compressed and HBR audio, not just LPCM
.../devicetree/bindings/media/i2c/ite,it6625.yaml | 23 +-
.../userspace-api/media/drivers/index.rst | 1 +
.../userspace-api/media/drivers/it6625.rst | 48 ++
MAINTAINERS | 1 +
drivers/media/i2c/Kconfig | 1 +
drivers/media/i2c/it6625.c | 879 +++++++++++++++++++--
include/uapi/linux/it6625.h | 25 +
7 files changed, 899 insertions(+), 79 deletions(-)
---
base-commit: d7e7bca7169873b46e857c025c10f3336c1258d8
change-id: 20261019-upstream-it6625-alsa-i2s-9a8e34878dbc
Best regards,
--
Hermes Wu <Hermes.wu@xxxxxxxxxx>