summaryrefslogtreecommitdiffstats
path: root/drivers/media/i2c/adv7604.c
diff options
context:
space:
mode:
authorMikhail Khelik <mkhelik@cisco.com>2013-12-20 05:12:00 -0300
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-01-07 05:52:27 -0200
commitf31b62e14a000f4e7bf37ad8a84b13cb2079de21 (patch)
tree912992fbb8a45e7307e6fd851c9453627f64c9b2 /drivers/media/i2c/adv7604.c
parent4a31a93a71e9d5d32945aa6f9a5de59ce3be2b94 (diff)
[media] adv7604: add hdmi driver strength adjustment
The driver strength is board dependent, so set it from the platform_data. Signed-off-by: Mikhail Khelik <mkhelik@cisco.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/i2c/adv7604.c')
-rw-r--r--drivers/media/i2c/adv7604.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
index 6372d316e50..00ce2716e31 100644
--- a/drivers/media/i2c/adv7604.c
+++ b/drivers/media/i2c/adv7604.c
@@ -1942,7 +1942,12 @@ static int adv7604_core_init(struct v4l2_subdev *sd)
/* TODO from platform data */
cp_write(sd, 0x69, 0x30); /* Enable CP CSC */
io_write(sd, 0x06, 0xa6); /* positive VS and HS */
- io_write(sd, 0x14, 0x7f); /* Drive strength adjusted to max */
+
+ /* Adjust drive strength */
+ io_write(sd, 0x14, 0x40 | pdata->dr_str_data << 4 |
+ pdata->dr_str_clk << 2 |
+ pdata->dr_str_sync);
+
cp_write(sd, 0xba, (pdata->hdmi_free_run_mode << 1) | 0x01); /* HDMI free run */
cp_write(sd, 0xf3, 0xdc); /* Low threshold to enter/exit free run mode */
cp_write(sd, 0xf9, 0x23); /* STDI ch. 1 - LCVS change threshold -