linux/drivers/media/i2c
Javier Martinez Canillas 09aa2609fe [media] tvp5150: Initialize the chip on probe
After power-up, the tvp5150 decoder is in a unknown state until the
RESETB pin is driven LOW which reset all the registers and restarts
the chip's internal state machine.

The init sequence has some timing constraints and the RESETB signal
can only be used if the PDN (Power-down) pin is first released.

So, the initialization sequence is as follows:

1- PDN (active-low) is driven HIGH so the chip is power-up
2- A 20 ms delay is needed before sending a RESETB (active-low) signal.
3- The RESETB pulse duration is 500 ns.
4- A 200 us delay is needed for the I2C client to be active after reset.

This patch used as a reference the logic in the IGEPv2 board file from
the ISEE 2.6.37 vendor tree.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-01-25 10:59:13 -02:00
..
cx25840 [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
m5mols [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
s5c73m3 [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
smiapp [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
soc_camera [media] soc_camera: constify v4l2_subdev_sensor_ops structures 2016-01-25 08:57:26 -02:00
ad9389b.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
adp1653.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02: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 framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
adv7183_regs.h [media] media_tree: Fix spelling errors 2013-12-09 14:50:50 -02:00
adv7183.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
adv7343.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
adv7393_regs.h
adv7393.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
adv7511.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
adv7604.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
adv7842.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
ak881x.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02: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] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
cs3308.c [media] cs3308: add new 8-channel volume control driver 2015-12-18 13:35:51 -02:00
cs5345.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
ir-kbd-i2c.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
Kconfig [media] cs3308: add new 8-channel volume control driver 2015-12-18 13:35:51 -02: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] cs3308: add new 8-channel volume control driver 2015-12-18 13:35:51 -02:00
ml86v7667.c [media] i2c: fix platform_no_drv_owner.cocci warnings 2015-10-03 11:39:48 -03:00
msp3400-driver.c [media] include/media: move driver interface headers to a separate dir 2015-11-17 06:57:29 -02:00
msp3400-driver.h [media] include/media: move driver interface headers to a separate dir 2015-11-17 06:57:29 -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
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] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
mt9v011.c [media] i2c: constify v4l2_ctrl_ops structures 2015-11-17 15:41:33 -02:00
mt9v032.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02: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 framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -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] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
s5k4ecgx.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
s5k5baf.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
s5k6a3.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02: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] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02: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_regs.h [media] Driver for Toshiba TC358743 HDMI to CSI-2 bridge 2015-07-17 09:59:28 -03:00
tc358743.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02: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] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
ths8200_regs.h [media] media: i2c: ths8200: driver for TI video encoder 2013-06-17 09:52:31 -03:00
ths8200.c [media] media: drop call to v4l2_device_unregister_subdev() 2015-03-03 11:21:41 -03:00
tlv320aic23b.c [media] media/i2c/tlv320aic23: Remove compat control ops 2015-07-06 08:25:54 -03:00
tvaudio.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
tvp514x_regs.h
tvp514x.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
tvp5150_reg.h
tvp5150.c [media] tvp5150: Initialize the chip on probe 2016-01-25 10:59:13 -02:00
tvp7002_reg.h
tvp7002.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
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] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
vs6624_regs.h
vs6624.c [media] v4l2: replace try_mbus_fmt by set_fmt 2015-05-01 08:48:49 -03:00
wm8739.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
wm8775.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00