linux/drivers/media/i2c
Marek Vasut 0958944a93 media: mt9p031: Increase post-reset delay
The MT9P006 sensor driver sporadically fails to probe because the sensor
responds with a NACK condition to I2C address on the bus during an attempt
to read the sensor MT9P031_CHIP_VERSION register in mt9p031_registered().

Neither the MT9P006 nor MT9P031 datasheets are clear on reset signal timing.
Older MT9M034 [1] datasheet provides those timing figures in Appendix-A and
indicates it is necessary to wait 850000 EXTCLK cycles before starting any
I2C communication.

Add such a delay, which does make the sporadic I2C NACK go away, so it is
likely similar constraint applies to this sensor.

[1] https://www.onsemi.com/pdf/datasheet/mt9m034-d.pdf

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-11-25 08:42:24 +00:00
..
adv748x media: adv748x: afe: Select input port when initializing AFE 2022-10-24 19:03:53 +02:00
ccs i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
cx25840 media: cx25840: Convert to i2c's .probe_new() 2022-11-21 11:04:28 +01:00
et8ek8 i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
m5mols media: m5mols: Convert to i2c's .probe_new() 2022-11-21 11:04:30 +01:00
s5c73m3 i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ad5820.c media: i2c/ad5820: Convert to i2c's .probe_new() 2022-11-21 11:04:24 +01:00
ad9389b.c media: i2c/ad9389b: Convert to i2c's .probe_new() 2022-11-21 11:04:24 +01:00
adp1653.c media: i2c/adp1653: Convert to i2c's .probe_new() 2022-11-21 11:04:25 +01:00
adv7170.c media: i2c/adv7170: Convert to i2c's .probe_new() 2022-11-21 11:04:25 +01:00
adv7175.c media: i2c/adv7175: Convert to i2c's .probe_new() 2022-11-21 11:04:25 +01:00
adv7180.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
adv7183_regs.h
adv7183.c media: i2c/adv7183: Convert to i2c's .probe_new() 2022-11-21 11:04:26 +01: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
adv7343.c i2c: Make remove callback return void 2022-08-16 12:46:26 +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
adv7393.c media: i2c/adv7393: Convert to i2c's .probe_new() 2022-11-21 11:04:26 +01:00
adv7511-v4l2.c media: i2c/adv7511-v4l2: Convert to i2c's .probe_new() 2022-11-21 11:04:26 +01:00
adv7604.c media updates for v6.1-rc1 2022-10-07 11:04:35 -07:00
adv7842.c media: i2c/adv7842: Convert to i2c's .probe_new() 2022-11-21 11:04:26 +01:00
ak881x.c media: i2c/ak881x: Convert to i2c's .probe_new() 2022-11-21 11:04:27 +01:00
ak7375.c i2c: Make remove callback return void 2022-08-16 12:46:26 +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 fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
bt819.c media: i2c/bt819: Convert to i2c's .probe_new() 2022-11-21 11:04:27 +01:00
bt856.c media: i2c/bt856: Convert to i2c's .probe_new() 2022-11-21 11:04:27 +01:00
bt866.c media: i2c/bt866: Convert to i2c's .probe_new() 2022-11-21 11:04:28 +01:00
ccs-pll.c Linux 5.11-rc6 2021-02-01 10:03:45 +01:00
ccs-pll.h media: ccs-pll: Switch from standard integer types to kernel ones 2021-01-12 17:55:28 +01:00
cs53l32a.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
cs3308.c media: i2c/cs3308: Convert to i2c's .probe_new() 2022-11-21 11:04:28 +01:00
cs5345.c media: i2c/cs5345: Convert to i2c's .probe_new() 2022-11-21 11:04:28 +01:00
dw9714.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
dw9768.c dw9768: Enable low-power probe on ACPI 2022-10-27 14:38:03 +03:00
dw9807-vcm.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
hi556.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
hi846.c media: i2c: hi846: Fix memory leak in hi846_parse_dt() 2022-10-25 10:37:03 +03:00
hi847.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx208.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx214.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx219.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx258.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx274.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx290.c media: i2c: imx290: Replace GAIN control with ANALOGUE_GAIN 2022-10-27 14:38:03 +03:00
imx319.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx334.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx335.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx355.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx412.c media: i2c: imx412: Add new compatible strings 2022-11-25 06:46:05 +00:00
ir-kbd-i2c.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
isl7998x.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
Kconfig media: tc358746: drop selecting COMMON_CLK 2022-11-25 08:37:34 +00:00
ks0127.c media: i2c/ks0127: Convert to i2c's .probe_new() 2022-11-21 11:04:29 +01:00
ks0127.h
lm3560.c media: i2c/lm3560: Convert to i2c's .probe_new() 2022-11-21 11:04:29 +01:00
lm3646.c media: i2c/lm3646: Convert to i2c's .probe_new() 2022-11-21 11:04:29 +01:00
m52790.c media: i2c/m52790: Convert to i2c's .probe_new() 2022-11-21 11:04:30 +01:00
Makefile media: tc358746: add Toshiba TC358746 Parallel to CSI-2 bridge driver 2022-10-27 14:48:40 +03:00
max2175.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
max2175.h
max9271.c media: i2c: max9271: Introduce wake_up() function 2021-06-17 11:30:21 +02:00
max9271.h media: i2c: max9271: Introduce wake_up() function 2021-06-17 11:30:21 +02:00
max9286.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ml86v7667.c media: i2c/ml86v7667: Convert to i2c's .probe_new() 2022-11-21 11:04:30 +01:00
msp3400-driver.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
msp3400-driver.h
msp3400-kthreads.c media: msp3400: use semicolons rather than commas to separate statements 2020-11-16 10:31:07 +01:00
mt9m001.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9m032.c media: i2c/mt9m032: Convert to i2c's .probe_new() 2022-11-21 11:04:31 +01:00
mt9m111.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9p031.c media: mt9p031: Increase post-reset delay 2022-11-25 08:42:24 +00:00
mt9t001.c media: i2c/mt9t001: Convert to i2c's .probe_new() 2022-11-21 11:04:31 +01:00
mt9t112.c media: i2c/mt9t112: Convert to i2c's .probe_new() 2022-11-21 11:04:31 +01:00
mt9v011.c media: i2c/mt9v011: Convert to i2c's .probe_new() 2022-11-21 11:04:31 +01:00
mt9v032.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9v111.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
noon010pc30.c media: i2c/noon010pc30: Convert to i2c's .probe_new() 2022-11-21 11:04:32 +01:00
og01a1b.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov02a10.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov08d10.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov08x40.c media: i2c: Add ov08x40 image sensor driver 2022-10-25 14:38:31 +03:00
ov13b10.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov772x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov2640.c media: ov2640: Drop legacy includes 2022-10-27 14:48:55 +03:00
ov2659.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov2680.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov2685.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov2740.c media: ov2740: Use traditional pattern when checking error codes 2022-11-25 08:40:05 +00:00
ov4689.c media: i2c: ov4689: code cleanup 2022-10-28 11:31:28 +03:00
ov5640.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
ov5645.c media: i2c: ov5645: Call ov5645_entity_init_cfg() before registering the subdev 2022-11-25 06:49:15 +00:00
ov5647.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov5648.c media: i2c: ov5648: Free V4L2 fwnode data on unbind 2022-10-25 14:34:49 +03:00
ov5670.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov5675.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov5693.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov5695.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov6650.c media: i2c/ov6650: Convert to i2c's .probe_new() 2022-11-21 11:04:32 +01:00
ov7251.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov7640.c media: i2c/ov7640: Convert to i2c's .probe_new() 2022-11-21 11:04:33 +01:00
ov7670.c media: ov7670: Drop unused include 2022-10-27 14:48:55 +03:00
ov7740.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov8856.c media: ov8856: Add runtime PM callbacks 2022-10-25 14:31:51 +03:00
ov8865.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
ov9282.c media: i2c: ov9282: Add support for regulators. 2022-11-25 08:41:10 +00:00
ov9640.c media: i2c/ov9640: Convert to i2c's .probe_new() 2022-11-21 11:04:33 +01:00
ov9640.h media: ov9640: Use the generic clock framework 2021-02-06 09:38:05 +01:00
ov9650.c media: ov9650: Drop platform data code path 2022-10-27 14:48:55 +03:00
ov9734.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov13858.c media: i2c/ov13858: Convert to i2c's .probe_new() 2022-11-21 11:04:32 +01:00
rdacm20.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rdacm21.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rj54n1cb0c.c media: i2c/rj54n1cb0c: Convert to i2c's .probe_new() 2022-11-21 11:04:33 +01:00
s5k4ecgx.c media: i2c/s5k4ecgx: Convert to i2c's .probe_new() 2022-11-21 11:04:33 +01:00
s5k5baf.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
s5k6a3.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
s5k6aa.c media: i2c/s5k6aa: Convert to i2c's .probe_new() 2022-11-21 11:04:34 +01:00
saa711x_regs.h
saa717x.c media: i2c/saa717x: Convert to i2c's .probe_new() 2022-11-21 11:04:35 +01:00
saa6588.c media: i2c/saa6588: Convert to i2c's .probe_new() 2022-11-21 11:04:34 +01:00
saa6752hs.c media: i2c/saa6752hs: Convert to i2c's .probe_new() 2022-11-21 11:04:34 +01:00
saa7110.c media: i2c/saa7110: Convert to i2c's .probe_new() 2022-11-21 11:04:35 +01:00
saa7115.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
saa7127.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
saa7185.c media: i2c/saa7185: Convert to i2c's .probe_new() 2022-11-21 11:04:35 +01:00
sony-btf-mpx.c media: i2c/sony-btf-mpx: Convert to i2c's .probe_new() 2022-11-21 11:04:36 +01:00
sr030pc30.c media: i2c/sr030pc30: Convert to i2c's .probe_new() 2022-11-21 11:04:36 +01:00
st-mipid02.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
st-vgxy61.c media: i2c: st-vgxy61: Fix regulator counter underflow 2022-11-25 08:40:21 +00:00
tc358743_regs.h
tc358743.c media updates for v6.1-rc1 2022-10-07 11:04:35 -07:00
tc358746.c media: tc358746: add Toshiba TC358746 Parallel to CSI-2 bridge driver 2022-10-27 14:48:40 +03:00
tda1997x_regs.h media: TDA1997x: replace video detection routine 2021-10-19 08:08:38 +01:00
tda1997x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tda7432.c media: i2c/tda7432: Convert to i2c's .probe_new() 2022-11-21 11:04:36 +01:00
tda9840.c media: i2c/tda9840: Convert to i2c's .probe_new() 2022-11-21 11:04:36 +01:00
tea6415c.c media: i2c/tea6415c: Convert to i2c's .probe_new() 2022-11-21 11:04:37 +01:00
tea6415c.h
tea6420.c media: i2c/tea6420: Convert to i2c's .probe_new() 2022-11-21 11:04:37 +01:00
tea6420.h
ths7303.c media: i2c/ths7303: Convert to i2c's .probe_new() 2022-11-21 11:04:37 +01:00
ths8200_regs.h
ths8200.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tlv320aic23b.c media: i2c/tlv320aic23b: Convert to i2c's .probe_new() 2022-11-21 11:04:38 +01:00
tvaudio.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tvp514x_regs.h media: media/i2c: fix kerneldoc issues for media i2c headers 2021-03-22 10:23:43 +01:00
tvp514x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tvp5150_reg.h
tvp5150.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tvp7002_reg.h
tvp7002.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tw2804.c media: i2c/tw2804: Convert to i2c's .probe_new() 2022-11-21 11:04:38 +01:00
tw9903.c media: i2c/tw9903: Convert to i2c's .probe_new() 2022-11-21 11:04:38 +01:00
tw9906.c media: i2c/tw9906: Convert to i2c's .probe_new() 2022-11-21 11:04:38 +01:00
tw9910.c media: i2c/tw9910: Convert to i2c's .probe_new() 2022-11-21 11:04:39 +01:00
uda1342.c media: i2c/uda1342: Convert to i2c's .probe_new() 2022-11-21 11:04:39 +01:00
upd64031a.c media: i2c/upd64031a: Convert to i2c's .probe_new() 2022-11-21 11:04:39 +01:00
upd64083.c media: i2c/upd64083: Convert to i2c's .probe_new() 2022-11-21 11:04:40 +01:00
video-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
vp27smpx.c media: i2c/vp27smpx: Convert to i2c's .probe_new() 2022-11-21 11:04:40 +01:00
vpx3220.c media: i2c/vpx3220: Convert to i2c's .probe_new() 2022-11-21 11:04:40 +01:00
vs6624_regs.h
vs6624.c media: i2c/vs6624: Convert to i2c's .probe_new() 2022-11-21 11:04:41 +01:00
wm8739.c media: i2c/wm8739: Convert to i2c's .probe_new() 2022-11-21 11:04:41 +01:00
wm8775.c media: i2c/wm8775: Convert to i2c's .probe_new() 2022-11-21 11:04:41 +01:00