From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from fout-a4-smtp.messagingengine.com (fout-a4-smtp.messagingengine.com [103.168.172.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7C9ED3FDC12; Fri, 15 May 2026 18:09:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.147 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778868588; cv=none; b=aYMp9b/xho9azeAGGYX8Hhk+0LRoQWCWr/6wETyGOcf9qwxlbAfsisDfU9fJZyQWQ5McuKBkW/MHm1KZpSiaRrhTBDYdWXCHX3QQV/ZuGLqy/f5BnKGlA4NblG8XIwmDehBlQkXYiLPLsir8dOUv8CIX+d4LFvDZ6ZC2Vp4iCOA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778868588; c=relaxed/simple; bh=c5DCL/C8iLidN9G2V70jVuTNE5P4vyIxTcmDyiA40n8=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=WRSQeE9k8LyOZA+uxKQAsTexZa7txVN3T45oDvcczxZhQgKtG48PJmbVpvpdyUwIt/BflUK6BLRYc8eMfEBuf4RTxiLzFOjazZSIW0J1yOsts6DOBJWz8kI/dceT703zauUCEJAmC8g0771MAYLbY3g3ZI2aiiCuKM3MxhYXd4o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ragnatech.se; spf=pass smtp.mailfrom=ragnatech.se; dkim=pass (2048-bit key) header.d=ragnatech.se header.i=@ragnatech.se header.b=GCc20xxU; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=ULYKcGuu; arc=none smtp.client-ip=103.168.172.147 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ragnatech.se Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ragnatech.se Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ragnatech.se header.i=@ragnatech.se header.b="GCc20xxU"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="ULYKcGuu" Received: from phl-compute-07.internal (phl-compute-07.internal [10.202.2.47]) by mailfout.phl.internal (Postfix) with ESMTP id B3B14EC00A7; Fri, 15 May 2026 14:09:44 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-07.internal (MEProxy); Fri, 15 May 2026 14:09:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ragnatech.se; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1778868584; x=1778954984; bh=krqp44enzSndnHvhribdC4KBpkMynKCpdBEAhbqrWjQ=; b= GCc20xxURXl4Y4wSXrzdQf6VkUfUymkd0WeZcHEYqrorfsSVrlwbqGPUZFcYf1L7 TvdAi23quSNhN2XNkp81ZkfxhMxBOeRiFvCUyZP7yG4Nh2uRzm+MPKLXLDCtYL0i YOZw7yhZ1EPByhR+ZFtd0XpQi3dOjv1ab8ZQW73pZz50E+C6j90VVTO/+ZO71Win tx5gxqbYVYjJDDfRsxHvT45jKwwlWR2gnB5O0o5meHsCNTvnX4kDYOL042sMjEBk ziLAu8qkimEzzADScXtZ0QT5p/oC1HDUo3EHH2yCxYor6goBzXEtdTz+2sNxLMob htbhd2wIvUPezAZX2IRDcw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1778868584; x= 1778954984; bh=krqp44enzSndnHvhribdC4KBpkMynKCpdBEAhbqrWjQ=; b=U LYKcGuuvFUalPeugcHSaiQhwwXpuieKYi3TFkhWKv4dPvVyDNP9Euv9Nr9u5vl6K VmYXbSQWZw5Ipz64wgM/wHT0EhizLLcqlbcod9eZkFYW1SAs462hV0HttFAGT4dL g3NDGn4VI9N6UYKXtoxmTKrOV6oVzRFMMUs/FxYXxHoKW4jSyMtjSDFcECG/opx3 ZlHHWWRc6i37H30ijXMYk9l0Eb3hbrab5aLbcwaavAzhiikEin6l1b+mRsBoi9lv EO6DqAhXAPxjTDRoeeFc+LR18fxmAYvqpa2MH6O621Y2nakFbGYRbYRqovRR2p1w DyydSHDlZ9Umg03PYiMyA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgddufedutdekucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepfffhvfevuffkfhggtggugfgjsehtkeertddttdejnecuhfhrohhmpefpihhklhgr shcuufpnuggvrhhluhhnugcuoehnihhklhgrshdrshhouggvrhhluhhnugesrhgrghhnrg htvggthhdrshgvqeenucggtffrrghtthgvrhhnpeevteegtddvvdfhtdekgefhfeefheet heekkeegfeejudeiudeuleegtdehkeekteenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpehnihhklhgrshdrshhouggvrhhluhhnugesrhgrghhn rghtvggthhdrshgvpdhnsggprhgtphhtthhopedujedpmhhouggvpehsmhhtphhouhhtpd hrtghpthhtohepughumhhithhruhdrtggvtghlrghnsegrnhgrlhhoghdrtghomhdprhgt phhtthhopehtohhmihdrvhgrlhhkvghinhgvnhdorhgvnhgvshgrshesihguvggrshhonh gsohgrrhgurdgtohhmpdhrtghpthhtohepmhgthhgvhhgrsgeskhgvrhhnvghlrdhorhhg pdhrtghpthhtohepshgrkhgrrhhirdgrihhluhhssehlihhnuhigrdhinhhtvghlrdgtoh hmpdhrtghpthhtoheplhgruhhrvghnthdrphhinhgthhgrrhhtsehiuggvrghsohhnsgho rghrugdrtghomhdprhgtphhtthhopehjuhhlihgvnhdrmhgrshhsohhtsegtohhllhgrsg horhgrrdgtohhmpdhrtghpthhtoheprhhosghhsehkvghrnhgvlhdrohhrghdprhgtphht thhopehgrhgvghhkhheslhhinhhugihfohhunhgurghtihhonhdrohhrghdprhgtphhtth hopegtohhsmhhinhdrthgrnhhishhlrghvsegrnhgrlhhoghdrtghomh X-ME-Proxy: Feedback-ID: i80c9496c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 15 May 2026 14:09:43 -0400 (EDT) Date: Fri, 15 May 2026 20:09:41 +0200 From: Niklas =?utf-8?Q?S=C3=B6derlund?= To: dumitru.ceclan@analog.com Cc: Tomi Valkeinen , Mauro Carvalho Chehab , Sakari Ailus , Laurent Pinchart , Julien Massot , Rob Herring , Greg Kroah-Hartman , Cosmin Tanislav , mitrutzceclan@gmail.com, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-staging@lists.linux.dev, linux-gpio@vger.kernel.org, Martin Hecht , Cosmin Tanislav Subject: Re: [PATCH v11 13/22] media: i2c: add Maxim GMSL2/3 serializer and deserializer framework Message-ID: <20260515180941.GO332351@ragnatech.se> References: <20260511-gmsl2-3_serdes-v11-0-fc163073c16b@analog.com> <20260511-gmsl2-3_serdes-v11-13-fc163073c16b@analog.com> Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20260511-gmsl2-3_serdes-v11-13-fc163073c16b@analog.com> Hi Dumitru, Thanks for your work. On 2026-05-11 15:26:36 +0300, Dumitru Ceclan via B4 Relay wrote: > From: Cosmin Tanislav > > These drivers are meant to be used as a common framework for Maxim > GMSL2/3 serializers and deserializers. > > This framework enables support for the following new features across > all the chips: > * Full Streams API support > * .get_frame_desc() > * .get_mbus_config() > * I2C ATR > * automatic GMSL link version negotiation > * automatic stream id selection > * automatic VC remapping > * automatic pixel mode / tunnel mode selection > * automatic double mode selection / data padding > * logging of internal state and chip status registers via .log_status() > * PHY modes > * serializer pinctrl > * TPG > > Signed-off-by: Cosmin Tanislav > --- > MAINTAINERS | 1 + > drivers/media/i2c/Kconfig | 2 + > drivers/media/i2c/Makefile | 1 + > drivers/media/i2c/maxim-serdes/Kconfig | 17 ++ > drivers/media/i2c/maxim-serdes/Makefile | 3 + > drivers/media/i2c/maxim-serdes/max_serdes.c | 413 ++++++++++++++++++++++++++++ > drivers/media/i2c/maxim-serdes/max_serdes.h | 183 ++++++++++++ > 7 files changed, 620 insertions(+) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 5ae68688008d..70d3eeef8bfe 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -15257,6 +15257,7 @@ M: Cosmin Tanislav > L: linux-media@vger.kernel.org > S: Maintained > F: Documentation/devicetree/bindings/media/i2c/maxim,max9296a.yaml > +F: drivers/media/i2c/maxim-serdes/ > > MAXIM MAX11205 DRIVER > M: Ramona Bolboaca > diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig > index cdd7ba5da0d5..37f86e6de969 100644 > --- a/drivers/media/i2c/Kconfig > +++ b/drivers/media/i2c/Kconfig > @@ -1718,6 +1718,8 @@ config VIDEO_MAX96717 > To compile this driver as a module, choose M here: the > module will be called max96717. > > +source "drivers/media/i2c/maxim-serdes/Kconfig" > + > endmenu > > endif # VIDEO_DEV > diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile > index 57cdd8dc96f6..be3200b23819 100644 > --- a/drivers/media/i2c/Makefile > +++ b/drivers/media/i2c/Makefile > @@ -71,6 +71,7 @@ obj-$(CONFIG_VIDEO_MAX9271_LIB) += max9271.o > obj-$(CONFIG_VIDEO_MAX9286) += max9286.o > obj-$(CONFIG_VIDEO_MAX96714) += max96714.o > obj-$(CONFIG_VIDEO_MAX96717) += max96717.o > +obj-$(CONFIG_VIDEO_MAXIM_SERDES) += maxim-serdes/ > obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o > obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o > obj-$(CONFIG_VIDEO_MT9M001) += mt9m001.o > diff --git a/drivers/media/i2c/maxim-serdes/Kconfig b/drivers/media/i2c/maxim-serdes/Kconfig > new file mode 100644 > index 000000000000..f5a4ca80a263 > --- /dev/null > +++ b/drivers/media/i2c/maxim-serdes/Kconfig > @@ -0,0 +1,17 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > +config VIDEO_MAXIM_SERDES > + tristate "Maxim GMSL2/3 Serializer and Deserializer support" > + depends on VIDEO_DEV > + depends on I2C > + select I2C_ATR > + select I2C_MUX > + select MEDIA_CONTROLLER > + select V4L2_FWNODE > + select VIDEO_V4L2_SUBDEV_API > + help > + This driver supports the Maxim GMSL2/3 common Serializer and > + Deserializer framework. > + > + To compile this driver as a module, choose M here: the module > + will be called max_serdes. > diff --git a/drivers/media/i2c/maxim-serdes/Makefile b/drivers/media/i2c/maxim-serdes/Makefile > new file mode 100644 > index 000000000000..630fbb486bab > --- /dev/null > +++ b/drivers/media/i2c/maxim-serdes/Makefile > @@ -0,0 +1,3 @@ > +# SPDX-License-Identifier: GPL-2.0 > +max-serdes-objs := max_serdes.o > +obj-$(CONFIG_VIDEO_MAXIM_SERDES) += max-serdes.o > diff --git a/drivers/media/i2c/maxim-serdes/max_serdes.c b/drivers/media/i2c/maxim-serdes/max_serdes.c > new file mode 100644 > index 000000000000..bed70b8ce99a > --- /dev/null > +++ b/drivers/media/i2c/maxim-serdes/max_serdes.c > @@ -0,0 +1,413 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Copyright (C) 2025 Analog Devices Inc. > + */ > + > +#include > +#include > +#include > +#include > + > +#include > + > +#include