linux-stable/drivers/media/i2c
Mehdi Djait 918b14a26b media: i2c: Introduce a driver for the Techwell TW9900 decoder
The Techwell video decoder supports PAL, NTSC standards and
has a parallel BT.656 output interface.

This commit adds support for this device, with basic support
for NTSC and PAL, along with brightness and contrast controls.

The TW9900 is capable of automatic standard detection. This
driver is implemented with support for PAL and NTSC
autodetection.

Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Mehdi Djait <mehdi.djait@bootlin.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
2023-12-13 11:04:45 +01:00
..
adv748x media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ccs media: ccs: Select V4L2_CCI_I2C 2023-12-08 10:04:11 +01:00
cx25840 media: cx25840: simplify cx23885_dif_setup() 2023-09-27 09:40:01 +02:00
et8ek8 media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
s5c73m3 media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ad5820.c media: ad5820: Drop unsupported ad5823 from i2c_ and of_device_id tables 2023-07-14 13:07:18 +02:00
adp1653.c media: i2c: adp1653: don't reuse the same node pointer 2023-10-12 10:12:54 +02:00
adv7170.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
adv7175.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
adv7180.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
adv7183.c media: adv7183: Don't set format in sub-device state 2023-12-08 10:04:11 +01:00
adv7183_regs.h
adv7343.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
adv7343_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
adv7393.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
adv7393_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
adv7511-v4l2.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
adv7604.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
adv7842.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ak881x.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ak7375.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
aptina-pll.c media: i2c: aptina-pll: Remove a useless include 2022-11-25 08:35:48 +00:00
aptina-pll.h
ar0521.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
bt819.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
bt856.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
bt866.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ccs-pll.c media: ccs-pll: Initialise best_div to avoid a compiler warning 2023-08-10 07:58:33 +02:00
ccs-pll.h
cs53l32a.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
cs3308.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
cs5345.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ds90ub913.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ds90ub953.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ds90ub960.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
dw9714.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
dw9719.c media: i2c: Add driver for DW9719 VCM 2023-08-10 07:58:41 +02:00
dw9768.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
dw9807-vcm.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
gc2145.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
hi556.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
hi846.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
hi847.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
imx208.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
imx214.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
imx219.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
imx258.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
imx274.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
imx290.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
imx296.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
imx319.c media: imx319: Enable runtime PM before registering async sub-device 2023-12-04 11:21:46 +01:00
imx334.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
imx335.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
imx355.c media: imx355: Enable runtime PM before registering async sub-device 2023-12-04 11:21:46 +01:00
imx412.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
imx415.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ir-kbd-i2c.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
isl7998x.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
Kconfig media: i2c: Introduce a driver for the Techwell TW9900 decoder 2023-12-13 11:04:45 +01:00
ks0127.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ks0127.h
lm3560.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
lm3646.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
m52790.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
Makefile media: i2c: Introduce a driver for the Techwell TW9900 decoder 2023-12-13 11:04:45 +01:00
max2175.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
max2175.h
max9271.c
max9271.h
max9286.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ml86v7667.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
msp3400-driver.c media: use sizeof() instead of V4L2_SUBDEV_NAME_SIZE 2023-09-27 10:47:22 +02:00
msp3400-driver.h
msp3400-kthreads.c
mt9m001.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
mt9m111.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
mt9m114.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
mt9p031.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
mt9t112.c media: mt9t112: Don't set format in sub-device state 2023-12-08 10:04:12 +01:00
mt9v011.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
mt9v032.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
mt9v111.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
og01a1b.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov01a10.c media: ov01a10: Enable runtime PM before registering async sub-device 2023-12-04 11:21:46 +01:00
ov02a10.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ov08d10.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov08x40.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov13b10.c media: ov13b10: Enable runtime PM before registering async sub-device 2023-12-04 11:21:46 +01:00
ov772x.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov2640.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ov2659.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov2680.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ov2685.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov2740.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ov4689.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov5640.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ov5645.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ov5647.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov5648.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov5670.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ov5675.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov5693.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov5695.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov6650.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov7251.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ov7640.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ov7670.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov7740.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov8856.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov8858.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ov8865.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov9282.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ov9640.c media: ov9640: Don't set format in sub-device state 2023-12-08 10:04:12 +01:00
ov9640.h
ov9650.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
ov9734.c media: ov9734: Enable runtime PM before registering async sub-device 2023-12-04 11:21:46 +01:00
ov13858.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
rdacm20.c media: i2c: drop check because i2c_unregister_device() is NULL safe 2023-10-07 10:55:45 +02:00
rdacm21.c media: i2c: rdacm21: Remove an incorrect fwnode_handle_put() call 2023-09-14 23:31:55 +02:00
rj54n1cb0c.c media: rj54n1cb0c: Don't set format in sub-device state 2023-12-08 10:04:12 +01:00
s5k5baf.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
s5k6a3.c media: v4l: subdev: Switch to stream-aware state functions 2023-11-23 18:57:47 +01:00
saa711x_regs.h
saa717x.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa6588.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa6752hs.c media: saa6752hs: Don't set format in sub-device state 2023-12-08 10:04:11 +01:00
saa7110.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa7115.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa7127.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa7185.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
sony-btf-mpx.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
st-mipid02.c media: i2c: st-mipid02: add Y8 format support 2023-12-04 10:37:47 +01:00
st-vgxy61.c media: i2c: st-vgxy61: add v4l2_fwnode ctrls parse and addition 2023-12-04 10:37:47 +01:00
tc358743.c media: tc358743: Add error code to error message 2023-07-19 12:57:47 +02:00
tc358743_regs.h
tc358746.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
tda1997x.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
tda1997x_regs.h
tda7432.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tda9840.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tea6415c.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tea6415c.h
tea6420.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tea6420.h
thp7312.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
ths7303.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ths8200.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ths8200_regs.h
tlv320aic23b.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tvaudio.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tvp514x.c media: tvp541x: Sort header files 2023-10-07 10:55:45 +02:00
tvp514x_regs.h
tvp5150.c media: v4l2-subdev: Rename .init_cfg() operation to .init_state() 2023-12-04 10:37:47 +01:00
tvp5150_reg.h
tvp7002.c media: i2c: Fix references to pad config 2023-11-23 18:30:18 +01:00
tvp7002_reg.h
tw2804.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tw9900.c media: i2c: Introduce a driver for the Techwell TW9900 decoder 2023-12-13 11:04:45 +01:00
tw9903.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tw9906.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tw9910.c media: tw9910: Don't set format in sub-device state 2023-12-08 10:04:12 +01:00
uda1342.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
upd64031a.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
upd64083.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
video-i2c.c media: i2c: video-i2c: Stop direct calls to queue num_buffers field 2023-11-23 12:16:25 +01:00
vp27smpx.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
vpx3220.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
wm8739.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
wm8775.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00