Re: [PATCH v15 00/22] media: i2c: add Maxim GMSL2/3 serializer and deserializer drivers
From: Tomi Valkeinen
Date: Wed Aug 26 2026 - 06:16:53 EST
Hi,
On 07/08/2026 16:02, Dumitru Ceclan via B4 Relay wrote:
This series adds new drivers for multiple Maxim GMSL2 and GMSL3 devices,If you send a series, it needs your Signed-off-by.
replacing the few GMSL2 drivers already in upstream, and introducing a
common framework that can be used to implement such GMSL chips, which
avoids code duplication while also adding support for previously
unsupported features.
This series also depends on the internal pad, which is not upstream and is not just a straightforward add-a-define case. Sakari's "[PATCH v12 00/86] Generic line based metadata support, internal pads" has it, and additional patches around it. For the time being, I think the internal pad unfortunately blocks merging this.
However, (correct me if I'm wrong) the internal pad is only required for TPG. An option would be to remove the TPG support (or at least the parts that make it visible, i.e. you could keep the internal functionality), thus removing the blocker. The TPG could be added later on top.
I tested the series on Xilinx Kria KV260 and on TI AM62A SK, both with
max96716 deserializer and two max96717 serializers with imx219. On Xilinx I used RAW8, with and without embedded data. On AM62A I used RAW8 and RAW10.
The deserializer TPG gives me no frames at all. I recall the clocking for the TPG was quite a challenge on at least some max96 serializers, so maybe it's related to that.
The serializer TPG worked, although I think there's something funny with it: the initial frames (maybe just the first one) seem to be truncated a bit, there's black at the bottom. Another, a bit more unclear, is that sometimes ser tpg stops working. If I'm not mistaken, what I did was run cam0-tpg + cam1-tpg. Then I tried des tpg. Then cam0-tpg, but it gives me nothing. Streaming with cam0+cam1 video "resets" things and it all works again. I've seen this a few times, but there seems to be some randomness so I haven't been able to pinpoint it, but feels like there's some extra state that's left behind into the HW.
All in all, the normal case (non-tpg) works ok for me:
Tested-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
Tomi