exynos-linux-stable/drivers/media/i2c
Lars-Peter Clausen 95e5e7ed5a adv7604: Initialize drive strength to default when using DT
[ Upstream commit da8892d410db224d9a24104529794e6e37e0c100 ]

The adv7604 driver platform data contains fields for configuring the drive
strength of the output pins. When probing the driver through DT these
fields are not explicitly initialized, which means they are left at 0. This
is a reserved setting for the drive strength configuration though and can
cause signal integrity issues.

Whether these signal integrity issues are visible depends on the PCB
specifics (e.g. the higher the load capacitance for the output the more
visible the issue). But it has been observed on existing solutions at high
pixel clock rates.

Initialize the drive strength settings to the power-on-reset value of the
device when probing through devicetree to avoid this issue.

Fixes: 0e158be0162b ("adv7604: Add DT support")

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-15 15:53:10 +01:00
..
cx25840 [media] media/i2c: drop the last users of the ctrl core ops 2016-07-12 11:17:19 -03:00
m5mols [media] m5mols: potential uninitialized variable 2016-04-13 17:10:59 -03:00
s5c73m3 v4l: s5c73m3: fix negation operator 2017-08-06 18:59:43 -07:00
smiapp [media] smiapp: Add support for 14 and 16 bits per sample depths 2016-09-09 11:17:08 -03:00
soc_camera [media] media: mt9m111: move mt9m111 out of soc_camera 2016-09-09 10:41:17 -03:00
ad5820.c [media] ad5820: use __maybe_unused for PM functions 2016-09-19 16:25:13 -03:00
ad9389b.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
adp1653.c remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
adv7170.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
adv7175.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
adv7180.c [media] media: adv7180: fill in mbus format in set_fmt 2016-09-19 16:31:04 -03:00
adv7183.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
adv7183_regs.h [media] media_tree: Fix spelling errors 2013-12-09 14:50:50 -02:00
adv7343.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
adv7343_regs.h [media] drivers: media: i2c: adv7343_regs.h: Fix typo in #ifndef 2014-09-21 20:12:13 -03:00
adv7393.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
adv7393_regs.h
adv7511.c [media] adv7511: fix error return code in adv7511_probe() 2016-08-24 13:47:02 -03:00
adv7604.c adv7604: Initialize drive strength to default when using DT 2017-11-15 15:53:10 +01:00
adv7842.c [media] adv7604/adv7842: fix quantization range handling 2016-07-12 13:35:46 -03:00
ak881x.c [media] v4l2: remove g/s_crop from video ops 2016-08-24 09:46:09 -03:00
aptina-pll.c
aptina-pll.h
as3645a.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
bt819.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
bt856.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
bt866.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
cs53l32a.c [media] media/i2c: drop the last users of the ctrl core ops 2016-07-12 11:17:19 -03:00
cs3308.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
cs5345.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
ir-kbd-i2c.c rc: print correct variable for z8f0811 2016-11-11 08:45:08 -08:00
Kconfig s5k4ecgx: select CRC32 helper 2017-02-01 08:33:12 +01:00
ks0127.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
ks0127.h
lm3560.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
lm3646.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
m52790.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
Makefile [media] media: mt9m111: move mt9m111 out of soc_camera 2016-09-09 10:41:17 -03:00
ml86v7667.c [media] i2c: fix platform_no_drv_owner.cocci warnings 2015-10-03 11:39:48 -03:00
msp3400-driver.c [media] media/i2c: drop the last users of the ctrl core ops 2016-07-12 11:17:19 -03:00
msp3400-driver.h [media] msp3400: use IS_ENABLED check instead of #if 2016-02-02 14:28:56 -02:00
msp3400-kthreads.c [media] include/media: move driver interface headers to a separate dir 2015-11-17 06:57:29 -02:00
mt9m032.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
mt9m111.c [media] media: mt9m111: move mt9m111 out of soc_camera 2016-09-09 10:41:17 -03:00
mt9p031.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
mt9t001.c [media] v4l: mt9t001: fix clean up in case of power-on failures 2016-06-28 07:55:39 -03:00
mt9v011.c [media] mt9v011: add media controller support 2016-02-01 07:29:14 -02:00
mt9v032.c [media] v4l: mt9v032: Add V4L2 controls for AEC and AGC 2016-06-28 08:01:51 -03:00
noon010pc30.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
ov2659.c [media] media: i2c: ov2659: speedup probe if no device connected 2016-01-25 15:15:37 -02:00
ov7640.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
ov7670.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
ov9650.c [media] ov9650: add support for asynchronous probing 2016-09-19 16:20:02 -03:00
s5k4ecgx.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
s5k5baf.c [media] s5k5baf: Check v4l2_of_parse_endpoint() return value 2016-02-01 10:02:40 -02:00
s5k6a3.c [media] s5k6a3: Add missing entity function initialization 2016-09-22 10:15:16 -03:00
s5k6aa.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
saa711x_regs.h [media] saa7115: Implement i2c_board_info.platform_data 2013-08-18 08:27:07 -03:00
saa717x.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
saa6588.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
saa6752hs.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
saa7110.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
saa7115.c [media] media/i2c: drop the last users of the ctrl core ops 2016-07-12 11:17:19 -03:00
saa7127.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
saa7185.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
smiapp-pll.c [media] smiapp-pll: include linux/device.h in smiapp-pll.c, not in smiapp-pll.h 2014-12-23 11:29:01 -02:00
smiapp-pll.h [media] smiapp-pll: include linux/device.h in smiapp-pll.c, not in smiapp-pll.h 2014-12-23 11:29:01 -02:00
sony-btf-mpx.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
sr030pc30.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
tc358743.c [media] tc358743: Remove deprecated create_singlethread_workqueue 2016-07-08 15:01:18 -03:00
tc358743_regs.h [media] Driver for Toshiba TC358743 HDMI to CSI-2 bridge 2015-07-17 09:59:28 -03:00
tda7432.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tda9840.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tea6415c.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tea6415c.h
tea6420.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tea6420.h
ths7303.c [media] media: i2c: ths7303: remove redundant assignment on bt 2016-05-07 11:47:12 -03:00
ths8200.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
ths8200_regs.h [media] media: i2c: ths8200: driver for TI video encoder 2013-06-17 09:52:31 -03:00
tlv320aic23b.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
tvaudio.c [media] media/i2c: drop the last users of the ctrl core ops 2016-07-12 11:17:19 -03:00
tvp514x.c [media] constify local structures 2016-09-19 16:22:18 -03:00
tvp514x_regs.h
tvp5150.c v4l: tvp5150: Don't override output pinmuxing at stream on/off time 2017-02-01 08:33:10 +01:00
tvp5150_reg.h v4l: tvp5150: Fix comment regarding output pin muxing 2017-02-01 08:33:10 +01:00
tvp7002.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
tvp7002_reg.h
tw2804.c [media] v4l: subdev: Move [gs]_std operation to video ops 2014-05-24 17:11:26 -03:00
tw9903.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tw9906.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
uda1342.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
upd64031a.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
upd64083.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
vp27smpx.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
vpx3220.c [media] vpx3220: signedness bug in vpx3220_fp_read() 2016-02-01 07:59:43 -02:00
vs6624.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
vs6624_regs.h
wm8739.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
wm8775.c [media] media/i2c: drop the last users of the ctrl core ops 2016-07-12 11:17:19 -03:00