This series adds a binding and a driver for the Samsung S5K3T2, a
20 Mpixel CMOS image sensor with four MIPI D-PHY lanes.
The sensor is the front camera of the Xiaomi POCO F3. That phone has no
device tree in mainline, so this series adds no user for the binding.
The driver was written and tested on the phone with the Qualcomm CAMSS
driver.
Tested:
v4l2-compliance on the sensor sub-device, 46 tests, 46 passed
capture in all three modes, eleven runs, no kernel error
the sensor returns to runtime suspend after every run
exposure and gain sweeps checked on the captured frames
Bayer order checked for both flips
Signed-off-by: Armandas Kvietkus <armandas.kvietkus@proton.me>
---
Changes in v2:
- set_pad_format() now stores the new mode before it updates the
controls. The VBLANK handler reads the mode, so it used to program the
frame length from the mode that was active before the call.
- A negative return from pm_runtime_get_if_active() is no longer read as
active. Runtime PM can be disabled for the device, and in that case the
usage count is not taken, so the old code could drop a count it never
took.
- The PM ops use RUNTIME_PM_OPS() with pm_ptr(), so the ops and the power
callbacks are dropped when CONFIG_PM is not set.
- Link to v1: https://patch.msgid.link/20260920-upstream-s5k3t2-v1-0-d640740f4013@proton.me
---
Armandas Kvietkus (2):
dt-bindings: media: i2c: Add Samsung S5K3T2 image sensor
media: i2c: Add Samsung S5K3T2 image sensor driver
.../bindings/media/i2c/samsung,s5k3t2.yaml | 101 ++
MAINTAINERS | 8 +
drivers/media/i2c/Kconfig | 10 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/s5k3t2.c | 1360 ++++++++++++++++++++
5 files changed, 1480 insertions(+)
---
base-commit: 518e5b794c06c0f0eb40df3e202274a66202c137
change-id: 20260920-upstream-s5k3t2-23b33dab0315
Best regards,
--
Armandas Kvietkus <armandas.kvietkus@proton.me>