Re: [PATCH v4 2/2] media: i2c: ov02e10: add OV02E10 image sensor driver

From: David Heidelberg
Date: Fri Apr 18 2025 - 12:27:17 EST


Tested-by: David Heidelberg <david@xxxxxxx> # Dell Latitude 9440 2024

Thank you!
David

On 07/04/2025 11:13, Bryan O'Donoghue wrote:
From: Jingjing Xiong <jingjing.xiong@xxxxxxxxx>

Add in the ov02e10 driver from the Intel IPU6 repository.

Changelog to IPU6 incoming driver:

- handhake GPIO
The IPU6 handshake GPIO signals to the FPGA on IPU6/IPU7 laptops and as
such is not a sensor signal.

Hans has a proposal for handling those GPIOs below. Dropf from the
incoming sensor driver.

Link: https://lore.kernel.org/linux-media/4b87a956-a767-48dc-b98b-f80d9a44adc8@xxxxxxxxxx

- Regulators
Change to regulator_bulk API to capture the full range of rails to the
o02e10 sensor.

This will work for ACPI systems which only have the avdd rail available
as missing rails won't fail the regulator_bulk_* function calls.

Convert the existing avdd single rail to regulator_bulk API.

- Clocks

Move the MCLK validation logic to check_hwcfg() and move check_hwcfg()
to after devm_kzalloc() so that we can pass a struct ov02e pointer to
check_hwcfg() to begin to enumerate that structure.

Reworks MCLK clock get logic to facilitate OF

- Power on/off

Implement specification on and off delays on power-up

The ov02e10 specification says for power-on:

t3 = the time between dvdd stable and XSHUTDOWN deassert
t5 = the time between XSHUTDOWN deassert and SCCB ready

The power-off path in the spec shows no required delays between XSHUTDOWN
and power-rail shut off but, if the reset GPIO is not defined no action is
taken to change its logical state.

- Remove dev_dbg() and extra dev_err()

Several instances of dev_dbg() and dev_err() were removed.
dev_xxx() calls common in development can be stripped away for upstream.

We have multiple on-list tests for this code on X86 and Arm so most of
the verbose dev_xxx() calls are redundant now.

- Add OF probe support

Simple addition of ovti,0v02e10 compat string and associated resource
structure entry.

- Extend MODULE_AUTHOR list
Adds Hans, Alan and myself

- Conversion to v4l2 subdevice-state

- Added HFLIP and VFLIP support

Signed-off-by: Jingjing Xiong <jingjing.xiong@xxxxxxxxx>
Co-developed-by: Hao Yao <hao.yao@xxxxxxxxx>
Signed-off-by: Hao Yao <hao.yao@xxxxxxxxx>
Co-developed-by: Jim Lai <jim.lai@xxxxxxxxx>
Signed-off-by: Jim Lai <jim.lai@xxxxxxxxx>
Co-developed-by: You-Sheng Yang <vicamo.yang@xxxxxxxxxxxxx>
Signed-off-by: You-Sheng Yang <vicamo.yang@xxxxxxxxxxxxx>
Co-developed-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Co-developed-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
---
MAINTAINERS | 9 +
drivers/media/i2c/Kconfig | 10 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/ov02e10.c | 969 ++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 989 insertions(+)