mirror-linux/drivers/media/i2c
Svyatoslav Ryhel d363bdfa0e media: i2c: add Sony IMX111 CMOS camera sensor driver
Add a v4l2 sub-device driver for the Sony IMX111 image sensor. This is a
camera sensor using the i2c bus for control and the csi-2 bus for data.

The following features are supported:
- manual exposure, digital and analog gain control support
- pixel rate/link freq control support
- supported resolution up to 3280x2464 for single shot capture
- supported resolution up to 1920x1080 @ 30fps for video
- supported bayer order output SGBRG10 and SGBRG8

Camera module seems to be partially compatible with Nokia SMIA but it
lacks a few registers required for clock calculations and has different
vendor-specific per-mode configurations which makes it incompatible with
existing CCS driver.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
[Sakari Ailus: Fix set_fmt() callback a bit and idle after autosuspend.]
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2025-11-13 11:33:39 +01:00
..
adv748x media: adv748x: Remove g_pixelaspect implementation 2025-07-10 13:44:58 +02:00
ccs media: ccs: Use %pe format specifier 2025-10-17 11:31:15 +02:00
cx25840 media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
et8ek8 media: i2c: et8ek8: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:19 +02:00
s5c73m3 media: i2c: s5c73m3: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:20 +02:00
Kconfig media: i2c: add Sony IMX111 CMOS camera sensor driver 2025-11-13 11:33:39 +01:00
Makefile media: i2c: add Sony IMX111 CMOS camera sensor driver 2025-11-13 11:33:39 +01:00
ad5820.c
adp1653.c
adv7170.c
adv7175.c
adv7180.c media: adv7180: Only validate format in querystd 2025-09-04 10:06:13 +02:00
adv7183.c
adv7183_regs.h
adv7343.c
adv7343_regs.h
adv7393.c
adv7393_regs.h
adv7511-v4l2.c media: adv7511-v4l2: use constants for BT.2020 colorimetry 2025-04-25 15:14:36 +02:00
adv7604.c media: i2c: ADV7604: Remove redundant cancel_delayed_work in probe 2025-10-14 15:07:37 +02:00
adv7842.c media: adv7842: Use %pe format specifier 2025-10-17 11:31:15 +02:00
ak881x.c
ak7375.c
alvium-csi2.c media: Remove redundant pm_runtime_mark_last_busy() calls 2025-08-18 09:55:08 +02:00
alvium-csi2.h
aptina-pll.c
aptina-pll.h
ar0521.c media: ar0521: Use %pe format specifier 2025-10-17 11:31:15 +02:00
bt819.c
bt856.c
bt866.c
ccs-pll.c media: ccs-pll: Print a debug message when VT tree calculation fails 2025-05-06 13:06:29 +02:00
ccs-pll.h media: ccs-pll: Document the CCS PLL flags 2025-04-25 10:15:19 +02:00
cs53l32a.c
cs3308.c
cs5345.c
ds90ub913.c media: i2c: ds90ub913: Use %pe format specifier 2025-10-17 11:31:15 +02:00
ds90ub953.c media: i2c: ds90ub953: convert from round_rate() to determine_rate() 2025-11-03 15:58:42 +01:00
ds90ub953.h media: i2c: ds90ub9xx: Set serializer temperature ramp 2025-04-25 10:15:11 +02:00
ds90ub960.c media: i2c: ds90ub960: Drop check on number of active routes 2025-06-30 09:06:21 +02:00
dw9714.c media: dw9714: add support for powerdown pin 2025-06-30 09:06:21 +02:00
dw9719.c media: i2c: dw9719: Add DW9800K support 2025-10-29 13:47:16 +01:00
dw9768.c media: Remove redundant pm_runtime_mark_last_busy() calls 2025-08-18 09:55:08 +02:00
dw9807-vcm.c
gc05a2.c media: i2c: gc05a2: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:19 +02:00
gc08a3.c media: i2c: gc08a3: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:19 +02:00
gc0308.c media: Remove redundant pm_runtime_mark_last_busy() calls 2025-08-18 09:55:08 +02:00
gc0310.c media: Move gc0310 sensor drivers to drivers/media/i2c/ 2025-08-25 15:40:35 +02:00
gc2145.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
hi556.c media: i2c: hi556: Use V4L2 sensor clock helper 2025-09-09 15:59:17 +02:00
hi846.c media: i2c: hi846: Use the v4l2 helper for obtaining the clock 2025-08-13 15:10:20 +02:00
hi847.c media: i2c: hi847: Use V4L2 sensor clock helper 2025-09-09 15:59:17 +02:00
imx111.c media: i2c: add Sony IMX111 CMOS camera sensor driver 2025-11-13 11:33:39 +01:00
imx208.c media: i2c: imx208: Use V4L2 sensor clock helper 2025-09-09 15:59:17 +02:00
imx214.c media: i2c: imx214: Rearrange control initialization 2025-11-13 10:57:52 +01:00
imx219.c media: i2c: imx219: Replace exposure magic value with named constant 2025-11-13 10:57:52 +01:00
imx258.c media: i2c: imx258: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:19 +02:00
imx274.c media: i2c: imx274: Use %pe format specifier 2025-10-17 11:31:15 +02:00
imx283.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
imx290.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
imx296.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
imx319.c media: i2c: imx319: Use V4L2 sensor clock helper 2025-09-09 15:59:17 +02:00
imx334.c media: i2c: imx: Add note to prevent buggy code re-use 2025-08-25 15:40:44 +02:00
imx335.c media: imx335: Switch to {enable,disable}_streams 2025-11-13 10:57:52 +01:00
imx355.c media: i2c: imx335: Use V4L2 sensor clock helper 2025-09-09 15:59:18 +02:00
imx412.c media: i2c: imx412: Use %pe format specifier 2025-10-17 11:31:15 +02:00
imx415.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
ir-kbd-i2c.c media: fix uninitialized symbol warnings 2025-08-29 11:04:02 +02:00
isl7998x.c
ks0127.c
ks0127.h
lm3560.c
lm3646.c
lt6911uxe.c media: i2c: set lt6911uxe's reset_gpio to GPIOD_OUT_LOW 2025-06-30 08:47:41 +02:00
m52790.c
max2175.c
max2175.h
max9271.c
max9271.h
max9286.c media: i2c: max9286: Use %pe format specifier 2025-10-17 11:31:15 +02:00
max96714.c media: i2c: max96714: Drop check on number of active routes 2025-06-30 09:06:21 +02:00
max96717.c media: i2c: max96717: convert from round_rate() to determine_rate() 2025-11-03 15:58:42 +01:00
ml86v7667.c
msp3400-driver.c
msp3400-driver.h
msp3400-kthreads.c media: msp3400: Avoid possible out-of-bounds array accesses in msp3400c_thread() 2025-10-14 15:07:37 +02:00
mt9m001.c media: i2c: mt9m001: Use the v4l2 helper for obtaining the clock 2025-08-13 15:10:22 +02:00
mt9m111.c media: i2c: mt9m111: Use %pe format specifier 2025-10-17 11:31:15 +02:00
mt9m114.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
mt9p031.c media: i2c: mt9p031: fix mbus code initialization 2025-09-09 15:59:16 +02:00
mt9t112.c media: i2c: mt9t112: Use the v4l2 helper for obtaining the clock 2025-08-13 15:10:23 +02:00
mt9v011.c
mt9v032.c media: i2c: mt9v032: Drop support for platform data 2025-09-09 15:59:17 +02:00
mt9v111.c media: i2c: mt9v111: Use %pe format specifier 2025-10-17 11:31:15 +02:00
og0ve1b.c media: i2c: Add OmniVision OG0VE1B camera sensor 2025-09-09 15:59:16 +02:00
og01a1b.c media: i2c: og01a1b: Use V4L2 sensor clock helper 2025-09-09 15:59:18 +02:00
ov01a10.c
ov02a10.c media: i2c: ov02a10: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:19 +02:00
ov02c10.c media: ov02c10: Support hflip and vflip 2025-10-29 14:07:01 +01:00
ov02e10.c media: i2c: ov02e10: Use V4L2 sensor clock helper 2025-09-09 15:59:18 +02:00
ov08d10.c media: i2c: ov08d10: Use V4L2 sensor clock helper 2025-09-09 15:59:18 +02:00
ov08x40.c media: i2c: ov08x40: Use V4L2 sensor clock helper 2025-09-09 15:59:18 +02:00
ov13b10.c media: ov13b10: Add ACPI ID for ASUS Z13 Flow laptop 2025-10-29 14:07:01 +01:00
ov64a40.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
ov772x.c
ov2640.c
ov2659.c media: i2c: ov2659: Use the v4l2 helper for obtaining the clock 2025-08-13 15:10:24 +02:00
ov2680.c media: i2c: ov2680: Use the v4l2 helper for obtaining the clock 2025-08-13 15:10:28 +02:00
ov2685.c media: i2c: ov2685: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:19 +02:00
ov2735.c media: i2c: add ov2735 image sensor driver 2025-09-09 15:59:17 +02:00
ov2740.c media: i2c: ov2740: Use V4L2 sensor clock helper 2025-09-09 15:59:18 +02:00
ov4689.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
ov5640.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
ov5645.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
ov5647.c media: i2c: ov5647: Use the v4l2 helper for obtaining the clock 2025-08-13 15:10:24 +02:00
ov5648.c media: i2c: ov5648: make read-only arrays regs and values static const 2025-08-25 15:40:38 +02:00
ov5670.c media: i2c: ov5670: Use V4L2 sensor clock helper 2025-09-09 15:59:19 +02:00
ov5675.c media: i2c: ov5675: Use %pe format specifier 2025-10-17 11:31:15 +02:00
ov5693.c media: i2c: ov5693: Use %pe format specifier 2025-10-17 11:31:15 +02:00
ov5695.c media: i2c: ov5695: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:20 +02:00
ov6211.c media: i2c: Add OmniVision OV6211 image sensor driver 2025-09-09 15:59:16 +02:00
ov7251.c media: i2c: ov7251: Use V4L2 sensor clock helper 2025-09-09 15:59:19 +02:00
ov7640.c
ov7670.c
ov7740.c media: i2c: ov7740: Use the v4l2 helper for obtaining the clock 2025-08-13 15:10:25 +02:00
ov8856.c media: i2c: ov8856: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:20 +02:00
ov8858.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
ov8865.c media: ov8865: move mode_configure out of state_configure 2025-09-09 15:59:16 +02:00
ov9282.c media: i2c: ov9282: Use %pe format specifier 2025-10-17 11:31:15 +02:00
ov9640.c media: i2c: ov9640: Use the v4l2 helper for obtaining the clock 2025-08-13 15:10:26 +02:00
ov9640.h
ov9650.c media: i2c: ov9650: Use the v4l2 helper for obtaining the clock 2025-08-13 15:10:27 +02:00
ov9734.c media: i2c: ov9734: Use V4L2 sensor clock helper 2025-09-09 15:59:19 +02:00
ov13858.c media: i2c: ov13858: Use V4L2 sensor clock helper 2025-09-09 15:59:18 +02:00
rdacm20.c media: i2c: rdacm2x: Make use of device properties 2025-05-06 13:06:29 +02:00
rdacm21.c media: i2c: rdacm2x: Make use of device properties 2025-05-06 13:06:29 +02:00
rj54n1cb0c.c media: rj54n1cb0c: Use %pe format specifier 2025-10-17 11:31:15 +02:00
s5k5baf.c media: i2c: s5k5baf: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:20 +02:00
s5k6a3.c media: i2c: s5k6a3: Use V4L2 legacy sensor clock helper 2025-09-09 15:59:20 +02:00
saa711x_regs.h
saa717x.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
saa6588.c
saa6752hs.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
saa7110.c
saa7115.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
saa7127.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
saa7185.c
sony-btf-mpx.c
st-mipid02.c media: i2c: st-mipid02: Use %pe format specifier 2025-10-17 11:31:15 +02:00
tc358743.c media: i2c: tc358743: Fix use-after-free bugs caused by orphan timer in probe 2025-09-17 12:14:06 +02:00
tc358743_regs.h media: i2c: tc358743: add support for more infoframe types 2025-09-07 10:29:19 +02:00
tc358746.c media: i2c: tc358746: convert from round_rate() to determine_rate() 2025-11-03 15:58:42 +01:00
tda1997x.c media: TDA1997x: Remove redundant cancel_delayed_work in probe 2025-10-14 15:07:37 +02:00
tda1997x_regs.h
tda7432.c
tda9840.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
tea6415c.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
tea6415c.h
tea6420.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
tea6420.h
thp7312.c media: Remove redundant pm_runtime_mark_last_busy() calls 2025-08-18 09:55:08 +02:00
ths7303.c media: update Hans Verkuil's email address 2025-09-09 15:58:44 +02:00
ths8200.c
ths8200_regs.h
tlv320aic23b.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
tvaudio.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
tvp514x.c
tvp514x_regs.h
tvp5150.c
tvp5150_reg.h
tvp7002.c
tvp7002_reg.h
tw2804.c
tw9900.c
tw9903.c
tw9906.c
tw9910.c
uda1342.c
upd64031a.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
upd64083.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
vd55g1.c media: i2c: vd55g1: Add support for vd65g4 RGB variant 2025-10-29 14:07:01 +01:00
vd56g3.c [GIT PULL for v6.18] media updates 2025-10-02 13:13:26 -07:00
vgxy61.c media: i2c: vgxy61: Report stream using frame descriptors 2025-08-25 15:40:38 +02:00
video-i2c.c media: Remove redundant pm_runtime_mark_last_busy() calls 2025-08-18 09:55:08 +02:00
vp27smpx.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
vpx3220.c
wm8739.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00
wm8775.c media: update Hans Verkuil's email address 2025-09-09 15:59:02 +02:00