Linux Media Controller development
 help / color / mirror / Atom feed
From: johannes.goede@oss.qualcomm.com
To: Stefan Klug <stefan.klug@ideasonboard.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	libcamera-devel@lists.libcamera.org, linux-media@vger.kernel.org
Cc: Loic Poulain <lpoulain@qti.qualcomm.com>,
	Michael Riesch <michael.riesch@collabora.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>
Subject: Re: [ANNOUNCEMENT] Camera & ISP at Linux Plumbers Conference
Date: Thu, 1 Oct 2026 17:15:05 +0200	[thread overview]
Message-ID: <ff4290aa-8edd-4135-9260-3bcd0361fa06@oss.qualcomm.com> (raw)
In-Reply-To: <93b0e5fd-5570-4418-8bbc-4b18ef5e419f@ideasonboard.com>

Hi Stefan,

Thank you for the write-up.

On 30-Sep-26 13:18, Stefan Klug wrote:

<snip>

> ## Diving into the examples
> 
> Lets look at the example I listed to see how these would be solved.
> 
> ### 1. Laptop with camera module from various manufacturers
> 
> I believe this can be solved by either integrating the detection logic
> in libcamera and/or adding rules to udev/hwdb. But we are lacking real
> examples. So if you're able to provide identification strategies for
> real, existing hardware, I'd be glad to know about it. One strategy
> might be to use the machine identifier provided by DMI. This is however
> quite coarse and can not handle cases where the manufacturer used
> different camera modules from different vendors (using the same sensor
> model). ARe there for example ACPI properties that we could query for
> additional information?
> 
> Q: Does anyone in this group have more details on which information to
> query and where to get more details from the system?
> A: ...

For the Intel IPU6/IPU7 methods there is an ACPI call which the kernel
can do on the sensor fwnode object which will return a string identifying
the modules. These strings don't really have any fixed format, typically
they contain something which look like how some laptop serials look
just a random bunch of numbers + capital letters.

Userspace cannot get to this without the kernel exporting it.

Given all the udev talk, I think a sysfs attribute would make sense
for this. We can make the kernel do the ACPI call and if it is present
add a camera_module sysfs attribute to the v4l2-subdev for the sensor,
which will only be visible when there actually is a module-name.

On laptops using devicetree we could then fill this from a devicetree
property.


> 
> ### 2. Camera modules with an embedded EEPROM
> 
> To make use of the EEPROM data from user space we need to carry two
> elements: The EEPROM data itself and some identifier telling which
> format the data in the EEPROM has. This seems relatively straightforward
> and we could model it like this in dts:
> 
> dts-snippet:
> imx283_0: sensor@1a {
> 		compatible = "sony,imx283";
>     ...
>     eeprom = <&eeprom>;
>     eeprom-format = "vendor-a-eeprom-fmt";
> };
> 
> Getting the link to the EEPROM from user space is something to
> investigate. Ideas are either sysfs or media-controller.
> The eeprom-format must be specified as well, to tell user space how to
> interpret the EEPROM data, as it is typically not self-contained.
> 
> Q: On a first discussion on that topic we were unsure if it would be
> preferred to expose the data directly in sysfs,
> or to symlink to the corresponding sysfs entry for the EEPROM. Any
> preferences?
> A: ...
> 
> Q: Any input/things to consider from ACPI side?
> A:

For IPU6/IPU7 eeprom data is not used for camera-module identification
(AFAIK), it is all done through the (custom, Intel specific) ACPI call
I mentioned above.

> Q: What happens if the EEPROM driver is not loaded yet or is just not
> available? Should it block/defer probing of the sensor?
> A:
> 
> Q: We are missing real-life examples for these cases. So input from
> vendors would be welcome.
> A:
<snip>

Regards,

Hans



  parent reply	other threads:[~2026-10-01 15:15 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <UzpC1s2YnBtZIaRCab_Y8AbCecyauDUO4OC7Nhd1-h4TE21aLSghbwDuOKgdwJQugvPMjM4foPHuL-UKnBLD6A==@protonmail.internalid>
2026-09-14 23:38 ` [ANNOUNCEMENT] Camera & ISP at Linux Plumbers Conference Laurent Pinchart
2026-09-17 13:47   ` Bryan O'Donoghue
2026-09-18  8:08     ` johannes.goede
2026-09-18  9:18     ` Laurent Pinchart
2026-09-19 21:45       ` Bryan O'Donoghue
2026-09-19 22:29         ` Laurent Pinchart
2026-09-21 11:52           ` Bryan O'Donoghue
2026-09-21 16:02             ` Nicolas Dufresne
2026-09-27  9:01   ` johannes.goede
2026-09-27  9:04   ` johannes.goede
2026-09-30 11:18   ` Stefan Klug
2026-09-30 22:01     ` Conor Dooley
2026-10-02 16:14       ` Stefan Klug
2026-10-03 14:56         ` Loic Poulain
2026-10-01 15:15     ` johannes.goede [this message]
2026-10-01 20:55       ` Laurent Pinchart
2026-10-02  6:56         ` Sakari Ailus
2026-10-02 18:31           ` Laurent Pinchart
2026-10-06 10:03             ` Sakari Ailus
     [not found]   ` <2e1d628f-8183-4446-9500-9886561f320b@mm-sol.com>
2026-09-30 23:23     ` Laurent Pinchart
2026-10-06  6:30       ` Gjorgji Rosikopulos
2026-10-01  6:19   ` Rishikesh Donadkar
2026-10-01 21:08     ` Laurent Pinchart

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=ff4290aa-8edd-4135-9260-3bcd0361fa06@oss.qualcomm.com \
    --to=johannes.goede@oss.qualcomm.com \
    --cc=conor+dt@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=libcamera-devel@lists.libcamera.org \
    --cc=linux-media@vger.kernel.org \
    --cc=lpoulain@qti.qualcomm.com \
    --cc=michael.riesch@collabora.com \
    --cc=robh@kernel.org \
    --cc=stefan.klug@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