Linux Media Controller development
 help / color / mirror / Atom feed
From: Kieran Bingham <kieran.bingham@ideasonboard.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: linux-media@vger.kernel.org,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Sean Young" <sean@mess.org>,
	"Ricardo Ribalda" <ribalda@chromium.org>,
	"Nicolas Dufresne" <nicolas.dufresne@collabora.com>,
	"Jacopo Mondi" <jacopo.mondi@ideasonboard.com>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	"Tomi Valkeinen" <tomi.valkeinen@ideasonboard.com>,
	"Alain Volmat" <alain.volmat@foss.st.com>,
	"Bryan O'Donoghue" <bryan.odonoghue@linaro.org>,
	"Dave Stevenson" <dave.stevenson@raspberrypi.com>,
	"Daniel Almeida" <daniel.almeida@collabora.com>,
	"Michael Tretter" <m.tretter@pengutronix.de>,
	"Tomasz Figa" <tfiga@chromium.org>,
	"Hu,               Jerry W" <jerry.w.hu@intel.com>,
	"Steve Cho" <stevecho@chromium.org>,
	"Kevin Hilman" <khilman@baylibre.com>,
	"Paul Kocialkowski" <paulk@sys-base.io>,
	"Benjamin Mugnier" <benjamin.mugnier@foss.st.com>,
	"Hans Verkuil" <hverkuil@xs4all.nl>,
	"Arthur Vinchon" <arthur.vinchon@allegrodvt.com>,
	"Marco Felsch" <m.felsch@pengu>
Subject: Re: [PATCH 1/1] media: dt-bindings: Add bindings for camera modules
Date: Wed, 27 Aug 2025 16:45:14 +0100	[thread overview]
Message-ID: <175630951460.336274.7975232635118445740@ping.linuxembedded.co.uk> (raw)
In-Reply-To: <aCsceUYURNc8_C7E@kekkonen.localdomain>

Hi Sakari,

Following up here because I think we already need to distinguish between
modules - presumably at the DT/overlay level.

Quoting Sakari Ailus (2025-05-19 12:56:41)
> Hi Kieran,
> 
> On Fri, May 09, 2025 at 09:44:15PM +0100, Kieran Bingham wrote:
> > Hi Sakari,
> > 
> > Quoting Sakari Ailus (2025-05-07 09:13:38)
> > > Add bindings for camera modules to allow telling especially the user space
> > > which module is found in the system. Camera modules do not have a device
> > > node so this is a property for the camera sensor device node. This allows
> > > describing modules that contain a single camera sensor.
> > > 
> > > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> > > ---
> > > Hi all,
> > > 
> > > Here's the patch to give some advance warning for the camera module
> > > discussion. The good thing is that it's quite short.
> > > 
> > 
> > Thanks for starting this! Definitely something I would like to see a
> > solution for indeed.
> > 
> > > The intent indeed is to address the regular use case where we have a
> > > single sensor in a camera module. For cases where we have more, we'll need
> > > something else, not based on individual properties. I believe this is
> > > still the way to go, to address current issues and for a couple of
> > > additional reasons:
> > > 
> > > - Cameras with more than one sensor tend to be collections of camera
> > >   modules so this is still relevant in most cases.
> > > 
> > > - It's much simpler to have a single property than begin having new nodes
> > >   in DT. In practice such nodes would be a poor fit for DT generally as
> > >   they have (few or) no functions.
> > > 
> > > The biggest difficulty is still in module identification. These components
> > > tend to be often ignored and the best we have for a module name in that
> > > case is random-looking string if even that. Besides DT bindings, we need
> > > an additional (git?) tree to describe the modules that have no proper
> > > names but it could be also useful for those that do, for instance to
> > > include information on lens, field of view, IR filter, photos of the
> > > module etc. There is some overlap with what libcamera needs, too.
> > > 
> > 
> > One aspect that jumps to my mind here - is how do we handle variations
> > of modules?
> > 
> > For instance I have two IMX335 modules from Arducam - which are
> > otherwise identical except for different lenses with different
> > field-of-view.
> > 
> > Do we need more properties (later?) to express the different
> > configuration options of the module?
> 
> I think I'd document these as two different modules. Arducam SKU
> identifiers are probably best to be used as models here and I presume SKU
> is different between your modules?
> 
> > 
> > 
> > At some point I would love to be able to describe a 'module' as the
> > whole component including a VCM for instance - in a way that can be
> > abstracted as something that could be connected to a 'port' (see [0],
> > [1]) where it would be helpful to be able to group/abstract a movable
> > component and identify the full camera module in a way that doesn't have
> > to be duplicated in every platform configuration that it could be
> > connected.
> 
> This would likely require having a node for the module, too. It's a
> heavy-weight solution compared to just a property (or a few).
> 
> How commonly do you swap lenses outside R&D in practice?

Hard to determine that - but there are already multiple instances of
different vendor modules with the same sensor - but a different lens
configuration. I'd like to compare these to see if the common parts
could be de-duplciated.

In [2] I've posted two more tuning files for libcamera for the IMX335
and IMX415. Does specifying the vendor and SKU there match what you
would expect with this? Or should we make it a direct match on the
strings you propose below?


[2] https://lists.libcamera.org/pipermail/libcamera-devel/2025-August/052409.html

> +    $ref: /schemas/types.yaml#/definitions/string
> +    enum:
> +      - "dell,0BF122N3" # onnn,ov01a10

So I guess for the Arducam modules I've posted this would be
	"arducam,B0568"

(Do we expect these to be case sensitive? Or insensitive?)

> +  camera-module-casual:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 1 # st,vs6555



> > 
> > [0] https://www.konsulko.com/wp-content/uploads/2016/09/portable-device-tree-connector.pdf
> > [1] https://lore.kernel.org/all/1464986273-12039-2-git-send-email-pantelis.antoniou@konsulko.com/
> 
> -- 
> Kind regards,
> 
> Sakari Ailus

  reply	other threads:[~2025-08-27 15:45 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-07  8:13 [PATCH 1/1] media: dt-bindings: Add bindings for camera modules Sakari Ailus
2025-05-08  5:51 ` Krzysztof Kozlowski
2025-05-09  8:55   ` Sakari Ailus
2025-05-08 17:00 ` Jacopo Mondi
2025-05-09 20:12   ` Sakari Ailus
2025-05-09 20:24     ` Jacopo Mondi
2025-05-09 20:35       ` Sakari Ailus
2025-05-09 20:44 ` Kieran Bingham
2025-05-19 11:56   ` Sakari Ailus
2025-08-27 15:45     ` Kieran Bingham [this message]
2025-09-24 16:07 ` Isaac Scott
2025-09-24 16:31 ` Isaac Scott

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=175630951460.336274.7975232635118445740@ping.linuxembedded.co.uk \
    --to=kieran.bingham@ideasonboard.com \
    --cc=alain.volmat@foss.st.com \
    --cc=arthur.vinchon@allegrodvt.com \
    --cc=benjamin.mugnier@foss.st.com \
    --cc=bryan.odonoghue@linaro.org \
    --cc=daniel.almeida@collabora.com \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=hverkuil@xs4all.nl \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=jerry.w.hu@intel.com \
    --cc=khilman@baylibre.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=m.felsch@pengu \
    --cc=m.tretter@pengutronix.de \
    --cc=mchehab@kernel.org \
    --cc=nicolas.dufresne@collabora.com \
    --cc=niklas.soderlund@ragnatech.se \
    --cc=paulk@sys-base.io \
    --cc=ribalda@chromium.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=sean@mess.org \
    --cc=stevecho@chromium.org \
    --cc=tfiga@chromium.org \
    --cc=tomi.valkeinen@ideasonboard.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox