Devicetree
 help / color / mirror / Atom feed
From: Alain Cousinie <alain.cousinie@laposte.net>
To: wenmeng.liu@oss.qualcomm.com
Cc: conor+dt@kernel.org, conor.dooley@microchip.com,
	devicetree@vger.kernel.org, krzk+dt@kernel.org,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	mchehab@kernel.org, robh@kernel.org,
	sakari.ailus@linux.intel.com, vladimir.zapolskiy@linaro.org
Subject: Re: [PATCH v3 0/3] media: i2c: Add OmniVision OG0VA1B camera sensor driver - IPU and ACPI
Date: Tue, 28 Jul 2026 10:27:32 +0200	[thread overview]
Message-ID: <cc697c8d-8389-4d26-ac3e-4dc51a247dba@laposte.net> (raw)
In-Reply-To: <f12c1344-67ff-4242-9c39-59ac208e9b35@oss.qualcomm.com>

Hello,
I am a novice when it comes to the Linux kernel.
The og0va1b sensor is also used in laptops (HP, Dell, etc.) with IPU6 
and ACPI.
I tried this on my HP Spectre 14-eu0xxx laptop, and it seems to work 
(though it isn't fully functional yet, as other elements are missing).
I would like to propose adding this configuration for this sensor.

So, I added the ACPI ID—OVTI00AB for og0va1b—to the IPU:

+++ b/drivers/media/pci/intel/ipu-bridge.c
@@ -73,6 +73,8 @@
         IPU_SENSOR_CONFIG("INT3537", 1, 437000000),
         /* Lontium lt6911uxe */
         IPU_SENSOR_CONFIG("INTC10C5", 0),
+       /* Omnivision OG0VA1B */
+       IPU_SENSOR_CONFIG("OVTI00AB", 1, 480000000),
         /* Omnivision OV01A10 / OV01A1S */
         IPU_SENSOR_CONFIG("OVTI01A0", 1, 400000000),
         IPU_SENSOR_CONFIG("OVTI01AS", 1, 400000000),
---

Then, I added the ACPI declaration to `ov0ve1b.c`, following the patches 
for og0va1b:

diff --git a/drivers/media/i2c/og0ve1b.c b/drivers/media/i2c/og0ve1b.c
--- a/drivers/media/i2c/og0ve1b.c
+++ b/drivers/media/i2c/og0ve1b.c
@@ -978,8 +978,11 @@

         og0ve1b->dev = &client->dev;
         og0ve1b->data = i2c_get_match_data(client);
-       if (!og0ve1b->data)
-               return -ENODEV;
+        if (!og0ve1b->data) {
+                og0ve1b->data = device_get_match_data(&client->dev);
+                if (!og0ve1b->data)
+                        return -ENODEV;
+        }

         v4l2_i2c_subdev_init(&og0ve1b->sd, client, &og0ve1b_subdev_ops);
         v4l2_i2c_subdev_set_name(&og0ve1b->sd, client,
@@ -1114,6 +1117,15 @@
         SET_RUNTIME_PM_OPS(og0ve1b_power_off, og0ve1b_power_on, NULL)
  };

+#ifdef CONFIG_ACPI
+static const struct acpi_device_id og0ve1b_acpi_ids[] = {
+        {"OVTI00AB", (uintptr_t)&og0va1b_data},
+        { /* sentinel */ }
+};
+
+MODULE_DEVICE_TABLE(acpi, og0ve1b_acpi_ids);
+#endif
+
  static const struct of_device_id og0ve1b_of_match[] = {
         { .compatible = "ovti,og0va1b", .data = &og0va1b_data },
         { .compatible = "ovti,og0ve1b", .data = &og0ve1b_data },
@@ -1126,6 +1138,7 @@
                 .name = "og0ve1b",
                 .pm = &og0ve1b_pm_ops,
                 .of_match_table = og0ve1b_of_match,
+                .acpi_match_table = ACPI_PTR(og0ve1b_acpi_ids),
         },
         .probe = og0ve1b_probe,
         .remove = og0ve1b_remove,

---

Here is an example of my tests: `$ cam -c2 -C1 -Ftest.bin`
     Using camera \_SB_.PC00.LNK1 as cam0
     [3:02:57.280464484] [55404]  INFO Camera camera.cpp:1216 
configuring streams: (0) 640x480-R10/sYCC
     cam0: Capture 1 frames
     10977.366149 (0.00 fps) cam0-stream0 seq: 000000 bytesused: 614400

This produces a raw image file that I can view using various tools, and 
it appears to correspond to the sensor.

Best Regards,
Alain

> On 23/07/2026 à 04:41, Wenmeng Liu wrote :
>>
>>
>> On 7/8/2026 10:33 PM, Wenmeng Liu wrote:
>>> Add OmniVision OG0VA1B driver support. The OmniVision OG0VA1B is a
>>> 1/10-inch monochrome CMOS VGA image sensor. It outputs 10-bit raw (Y10)
>>> frames at up to 640x480 resolution over a single-lane MIPI CSI-2
>>> interface and is controlled via an I2C-compatible SCCB bus.
>>>
>>> This driver has been verified(include tpg) on the Purwa EVK.
>>>
>>> Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
>>> ---
>>> Changes in v3:
>>> - Generalise the binding title and description for both sensors. -- 
>>> Vladimir
>>> - Keep the cached pre_isp read so the OG0VE1B test pattern still works,
>>> select it via a per-sensor callback. -- Bryan, Vladimir
>>> - Rename the "sensor" field to "data", drop bpp (derive from code) and
>>> add og0ve1b_pixel_rate(). -- Vladimir
>>> - Sort defines, rename the shared CHIP_ID reg to OG0V_ and order
>>> og0va1b_data first. -- Vladimir
>>> - Expose all four OG0VA1B test patterns instead of one.
>>> - Link to v2: 
>>> https://lore.kernel.org/r/20260702-og0va1b-v2-0-0071442caa2a@oss.qualcomm.com
>>>
>>> Changes in v2:
>>> - Integrate OG0VA1B into the existing og0ve1b driver and binding
>>> instead. -- Vladimir
>>> - Link to v1: 
>>> https://lore.kernel.org/r/20260618-og0va1b-v1-0-dda71bb83009@oss.qualcomm.com
>>>
>>> ---
>>> Wenmeng Liu (3):
>>>        dt-bindings: media: i2c: og0ve1b: Add OmniVision OG0VA1B 
>>> camera sensor
>>>        media: i2c: og0ve1b: Introduce per-sensor data structure
>>>        media: i2c: og0ve1b: Add support for OmniVision OG0VA1B
>>>
>>>   .../bindings/media/i2c/ovti,og0ve1b.yaml           |  15 +-
>>>   drivers/media/i2c/og0ve1b.c                        | 375 
>>> ++++++++++++++++++---
>>>   2 files changed, 344 insertions(+), 46 deletions(-)
>>> ---
>>> base-commit: 5c73cd9f0819c1c44e373e3dabb68318b1de1a12
>>> change-id: 20260618-og0va1b-55bbf3cabb0e
>>>
>>> Best regards,
>>
>>
>> Gentle reminder to review this patchset.
>>
>> Thanks,
>> Wenmeng
>>



      reply	other threads:[~2026-07-28 12:28 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-08 14:33 [PATCH v3 0/3] media: i2c: Add OmniVision OG0VA1B camera sensor driver Wenmeng Liu
2026-07-08 14:33 ` [PATCH v3 1/3] dt-bindings: media: i2c: og0ve1b: Add OmniVision OG0VA1B camera sensor Wenmeng Liu
2026-07-08 14:33 ` [PATCH v3 2/3] media: i2c: og0ve1b: Introduce per-sensor data structure Wenmeng Liu
2026-07-08 14:45   ` sashiko-bot
2026-07-23 13:48   ` Vladimir Zapolskiy
2026-07-08 14:33 ` [PATCH v3 3/3] media: i2c: og0ve1b: Add support for OmniVision OG0VA1B Wenmeng Liu
2026-07-23 13:51   ` Vladimir Zapolskiy
2026-07-24 13:35   ` Vladimir Zapolskiy
2026-07-27  9:38     ` Wenmeng Liu
2026-07-27 19:05       ` Vladimir Zapolskiy
2026-07-23  2:41 ` [PATCH v3 0/3] media: i2c: Add OmniVision OG0VA1B camera sensor driver Wenmeng Liu
2026-07-28  8:27   ` Alain Cousinie [this message]

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=cc697c8d-8389-4d26-ac3e-4dc51a247dba@laposte.net \
    --to=alain.cousinie@laposte.net \
    --cc=conor+dt@kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=vladimir.zapolskiy@linaro.org \
    --cc=wenmeng.liu@oss.qualcomm.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